|
@@ -26,6 +26,8 @@ extern void sendMQTTMessage(const char * topic, const char * data);
|
|
|
|
|
|
extern void sendHTTPMessage(const double inData, const uint32_t bigCnt, const int32_t cnt);
|
|
|
|
|
|
+void displayTask(void *pvParameters);
|
|
|
+
|
|
|
// Chip info:
|
|
|
// This is esp32 chip with 2 CPU cores, WiFi/BT/BLE, silicon revision 1, 4MB external flash
|
|
|
|
|
@@ -57,16 +59,15 @@ void app_main(void)
|
|
|
xTaskCreate(serialRxTask, "Serial_RX_Task", 10000, NULL, 10, NULL);
|
|
|
#endif
|
|
|
|
|
|
-#ifdef ENABLE_SSD1306
|
|
|
- i2c_master_init();
|
|
|
- oled_ssd1306_init();
|
|
|
-#endif
|
|
|
-
|
|
|
char dataStr[100];
|
|
|
double kWh = 0.0;
|
|
|
uint32_t bigCnt = 0;
|
|
|
int32_t cnt = 0;
|
|
|
|
|
|
+ xTaskCreate(displayTask, "OLED-Task", 1024*10, NULL, 2, NULL);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
while( true ) {
|
|
|
|
|
|
|
|
@@ -89,3 +90,35 @@ void app_main(void)
|
|
|
}
|
|
|
esp_restart();
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+void displayTask(void *pvParameters) {
|
|
|
+
|
|
|
+#ifdef ENABLE_SSD1306
|
|
|
+
|
|
|
+ i2c_master_init();
|
|
|
+ oled_ssd1306_init();
|
|
|
+
|
|
|
+ vTaskDelay(100 / portTICK_PERIOD_MS);
|
|
|
+ SSD1306_SetPosition(4,18);
|
|
|
+ SSD1306_DrawVertLine(29,0,128);
|
|
|
+ SSD1306_Puts("Home Energy Meter", &Font_7x10,SSD1306_COLOR_WHITE);
|
|
|
+ SSD1306_SetPosition(4,31);
|
|
|
+ SSD1306_Puts("v1.0", &Font_7x10,SSD1306_COLOR_WHITE);
|
|
|
+ SSD1306_UpdateScreen();
|
|
|
+ vTaskDelay(3000 / portTICK_PERIOD_MS);
|
|
|
+
|
|
|
+ SSD1306_Clear();
|
|
|
+ SSD1306_SetPosition(0,0);
|
|
|
+ SSD1306_Puts("Temp A:", &Font_7x10,SSD1306_COLOR_WHITE);
|
|
|
+ SSD1306_SetPosition(0,11);
|
|
|
+ SSD1306_Puts("Temp B:", &Font_7x10,SSD1306_COLOR_WHITE);
|
|
|
+ SSD1306_SetPosition(0,22);
|
|
|
+ SSD1306_Puts("ADC Vpp:", &Font_7x10,SSD1306_COLOR_WHITE);
|
|
|
+ SSD1306_SetPosition(0,33);
|
|
|
+ SSD1306_Puts("Pulses:", &Font_7x10,SSD1306_COLOR_WHITE);
|
|
|
+ SSD1306_UpdateScreen();
|
|
|
+
|
|
|
+#endif
|
|
|
+ vTaskDelete(NULL);
|
|
|
+}
|