|
|
@@ -478,6 +478,14 @@ void Sub_BMS_1_lt_State(void)
|
|
|
|
|
|
}
|
|
|
|
|
|
+void SetBmsErrNum1(uint8_t num)
|
|
|
+{
|
|
|
+ if (test_info.ti_bms_1.bms_err_num != num) {
|
|
|
+ test_info.ti_bms_1.bms_err_num = num;
|
|
|
+ Save_Test_Info();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
uint8_t Is_Sub_BMS_1_Normal(void)
|
|
|
{
|
|
|
uint16_t work_sta = sub_bms_info_1.packet_common.work_status;
|
|
|
@@ -510,31 +518,47 @@ uint8_t Is_Sub_BMS_1_Normal(void)
|
|
|
break;
|
|
|
}*/
|
|
|
|
|
|
- if(update_bat.ub_bat == UPDATE_BAT_1)
|
|
|
+ if(update_bat.ub_bat == UPDATE_BAT_1) {
|
|
|
+ SetBmsErrNum1(1);
|
|
|
break;
|
|
|
+ }
|
|
|
|
|
|
- if(define_bms_1_error != D_BMS_ERROR_NO)
|
|
|
+ if(define_bms_1_error != D_BMS_ERROR_NO) {
|
|
|
+ SetBmsErrNum1(2);
|
|
|
break;
|
|
|
+ }
|
|
|
|
|
|
- if((cb_operate_state == CB_BAT1_BAT2_SERIES)&&(BAT1_IS_OPEN() == 0))
|
|
|
+ if((cb_operate_state == CB_BAT1_BAT2_SERIES)&&(BAT1_IS_OPEN() == 0)) {
|
|
|
+ SetBmsErrNum1(3);
|
|
|
break;
|
|
|
- if(Is_Soak())
|
|
|
+ }
|
|
|
+
|
|
|
+ if(Is_Soak()) {
|
|
|
+ SetBmsErrNum1(4);
|
|
|
break;
|
|
|
+ }
|
|
|
|
|
|
- if(SUB_BMS_1_DEC() == 0)
|
|
|
+ if(SUB_BMS_1_DEC() == 0) {
|
|
|
+ SetBmsErrNum1(5);
|
|
|
break;
|
|
|
+ }
|
|
|
|
|
|
if(work_sta)
|
|
|
{
|
|
|
- bms_1_work_status = sub_bms_info_1.packet_common.work_status;
|
|
|
+ bms_1_work_status = sub_bms_info_1.packet_common.work_status;
|
|
|
+ SetBmsErrNum1(6);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- if(sub_bms_1_lt_state != SUB_BMS_CONT_HV485)
|
|
|
+ if(sub_bms_1_lt_state != SUB_BMS_CONT_HV485) {
|
|
|
+ SetBmsErrNum1(7);
|
|
|
break;
|
|
|
+ }
|
|
|
|
|
|
- if(bms_1_test_define_error != 0)
|
|
|
+ if(bms_1_test_define_error != 0) {
|
|
|
+ SetBmsErrNum1(8);
|
|
|
break;
|
|
|
+ }
|
|
|
|
|
|
return 1;
|
|
|
}while(0);
|