Mon, 06 Apr 2020 10:42:08 +0200
Added screen with software error counters.
CMakeLists.txt | file | annotate | diff | comparison | revisions | |
main/co2meter.c | file | annotate | diff | comparison | revisions | |
main/config.h | file | annotate | diff | comparison | revisions | |
main/task_user.c | file | annotate | diff | comparison | revisions |
--- a/CMakeLists.txt Sun Apr 05 19:17:17 2020 +0200 +++ b/CMakeLists.txt Mon Apr 06 10:42:08 2020 +0200 @@ -2,7 +2,7 @@ # in this exact order for cmake to work correctly cmake_minimum_required(VERSION 3.5) -set(PROJECT_VER "0.2.3") +set(PROJECT_VER "0.2.4") set(PROJECT_NAME "co2meter") include($ENV{IDF_PATH}/tools/cmake/project.cmake)
--- a/main/co2meter.c Sun Apr 05 19:17:17 2020 +0200 +++ b/main/co2meter.c Mon Apr 06 10:42:08 2020 +0200 @@ -28,7 +28,7 @@ extern EventGroupHandle_t xEventGroupUser; extern int count_pub; ///< Published MQTT messages in transit extern uint32_t AlarmTimer; ///< Alarm timer - +extern uint32_t err_connect; ///< Connect error counter void app_main() @@ -160,6 +160,7 @@ if (! ready_WiFi()) { /* If WiFi was lost, try a new connection */ ESP_LOGI(TAG, "Try WiFi restore"); request_WiFi(); + err_connect++; } break;
--- a/main/config.h Sun Apr 05 19:17:17 2020 +0200 +++ b/main/config.h Mon Apr 06 10:42:08 2020 +0200 @@ -89,6 +89,7 @@ ML2_NETWORK, ///< Network status ML2_MQTT, ///< MQTT status ML2_UPDATE, ///< Update + ML2_COUNTERS, ///< Counters display ML2_SETUP_UNIT1, ///< Unit 1 setup ML2_SETUP_UNIT2, ///< Unit 2 setup ML2_SETUP_UNIT3, ///< Unit 3 setup
--- a/main/task_user.c Sun Apr 05 19:17:17 2020 +0200 +++ b/main/task_user.c Mon Apr 06 10:42:08 2020 +0200 @@ -28,6 +28,9 @@ int num_ssids = 0; ///< Number of SSIDs we know struct strStations editAP; ///< Data of station to edit char sensors[DS18B20_MAX][17]; ///< Sensors to select +uint32_t err_connect = 0; ///< Connect error count +uint32_t err_alarm = 0; ///< Alarm watchdog error count + extern const esp_app_desc_t *app_desc; ///< App description extern unit_t units[3]; ///< Pressure test units @@ -80,6 +83,7 @@ if (AlarmTimer == 1) { ESP_LOGI(TAG, "Alarm Timer timeout"); Main_Loop1 = ML1_INIT; + err_alarm++; } if (AlarmTimer) { @@ -705,6 +709,19 @@ +/* + * @brief The counters display screen. + */ +void screen_counters() +{ + screen_top("Software tellers"); + menu_line(0, 1, 25, "Network %d", err_connect); + menu_line(0, 1, 37, "Watchdog %d", err_alarm); + u8g2_SendBuffer(&u8g2); +} + + + /** * @brief Interrupt service routine for the rotary pushbutton. */ @@ -902,6 +919,10 @@ screen_update(); break; + case ML2_COUNTERS: + screen_counters(); + break; + case ML2_SETUP_UNIT1: case ML2_SETUP_UNIT2: case ML2_SETUP_UNIT3: @@ -953,7 +974,8 @@ case ML2_WIFI: rotate_to_menu(event.state.position, ML2_NETWORK, ML2_UNIT3); break; case ML2_NETWORK: rotate_to_menu(event.state.position, ML2_MQTT, ML2_WIFI); break; case ML2_MQTT: rotate_to_menu(event.state.position, ML2_UPDATE, ML2_NETWORK); break; - case ML2_UPDATE: rotate_to_menu(event.state.position, ML2_UPDATE, ML2_MQTT); break; + case ML2_UPDATE: rotate_to_menu(event.state.position, ML2_COUNTERS, ML2_MQTT); break; + case ML2_COUNTERS: rotate_to_menu(event.state.position, ML2_COUNTERS, ML2_UPDATE); break; case ML2_SETUP_UNIT1: case ML2_SETUP_UNIT2: case ML2_SETUP_UNIT3: if (rotate_to_sub(event.state.position, 3, &SubMenu, &SubOffset)) @@ -1311,11 +1333,12 @@ if (xEventGroupGetBits(xEventGroupUser) & TASK_USER_REFRESH) { xEventGroupClearBits(xEventGroupUser, TASK_USER_REFRESH); switch (Main_Loop2) { - case ML2_USER: screen_main(); break; - case ML2_UNIT1: screen_unit(0); break; - case ML2_UNIT2: screen_unit(1); break; - case ML2_UNIT3: screen_unit(2); break; - case ML2_WIFI: screen_wifi(); break; + case ML2_USER: screen_main(); break; + case ML2_UNIT1: screen_unit(0); break; + case ML2_UNIT2: screen_unit(1); break; + case ML2_UNIT3: screen_unit(2); break; + case ML2_WIFI: screen_wifi(); break; + case ML2_COUNTERS: screen_counters(); break; } }