26 struct strStations APs[10]; ///< List of APs we know |
26 struct strStations APs[10]; ///< List of APs we know |
27 int edit_ssid = 0; ///< SSID being edited |
27 int edit_ssid = 0; ///< SSID being edited |
28 int num_ssids = 0; ///< Number of SSIDs we know |
28 int num_ssids = 0; ///< Number of SSIDs we know |
29 struct strStations editAP; ///< Data of station to edit |
29 struct strStations editAP; ///< Data of station to edit |
30 char sensors[DS18B20_MAX][17]; ///< Sensors to select |
30 char sensors[DS18B20_MAX][17]; ///< Sensors to select |
|
31 uint32_t err_connect = 0; ///< Connect error count |
|
32 uint32_t err_alarm = 0; ///< Alarm watchdog error count |
|
33 |
31 |
34 |
32 extern const esp_app_desc_t *app_desc; ///< App description |
35 extern const esp_app_desc_t *app_desc; ///< App description |
33 extern unit_t units[3]; ///< Pressure test units |
36 extern unit_t units[3]; ///< Pressure test units |
34 extern SemaphoreHandle_t xSemaphoreUnits; ///< Units lock semaphore |
37 extern SemaphoreHandle_t xSemaphoreUnits; ///< Units lock semaphore |
35 extern DS18B20_State *ds18b20_state; ///< DS18B20 state |
38 extern DS18B20_State *ds18b20_state; ///< DS18B20 state |
698 u8g2_DrawUTF8(&u8g2,2,30, m1); |
702 u8g2_DrawUTF8(&u8g2,2,30, m1); |
699 } |
703 } |
700 if (m2) { |
704 if (m2) { |
701 u8g2_DrawUTF8(&u8g2,2,55, m2); |
705 u8g2_DrawUTF8(&u8g2,2,55, m2); |
702 } |
706 } |
|
707 u8g2_SendBuffer(&u8g2); |
|
708 } |
|
709 |
|
710 |
|
711 |
|
712 /* |
|
713 * @brief The counters display screen. |
|
714 */ |
|
715 void screen_counters() |
|
716 { |
|
717 screen_top("Software tellers"); |
|
718 menu_line(0, 1, 25, "Network %d", err_connect); |
|
719 menu_line(0, 1, 37, "Watchdog %d", err_alarm); |
703 u8g2_SendBuffer(&u8g2); |
720 u8g2_SendBuffer(&u8g2); |
704 } |
721 } |
705 |
722 |
706 |
723 |
707 |
724 |
900 |
917 |
901 case ML2_UPDATE: |
918 case ML2_UPDATE: |
902 screen_update(); |
919 screen_update(); |
903 break; |
920 break; |
904 |
921 |
|
922 case ML2_COUNTERS: |
|
923 screen_counters(); |
|
924 break; |
|
925 |
905 case ML2_SETUP_UNIT1: |
926 case ML2_SETUP_UNIT1: |
906 case ML2_SETUP_UNIT2: |
927 case ML2_SETUP_UNIT2: |
907 case ML2_SETUP_UNIT3: |
928 case ML2_SETUP_UNIT3: |
908 ESP_LOGI(TAG, "Loop user: Setup Unit %d", Main_Loop2 - ML2_SETUP_UNIT1); |
929 ESP_LOGI(TAG, "Loop user: Setup Unit %d", Main_Loop2 - ML2_SETUP_UNIT1); |
909 SubMenu = SubOffset = 0; |
930 SubMenu = SubOffset = 0; |
951 case ML2_UNIT2: rotate_to_menu(event.state.position, ML2_UNIT3, ML2_UNIT1); break; |
972 case ML2_UNIT2: rotate_to_menu(event.state.position, ML2_UNIT3, ML2_UNIT1); break; |
952 case ML2_UNIT3: rotate_to_menu(event.state.position, ML2_WIFI, ML2_UNIT2); break; |
973 case ML2_UNIT3: rotate_to_menu(event.state.position, ML2_WIFI, ML2_UNIT2); break; |
953 case ML2_WIFI: rotate_to_menu(event.state.position, ML2_NETWORK, ML2_UNIT3); break; |
974 case ML2_WIFI: rotate_to_menu(event.state.position, ML2_NETWORK, ML2_UNIT3); break; |
954 case ML2_NETWORK: rotate_to_menu(event.state.position, ML2_MQTT, ML2_WIFI); break; |
975 case ML2_NETWORK: rotate_to_menu(event.state.position, ML2_MQTT, ML2_WIFI); break; |
955 case ML2_MQTT: rotate_to_menu(event.state.position, ML2_UPDATE, ML2_NETWORK); break; |
976 case ML2_MQTT: rotate_to_menu(event.state.position, ML2_UPDATE, ML2_NETWORK); break; |
956 case ML2_UPDATE: rotate_to_menu(event.state.position, ML2_UPDATE, ML2_MQTT); break; |
977 case ML2_UPDATE: rotate_to_menu(event.state.position, ML2_COUNTERS, ML2_MQTT); break; |
|
978 case ML2_COUNTERS: rotate_to_menu(event.state.position, ML2_COUNTERS, ML2_UPDATE); break; |
957 case ML2_SETUP_UNIT1: |
979 case ML2_SETUP_UNIT1: |
958 case ML2_SETUP_UNIT2: |
980 case ML2_SETUP_UNIT2: |
959 case ML2_SETUP_UNIT3: if (rotate_to_sub(event.state.position, 3, &SubMenu, &SubOffset)) |
981 case ML2_SETUP_UNIT3: if (rotate_to_sub(event.state.position, 3, &SubMenu, &SubOffset)) |
960 screen_unit_setup(Main_Loop2 - ML2_SETUP_UNIT1, SubMenu); |
982 screen_unit_setup(Main_Loop2 - ML2_SETUP_UNIT1, SubMenu); |
961 break; |
983 break; |
1309 menu_change(); |
1331 menu_change(); |
1310 |
1332 |
1311 if (xEventGroupGetBits(xEventGroupUser) & TASK_USER_REFRESH) { |
1333 if (xEventGroupGetBits(xEventGroupUser) & TASK_USER_REFRESH) { |
1312 xEventGroupClearBits(xEventGroupUser, TASK_USER_REFRESH); |
1334 xEventGroupClearBits(xEventGroupUser, TASK_USER_REFRESH); |
1313 switch (Main_Loop2) { |
1335 switch (Main_Loop2) { |
1314 case ML2_USER: screen_main(); break; |
1336 case ML2_USER: screen_main(); break; |
1315 case ML2_UNIT1: screen_unit(0); break; |
1337 case ML2_UNIT1: screen_unit(0); break; |
1316 case ML2_UNIT2: screen_unit(1); break; |
1338 case ML2_UNIT2: screen_unit(1); break; |
1317 case ML2_UNIT3: screen_unit(2); break; |
1339 case ML2_UNIT3: screen_unit(2); break; |
1318 case ML2_WIFI: screen_wifi(); break; |
1340 case ML2_WIFI: screen_wifi(); break; |
|
1341 case ML2_COUNTERS: screen_counters(); break; |
1319 } |
1342 } |
1320 } |
1343 } |
1321 |
1344 |
1322 if (xQueueReceive(event_queue, &event, 100 / portTICK_PERIOD_MS) == pdTRUE) { |
1345 if (xQueueReceive(event_queue, &event, 100 / portTICK_PERIOD_MS) == pdTRUE) { |
1323 UserTimer = INACTIVITY; |
1346 UserTimer = INACTIVITY; |