Эх сурвалжийг харах

powerdown close all LED

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 5 жил өмнө
parent
commit
8ee5911dab

+ 2 - 10
Application/app/key_leds.c

@@ -30,11 +30,7 @@ static void led_irq_timer_handler(shark_timer_t *timer) {
 	if (bms_state_get()->charging) {
 		return;
 	}
-	LED0_ON(1);
-	LED1_ON(1);
-	LED2_ON(1);
-	LED3_ON(1);
-	LED4_ON(1);
+	LED_ALL_ON(1);
 	led_on_mask = 0x1F;
 	shark_timer_cancel(&_led_stop_timer);
 	shark_timer_post(&_led_timer, 500);
@@ -117,11 +113,7 @@ void show_leds_for_charging(uint8_t charging){
 
 static void gpio_key_timer_handler(shark_timer_t *timer) {
 	if (timer == &_led_stop_timer) {
-		LED0_ON(0);
-		LED1_ON(0);
-		LED2_ON(0);
-		LED3_ON(0);
-		LED4_ON(0);
+		LED_ALL_ON(0);
 		return;
 	}
 	

+ 1 - 1
Application/app/sox/soc.c

@@ -173,12 +173,12 @@ int soc_update_by_ocv(void){
 				if (_soc.capacity && (bms_health()->powerdown_lower_voltage || bms_health()->sigle_cell_lower_voltage || bms_health()->discharger_lower_voltage)) {
 					if (can_modify_min_cap()){
 						_soc.coulomb_min = _soc.coulomb_now; //已经校准过了,而且电池在常温下进入powerdown,最小容量修正为当前容量
+						soc_warning("calicablite coulomb_min %f\n", _soc.coulomb_min);
 					}else {
 						_soc.coulomb_now = _soc.coulomb_min;
 					}
 					_soc.capacity = 0;
 					changed = 1;
-					soc_warning("current coulomb %f\n", _soc.coulomb_now);
 				}
 			}
 		}

+ 1 - 0
Application/app/sox/state.c

@@ -313,6 +313,7 @@ static void _process_power_down(void){
 				return;
 			}
 		}
+		LED_ALL_ON(0);
 		CS1180_PWR_ENABLE(0);
 		DCDC_VOL_OPEN(0);
 		ml5238_power_down();

+ 3 - 0
Application/bsp/gpio.h

@@ -71,6 +71,9 @@ void gpio_init(void);
 #define UART0_IR_EN(x) RS485_PWR_ENABLE(x)
 #define UART1_IR_EN(x) {}
 #endif
+
+#define LED_ALL_ON(x) {LED0_ON(x); LED1_ON(x); LED2_ON(x); LED3_ON(x); LED4_ON(x);}
+
 static __inline__ void gpio_mode_analog_input(uint32_t gpio_periph, uint32_t pin){
 	gpio_mode_set(gpio_periph, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, pin);
 }

+ 2 - 8
Application/bsp/mcu_power_sleep.c

@@ -54,15 +54,9 @@ static void wait_for_enter_dsleep(void){
 	volatile uint32_t wait = 1000 * 30;
 	while(wait--> 0);
 }
-static void close_all_leds(void){
-	LED0_ON(0);
-	LED1_ON(0);
-	LED2_ON(0);
-	LED3_ON(0);
-	LED4_ON(0);
-}
+
 static int pre_deepsleep(void){
-	close_all_leds();
+	LED_ALL_ON(0);
 	systick_close();
 	shark_uart_deinit(SHARK_UART0);
 #if (CONFIG_BOARD_TYPE==SHARK_BOARD_SP700)