Просмотр исходного кода

解决能量为负,导致剩余里程不准的问题

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 4 лет назад
Родитель
Сommit
bfaafb2c1c
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      Application/app/bms_message.c

+ 5 - 1
Application/app/bms_message.c

@@ -69,7 +69,11 @@ void process_bms_message(can_frame_t *frame, int len){
 		case CAN_KEY_BMS_BASE_INFO:{
 			binfo_cmd_resp_t bresp;
 			bresp.capacity = get_soc()->capacity;
-			bresp.energy = get_soc()->coulomb_now - get_soc()->coulomb_min;
+			if (get_soc()->coulomb_now >= get_soc()->coulomb_min) {
+				bresp.energy = get_soc()->coulomb_now - get_soc()->coulomb_min;
+			}else{
+				bresp.energy = 0;
+			}
 			bresp.pack_current = measure_value()->load_current;
 			bresp.pack_voltage = bms_state_get()->pack_voltage;
 			bresp.max_temp = -100;