|
|
@@ -27,6 +27,7 @@ uint8_t QD_switch_from = 0;
|
|
|
static shark_bool shark_bms_acc2_enabled;
|
|
|
static u16 shark_bms_acc2_error_times;
|
|
|
static u16 shark_bms_acc2_work_times;
|
|
|
+static u16 shark_bms_acc2_oc_times;
|
|
|
|
|
|
void QD_Enable_From(uint8_t on,uint8_t from)
|
|
|
{
|
|
|
@@ -68,6 +69,7 @@ void ACC2_PWM(void)
|
|
|
#else
|
|
|
if (shark_bms_acc2_work_times < 200) {
|
|
|
if (shark_bms_acc2_enabled == shark_false) {
|
|
|
+ println("acc2 close");
|
|
|
shark_bms_acc2_work_times = 0xFFFF;
|
|
|
QD_Enable_From(0, 9);
|
|
|
} else if (ACC2_Over_Loader_Dect()) {
|
|
|
@@ -89,8 +91,9 @@ void ACC2_PWM(void)
|
|
|
shark_bms_acc2_work_times++;
|
|
|
|
|
|
if (shark_bms_acc2_work_times == 200) {
|
|
|
- println("acc2 ready%d %d", ACC2_Dect(), shark_bms_acc2_error_times);
|
|
|
+ println("acc2 ready%d %d %d", ACC2_Dect(), shark_bms_acc2_error_times, shark_bms_acc2_oc_times);
|
|
|
shark_bms_acc2_error_times = 0;
|
|
|
+ shark_bms_acc2_oc_times = 0;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -104,6 +107,7 @@ void ACC2_Enable_Force(uint8_t on)
|
|
|
shark_bms_acc2_enabled = on;
|
|
|
shark_bms_acc2_error_times = 0;
|
|
|
shark_bms_acc2_work_times = 0;
|
|
|
+ shark_bms_acc2_oc_times = 0;
|
|
|
|
|
|
shark_bms_set_vgs(SHARK_BMS_VGS_ACC2, on);
|
|
|
gpio_bit_write(GPIO_PORT_ACC2_EN, GPIO_PIN_ACC2_EN, (bit_status) on);
|
|
|
@@ -382,6 +386,7 @@ void EXTI10_15_IRQHandler(void)
|
|
|
exti_interrupt_flag_clear(EXTI_14);
|
|
|
gpio_bit_reset(GPIO_PORT_ACC2_EN, GPIO_PIN_ACC2_EN);
|
|
|
shark_bms_acc2_work_times = 0;
|
|
|
+ shark_bms_acc2_oc_times++;
|
|
|
over_12V = 1;
|
|
|
}
|
|
|
if (RESET != exti_interrupt_flag_get(EXTI_15))
|