Skip to content

Commit ded98af

Browse files
Update OLED_OAT example
1 parent 16d78d7 commit ded98af

File tree

2 files changed

+47
-58
lines changed

2 files changed

+47
-58
lines changed

examples/OLED/OTA_OLED/OTA_OLED.ino

Lines changed: 41 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
/*
22
* HelTec Automation(TM) WIFI_LoRa_32 factory test code, witch includ
33
* follow functions:
4-
*
4+
*
55
* - Basic OLED function test;
6-
*
6+
*
77
* - Basic serial port test(in baud rate 115200);
8-
*
8+
*
99
* - Basic LED test;
10-
*
10+
*
1111
* - WIFI join and scan test;
12-
*
12+
*
1313
* - ArduinoOTA By Wifi;
14-
*
14+
*
1515
* - Timer test and some other Arduino basic functions.
1616
*
1717
* by lxyzn from HelTec AutoMation, ChengDu, China
@@ -104,9 +104,15 @@ void setupOTA()
104104
//int pro = progress / (total / 100);
105105

106106
Heltec.display->clear();
107-
Heltec.display->drawProgressBar(0, 32, 120, 10, progressbar); // draw the progress bar
107+
#ifdef Wireless_Stick
108+
Heltec.display->drawProgressBar(0, 11, 64, 8, progressbar); // draw the progress bar
109+
Heltec.display->setTextAlignment(TEXT_ALIGN_CENTER); // draw the percentage as String
110+
Heltec.display->drawString(10, 20, pro);
111+
#elif
112+
Heltec.display->drawProgressBar(0, 32, 120, 10, progressbar); // draw the progress bar
108113
Heltec.display->setTextAlignment(TEXT_ALIGN_CENTER); // draw the percentage as String
109114
Heltec.display->drawString(64, 15, pro);
115+
#endif
110116
Heltec.display->display();
111117

112118
Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
@@ -125,53 +131,33 @@ void setupOTA()
125131

126132
case OTA_BEGIN_ERROR:
127133
info += "Begin Failed";
128-
Serial.println("Begin Failed");
134+
Serial.println("Begin Failed");
129135
break;
130136

131137
case OTA_CONNECT_ERROR:
132138
info += "Connect Failed";
133-
Serial.println("Connect Failed");
139+
Serial.println("Connect Failed");
134140
break;
135141

136142
case OTA_RECEIVE_ERROR:
137143
info += "Receive Failed";
138-
Serial.println("Receive Failed");
144+
Serial.println("Receive Failed");
139145
break;
140146

141147
case OTA_END_ERROR:
142148
info += "End Failed";
143-
Serial.println("End Failed");
149+
Serial.println("End Failed");
144150
break;
145151
}
146152

147153
Heltec.display->clear();
148-
Heltec.display->drawString(0, 0, info);
154+
Heltec.display->drawString(0, 0, info);
149155
ESP.restart();
150156
});
151157

152158
ArduinoOTA.begin();
153159
}
154160

155-
/********************************************************************
156-
* setup oled
157-
*/
158-
void setupOLED()
159-
{
160-
pinMode(RST_OLED, OUTPUT);
161-
//复位OLED电路
162-
digitalWrite(RST_OLED, LOW); // turn D16 low to reset OLED
163-
delay(50);
164-
digitalWrite(RST_OLED, HIGH); // while OLED is running, must set D16 in high
165-
166-
Heltec.display->init();
167-
Heltec.display->flipScreenVertically(); //倒过来显示内容
168-
Heltec.display->setFont(ArialMT_Plain_10); //设置字体大小
169-
Heltec.display->setTextAlignment(TEXT_ALIGN_LEFT);//设置字体对齐方式
170-
171-
Heltec.display->clear();
172-
Heltec.display->drawString(0, 0, "Initialize...");
173-
}
174-
175161
/*********************************************************************
176162
* setup wifi
177163
*/
@@ -181,14 +167,14 @@ void setupWIFI()
181167
Heltec.display->drawString(0, 0, "Connecting...");
182168
Heltec.display->drawString(0, 10, String(ssid));
183169
Heltec.display->display();
184-
170+
185171
//连接WiFi,删除旧的配置,关闭WIFI,准备重新配置
186172
WiFi.disconnect(true);
187173
delay(1000);
188-
189-
WiFi.mode(WIFI_STA);
190-
//WiFi.onEvent(WiFiEvent);
191-
WiFi.setAutoConnect(true);
174+
175+
WiFi.mode(WIFI_STA);
176+
//WiFi.onEvent(WiFiEvent);
177+
WiFi.setAutoConnect(true);
192178
WiFi.setAutoReconnect(true); //断开WiFi后自动重新连接,ESP32不可用
193179
//WiFi.setHostname(HOSTNAME);
194180
WiFi.begin(ssid, password);
@@ -208,36 +194,35 @@ void setupWIFI()
208194

209195
Heltec.display->clear();
210196
if(WiFi.status() == WL_CONNECTED)
211-
Heltec.display->drawString(0, 0, "Connecting...OK.");
197+
Heltec.display->drawString(0, 0, "Connected");
212198
else
213-
Heltec.display->drawString(0, 0, "Connecting...Failed");
199+
Heltec.display->drawString(0, 0, "Connect False");
214200
Heltec.display->display();
215201
}
216202

217203
/******************************************************
218204
* arduino setup
219205
*/
220-
void setup()
206+
void setup()
221207
{
222208
Heltec.begin(true /*DisplayEnable Enable*/, false /*LoRa Disable*/, true /*Serial Enable*/);
223209
pinMode(25, OUTPUT);
224210
digitalWrite(25,HIGH);
225-
211+
226212
while (!Serial) {
227213
; // wait for serial port to connect. Needed for native USB port only
228214
}
229215

230216
Serial.println("Initialize...");
231-
232-
setupOLED();
217+
233218
setupWIFI();
234219
setupOTA();
235220
}
236221

237222
/******************************************************
238223
* arduino loop
239224
*/
240-
void loop()
225+
void loop()
241226
{
242227
ArduinoOTA.handle();
243228
unsigned long ms = millis();
@@ -250,48 +235,49 @@ void loop()
250235
/****************************************************
251236
* [通用函数]ESP32 WiFi Kit 32事件处理
252237
*/
253-
void WiFiEvent(WiFiEvent_t event)
238+
void WiFiEvent(WiFiEvent_t event)
254239
{
255240
Serial.printf("[WiFi-event] event: %d\n", event);
256-
switch(event)
241+
switch(event)
257242
{
258243
case SYSTEM_EVENT_WIFI_READY: /**< ESP32 WiFi ready */
259244
break;
260245
case SYSTEM_EVENT_SCAN_DONE: /**< ESP32 finish scanning AP */
261246
break;
262-
247+
263248
case SYSTEM_EVENT_STA_START: /**< ESP32 station start */
264249
break;
265250
case SYSTEM_EVENT_STA_STOP: /**< ESP32 station stop */
266251
break;
267-
252+
268253
case SYSTEM_EVENT_STA_CONNECTED: /**< ESP32 station connected to AP */
269254
break;
270-
255+
271256
case SYSTEM_EVENT_STA_DISCONNECTED: /**< ESP32 station disconnected from AP */
272257
break;
273-
258+
274259
case SYSTEM_EVENT_STA_AUTHMODE_CHANGE: /**< the auth mode of AP connected by ESP32 station changed */
275260
break;
276-
261+
277262
case SYSTEM_EVENT_STA_GOT_IP: /**< ESP32 station got IP from connected AP */
278263
case SYSTEM_EVENT_STA_LOST_IP: /**< ESP32 station lost IP and the IP is reset to 0 */
279264
break;
280-
265+
281266
case SYSTEM_EVENT_STA_WPS_ER_SUCCESS: /**< ESP32 station wps succeeds in enrollee mode */
282267
case SYSTEM_EVENT_STA_WPS_ER_FAILED: /**< ESP32 station wps fails in enrollee mode */
283268
case SYSTEM_EVENT_STA_WPS_ER_TIMEOUT: /**< ESP32 station wps timeout in enrollee mode */
284269
case SYSTEM_EVENT_STA_WPS_ER_PIN: /**< ESP32 station wps pin code in enrollee mode */
285270
break;
286-
271+
287272
case SYSTEM_EVENT_AP_START: /**< ESP32 soft-AP start */
288273
case SYSTEM_EVENT_AP_STOP: /**< ESP32 soft-AP stop */
289274
case SYSTEM_EVENT_AP_STACONNECTED: /**< a station connected to ESP32 soft-AP */
290275
case SYSTEM_EVENT_AP_STADISCONNECTED: /**< a station disconnected from ESP32 soft-AP */
291276
case SYSTEM_EVENT_AP_PROBEREQRECVED: /**< Receive probe request packet in soft-AP interface */
292277
case SYSTEM_EVENT_AP_STA_GOT_IP6: /**< ESP32 station or ap interface v6IP addr is preferred */
278+
case SYSTEM_EVENT_AP_STAIPASSIGNED:
293279
break;
294-
280+
295281
case SYSTEM_EVENT_ETH_START: /**< ESP32 ethernet start */
296282
case SYSTEM_EVENT_ETH_STOP: /**< ESP32 ethernet stop */
297283
case SYSTEM_EVENT_ETH_CONNECTED: /**< ESP32 ethernet phy link up */
@@ -300,4 +286,4 @@ void WiFiEvent(WiFiEvent_t event)
300286
case SYSTEM_EVENT_MAX:
301287
break;
302288
}
303-
}
289+
}

src/oled/OLEDDisplay.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,17 @@ OLEDDisplay::~OLEDDisplay() {
3636

3737
bool OLEDDisplay::init() {
3838
if (!this->connect()) {
39-
DEBUG_OLEDDISPLAY("[OLEDDISPLAY][init] Can't establish connection to display\n");
39+
//DEBUG_OLEDDISPLAY("[OLEDDISPLAY][init] Can't establish connection to display\n");
40+
Serial.print("Can't establish connection to display\n");
4041
return false;
4142
}
4243

4344
if(this->buffer==NULL) {
4445
this->buffer = (uint8_t*) malloc(sizeof(uint8_t) * displayBufferSize);
4546

4647
if(!this->buffer) {
47-
DEBUG_OLEDDISPLAY("[OLEDDISPLAY][init] Not enough memory to create display\n");
48+
//DEBUG_OLEDDISPLAY("[OLEDDISPLAY][init] Not enough memory to create display\n");
49+
Serial.print("Not enough memory to create display\n");
4850
return false;
4951
}
5052
}
@@ -54,7 +56,8 @@ bool OLEDDisplay::init() {
5456
this->buffer_back = (uint8_t*) malloc(sizeof(uint8_t) * displayBufferSize);
5557

5658
if(!this->buffer_back) {
57-
DEBUG_OLEDDISPLAY("[OLEDDISPLAY][init] Not enough memory to create back buffer\n");
59+
//DEBUG_OLEDDISPLAY("[OLEDDISPLAY][init] Not enough memory to create back buffer\n");
60+
Serial.print("Not enough memory to create back buffer\n");
5861
free(this->buffer);
5962
return false;
6063
}

0 commit comments

Comments
 (0)