# HG changeset patch # User Michiel Broek # Date 1586162528 -7200 # Node ID 90a36619b07b35cef5175a7d036fae7f8f6d1a6b # Parent 5035385299f6b309c0dd2e4fb37f91c7f0c2fe44 Added screen with software error counters. diff -r 5035385299f6 -r 90a36619b07b CMakeLists.txt --- 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) diff -r 5035385299f6 -r 90a36619b07b main/co2meter.c --- 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; diff -r 5035385299f6 -r 90a36619b07b main/config.h --- 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 diff -r 5035385299f6 -r 90a36619b07b main/task_user.c --- 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; } }