#include "displayAndSend.h" #include "ssd1306.h" #include "ssd1306_driver.h" #include "esp_log.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "freertos/semphr.h" #include "freertos/queue.h" #ifdef ENABLE_SSD1306 void displayAndSendTask(void *pvParameters) { ESP_LOGI("DISPLAY", "displayAndSendTask starting"); 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(); vTaskDelete(NULL); } void initDisplayAndSend() { xTaskCreate(displayAndSendTask, "MQTT-Task", 1024*10, NULL, 2, NULL); } #endif