From 9e946d9b4e29a393037fa119ce4436172c464b9e Mon Sep 17 00:00:00 2001 From: zwsd Date: Tue, 27 Sep 2022 10:43:18 +0800 Subject: [PATCH] update --- main/app_main.cpp | 1 + main/light.c | 34 ++++++++++++++++++++++++++++++---- main/light.h | 6 ++++-- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/main/app_main.cpp b/main/app_main.cpp index 428df13..3026b21 100644 --- a/main/app_main.cpp +++ b/main/app_main.cpp @@ -130,6 +130,7 @@ extern "C" void app_main(void) while (true) { T_debug_light_schedule(); + T_light_flash_schedule(); T_key_schedule(); T_heating_plate_schedule(); T_reaction_schedule(); diff --git a/main/light.c b/main/light.c index 102573b..d62ddfc 100644 --- a/main/light.c +++ b/main/light.c @@ -14,6 +14,9 @@ #include "esp_log.h" #include "port.h" +#define DEBUG_LIGHT_TOGGLE_TIME 300 +#define OTHER_LIGHT_TOGGLE_TIME 500 + #define GPIO_DEBUG_LIGHT 12 #define GPIO_POWER_LIGHT 12 #define GPIO_HEATING_PLATE_STATE_LIGHT 12 @@ -39,9 +42,9 @@ void T_debug_light_init(void) gpio_config(&gpio_debug_light_init_structer); } -void T_debug_light_toggle_level(void) +void T_light_toggle_level(uint8_t io_num) { - gpio_set_level(GPIO_DEBUG_LIGHT, !gpio_get_level(GPIO_DEBUG_LIGHT)); + gpio_set_level(io_num, !gpio_get_level(GPIO_DEBUG_LIGHT)); } // Power light @@ -107,9 +110,32 @@ void T_wifi_state_light_init(wifi_state_light_structer_t *wifi_state_light_struc void T_debug_light_schedule(void) { static uint32_t debug_light_time; - if (port_haspassedms(debug_light_time) > 300) + if (port_haspassedms(debug_light_time) > DEBUG_LIGHT_TOGGLE_TIME) + { + T_light_toggle_level(GPIO_DEBUG_LIGHT); + debug_light_time = port_get_ticket(); + } +} + +void T_light_flash_schedule(void) +{ + static uint32_t debug_light_time; + if (port_haspassedms(debug_light_time) > OTHER_LIGHT_TOGGLE_TIME) { - T_debug_light_toggle_level(); + if (heating_plate_state_light_structer_s->state == Heating) + { + T_light_toggle_level(GPIO_HEATING_PLATE_STATE_LIGHT); + } + + if (reaction_state_light_structer_s->state == Reacting) + { + T_light_toggle_level(GPIO_REACTION_STATE_LIGHT); + } + + if (wifi_state_light_structer_s->state == Connecting) + { + T_light_toggle_level(GPIO_WIFI_STATE_LIGHT); + } debug_light_time = port_get_ticket(); } } diff --git a/main/light.h b/main/light.h index bb67a4c..86eb2f8 100644 --- a/main/light.h +++ b/main/light.h @@ -1,6 +1,7 @@ #pragma once #include +#include typedef enum { @@ -55,7 +56,7 @@ typedef struct // Debug light void T_debug_light_init(void); -void T_debug_light_toggle_level(void); +void T_light_toggle_level(uint8_t io_num); // Power light void T_power_light_init(power_state_light_structer_t *power_state_light_structer); @@ -70,4 +71,5 @@ void T_reaction_state_light_init(reaction_state_light_structer_t *reaction_state void T_wifi_state_light_init(wifi_state_light_structer_t *wifi_state_light_structer); // Schedule -void T_debug_light_schedule(void); \ No newline at end of file +void T_debug_light_schedule(void); +void T_light_flash_schedule(void); \ No newline at end of file