From f0c611c5c8fb32e5d4292ea76b9c3f0625e20c5e Mon Sep 17 00:00:00 2001 From: Alexey Zholtikov Date: Fri, 30 Oct 2026 11:54:00 +0300 Subject: [PATCH] wip: --- main/zh_sim_race_button_box.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/main/zh_sim_race_button_box.c b/main/zh_sim_race_button_box.c index 62f7137..70df982 100755 --- a/main/zh_sim_race_button_box.c +++ b/main/zh_sim_race_button_box.c @@ -4,8 +4,6 @@ #define VALUE_CLAMP(v, lo, hi) ((v) < (lo) ? (lo) : ((v) > (hi) ? (hi) : (v))) #define CLEAR_ROW_CACHE() memset(_row_valid, 0, sizeof(_row_valid)) -#define VIEW_CELLS 5 - #define LABEL_BOOT_SCREEN "Boot: " #define LABEL_MAIN_SCREEN "Main: " #define LABEL_AIR_CONDITION_TEMP_ON "Temp ON: " @@ -101,7 +99,7 @@ static char _label_exit_channel_3_power[LCD_TOTAL_COLS + 1] = LABEL_EXIT_CHANNEL static char _label_exit_channel_4_power[LCD_TOTAL_COLS + 1] = LABEL_EXIT_CHANNEL_4_POWER; static char _label_bulb_brightness[LCD_TOTAL_COLS + 1] = LABEL_BULB_BRIGHTNESS; -zh_menu_node_t _main_menu = { +static zh_menu_node_t _main_menu = { .label = "Settings", .submenu = (zh_menu_node_t[]){ {.label = "Screens", .submenu = (zh_menu_node_t[]){ @@ -130,10 +128,10 @@ zh_menu_node_t _main_menu = { .item_numbers = 4, }; -static bool _prev_selected = false; static zh_menu_node_t *_last_node = NULL; static uint8_t _last_index = 0; static zh_menu_node_t *_cached_node = NULL; +static bool _prev_selected = false; static char _row_cache[LCD_TOTAL_ROWS][LCD_TOTAL_COLS] = {0}; static bool _row_valid[LCD_TOTAL_ROWS] = {0}; volatile static uint8_t _air_condition_temp_on = 30; @@ -192,8 +190,8 @@ static void _zh_load_settings(void) _exit_channel_power[2] = setting_data_blob.exit_channel_power[2]; _exit_channel_power[3] = setting_data_blob.exit_channel_power[3]; _bulb_brightness = setting_data_blob.bulb_brightness; - _boot_screen_number = setting_data_blob.boot_screen_number; - _main_screen_number = setting_data_blob.main_screen_number; + _boot_screen_number = VALUE_CLAMP(setting_data_blob.boot_screen_number, 0, ARRAY_SIZE(_boot_screens) - 1); + _main_screen_number = VALUE_CLAMP(setting_data_blob.main_screen_number, 0, ARRAY_SIZE(_main_screens) - 1); } static void _zh_save_settings(void) @@ -426,6 +424,7 @@ static void _zh_aht_processing_task(void *pvParameter) { _zh_draw_main_screen(); } + // Здесь будет управление кондеем. vTaskDelay(10000 / portTICK_PERIOD_MS); } vTaskDelete(NULL);