@@ -40,10 +40,8 @@ int bmsParseMsg(uint32_t id, uint8_t *msg) {
4040 bms_t * bms = data -> bms ;
4141 switch (id ) {
4242 case 0x6B0 :
43- bms -> packCurrent = msg [1 ] | msg [0 ] << 8 ;
44- bms -> packCurrent /= 10 ;
45- bms -> packVoltage = msg [3 ] | msg [2 ] << 8 ;
46- bms -> packVoltage /= 10 ;
43+ bms -> packCurrent = (msg [1 ] | msg [0 ] << 8 )/10 ;
44+ bms -> packVoltage = (msg [3 ] | msg [2 ] << 8 )/10 ;
4745 bms -> Soc = msg [4 ]/2 ;
4846 bms -> relayStatus = msg [6 ] | msg [5 ] << 8 ;
4947 bms -> cellMaxVoltage = ((msg [5 ] << 8 )| msg [6 ]) /10000.0 ;
@@ -68,8 +66,7 @@ int bmsParseMsg(uint32_t id, uint8_t *msg) {
6866/* printf("ID: 0x%3lx\r\n", (long unsigned int) id);*/
6967 bms -> relayStatus = msg [1 ] | msg [0 ] << 8 ;
7068 bms -> relayStatus = msg [0 ];
71- bms -> inputVoltage = msg [2 ] | (msg [3 ] << 8 );
72- bms -> inputVoltage /= 10 ;
69+ bms -> inputVoltage = (msg [2 ] | (msg [3 ] << 8 ))/10 ;
7370#ifdef DEBUG_BMS
7471 printf ("Relay status %d\r\n" , bms -> relayStatus );
7572 printf ("Input Source Supply Voltage: %f\r\n" , bms -> inputVoltage );
@@ -109,8 +106,7 @@ int bmsParseMsg(uint32_t id, uint8_t *msg) {
109106 bms -> Soc /= 2 ;
110107 bms -> packResistance = msg [1 ] | (msg [2 ] << 8 );
111108 bms -> packHealth = msg [3 ];
112- bms -> packOpenVoltage = msg [4 ] | (msg [5 ] << 8 );
113- bms -> packOpenVoltage /= 10 ;
109+ bms -> packOpenVoltage = (msg [4 ] | (msg [5 ] << 8 ))/10 ;
114110 bms -> packCycles = msg [6 ] | (msg [7 ] << 8 );
115111#ifdef DEBUG_BMS
116112 printf ("SOC %d\r\n" , bms -> Soc );
@@ -121,12 +117,6 @@ int bmsParseMsg(uint32_t id, uint8_t *msg) {
121117#endif
122118 break ;
123119 case 0x150 :
124-
125- /* bms->avgTemp = msg[0];*/
126- bms -> packCurrent /= 10 ;
127- /* bms->cellMinVoltage = ((msg[3] << 8) | msg[4]) / 10000.0;*/
128- /* bms->packVoltage = msg[2] | (msg[3] << 8);*/
129- /* bms->packVoltage /= 10;*/
130120 bms -> packAh = msg [4 ] | (msg [5 ] << 8 );
131121 bms -> highTemp = msg [6 ];
132122 bms -> lowTemp = msg [7 ];
0 commit comments