Bläddra i källkod

修改最小容量,需要处理当前容量

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 4 år sedan
förälder
incheckning
a5a7a09371
1 ändrade filer med 6 tillägg och 0 borttagningar
  1. 6 0
      Application/app/bms_message.c

+ 6 - 0
Application/app/bms_message.c

@@ -258,7 +258,13 @@ void process_bms_message(can_frame_t *frame, int len){
 			break;
 		}
 		case CAN_KEY_MIN_SOC:
+			get_soc()->coulomb_now -= get_soc()->coulomb_min;
+			if (get_soc()->coulomb_now < 0) {
+				get_soc()->coulomb_now = 0;
+			}
 			get_soc()->coulomb_min = (u32)frame->data[0] * 3600.0f;
+			get_soc()->coulomb_now += get_soc()->coulomb_min;
+			get_soc()->capacity =((get_soc()->coulomb_now - get_soc()->coulomb_min)/(get_soc()->coulomb_max - get_soc()->coulomb_min) + 0.005f) * 100;
 			nv_save_all_soc();
 			protocol_send_ack(frame->head.can_addr, frame->key, 1);
 			break;