diff --git a/MDK-ARM/LWIP.uvguix.29643 b/MDK-ARM/LWIP.uvguix.29643 index f7fc782..9fd3fb9 100644 --- a/MDK-ARM/LWIP.uvguix.29643 +++ b/MDK-ARM/LWIP.uvguix.29643 @@ -3633,9 +3633,9 @@ ..\usersrc\encoder.c - 13 - 9 - 12 + 0 + 63 + 86 1 0 diff --git a/usersrc/encoder.c b/usersrc/encoder.c index 058fd9b..3494217 100644 --- a/usersrc/encoder.c +++ b/usersrc/encoder.c @@ -83,15 +83,7 @@ void encoder_light_schedule(void) if (sys_haspassedms(camera_encoder_lastprocess) > 500) { camera_encoder_lastprocess = HAL_GetTick(); - if (camera_encoder_light_state) - { - encoder_light_switch_set_color_and_brightness(CAMERA_ENCODER, ENCODER_LIGHT_COLOR_BLUE, encoder_light_max_brightness); - } - else - { - encoder_switch_close_light(CAMERA_ENCODER); - } - camera_encoder_light_state = !camera_encoder_light_state; + encoder_switch_toggle_on_off_state(CAMERA_ENCODER); } } @@ -100,15 +92,7 @@ void encoder_light_schedule(void) if (sys_haspassedms(driven_encoder_gear_lastprocess) > 500) { driven_encoder_gear_lastprocess = HAL_GetTick(); - if (driven_encoder_light_state) - { - encoder_light_switch_set_color_and_brightness(DRIVEN_ENCODER_GEAR, ENCODER_LIGHT_COLOR_BLUE, encoder_light_max_brightness); - } - else - { - encoder_switch_close_light(DRIVEN_ENCODER_GEAR); - } - driven_encoder_light_state = !driven_encoder_light_state; + encoder_switch_toggle_on_off_state(DRIVEN_ENCODER_GEAR); } } } @@ -122,7 +106,7 @@ void encoder_set_state(encoder_usage_t encoder, encoder_light_state_t state) if (state == STANDBY) { camera_encoder_lastprocess = HAL_GetTick(); - // HAL_GPIO_TogglePin(ENCODER_LIGHT_GPIO_Port, ENCODER_LIGHT_Pin); + encoder_switch_toggle_on_off_state(CAMERA_ENCODER); } else if (state == WORKING) { @@ -136,7 +120,7 @@ void encoder_set_state(encoder_usage_t encoder, encoder_light_state_t state) if (state == STANDBY) { driven_encoder_gear_lastprocess = HAL_GetTick(); - // HAL_GPIO_TogglePin(ENCODER_LIGHT_GPIO_Port, ENCODER_LIGHT_Pin); + encoder_switch_toggle_on_off_state(DRIVEN_ENCODER_GEAR); } else if (state == WORKING) { @@ -283,3 +267,35 @@ void encoder_switch_close_light(encoder_usage_t encoder) // error } } + +void encoder_switch_toggle_on_off_state(encoder_usage_t encoder) +{ + if (encoder == CAMERA_ENCODER) + { + if (camera_encoder_light_state) + { + encoder_switch_close_light(CAMERA_ENCODER); + } + else + { + encoder_light_switch_set_color_and_brightness(CAMERA_ENCODER, ENCODER_LIGHT_COLOR_BLUE, encoder_light_max_brightness); + } + camera_encoder_light_state = !camera_encoder_light_state; + } + else if (encoder == DRIVEN_ENCODER_GEAR) + { + if (driven_encoder_light_state) + { + encoder_switch_close_light(DRIVEN_ENCODER_GEAR); + } + else + { + encoder_light_switch_set_color_and_brightness(DRIVEN_ENCODER_GEAR, ENCODER_LIGHT_COLOR_BLUE, encoder_light_max_brightness); + } + driven_encoder_light_state = !driven_encoder_light_state; + } + else + { + // error + } +} diff --git a/usersrc/encoder.h b/usersrc/encoder.h index a8801f9..bd9bfd8 100644 --- a/usersrc/encoder.h +++ b/usersrc/encoder.h @@ -43,3 +43,4 @@ void encoder_all_encoder_clear_counter_and_structer_count(void); void encoder_switch_encoder_clear_count_and_structer_count(encoder_usage_t encoder); void encoder_light_switch_set_color_and_brightness(encoder_usage_t encoder, encoder_light_color_table_t color, uint16_t brightness); void encoder_switch_close_light(encoder_usage_t encoder); +void encoder_switch_toggle_on_off_state(encoder_usage_t encoder);