aboutsummaryrefslogtreecommitdiff
path: root/mycan.c
diff options
context:
space:
mode:
Diffstat (limited to 'mycan.c')
-rw-r--r--mycan.c557
1 files changed, 293 insertions, 264 deletions
diff --git a/mycan.c b/mycan.c
index 4a786aa..e46c6af 100644
--- a/mycan.c
+++ b/mycan.c
@@ -103,8 +103,8 @@ int main(int argc, char **argv)
}
//4.Define receive rules
- // 24 (voltage) + 8 (temp)
- struct can_filter rfilter[32];
+ // 24 (voltage) + 12 (temp)
+ struct can_filter rfilter[36];
rfilter[0].can_id = 0x630;
rfilter[0].can_mask = CAN_SFF_MASK;
rfilter[24].can_id = 0x680;
@@ -114,9 +114,9 @@ int main(int argc, char **argv)
rfilter[i].can_id = rfilter[i-1].can_id+1;
rfilter[i].can_mask = CAN_SFF_MASK;
}
- for(int i=25;i<32;i++)
+ for(int i=25;i<36;i++)
{
- rfilter[i].can_id = rfilter[i-1].can_id+3;
+ rfilter[i].can_id = rfilter[i-1].can_id+1;
rfilter[i].can_mask = CAN_SFF_MASK;
}
setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, &rfilter, sizeof(rfilter));
@@ -127,6 +127,7 @@ int main(int argc, char **argv)
nbytes = read(s, &frame, sizeof(frame));
if(nbytes > 0) {
double out;
+ uint16_t iout;
FILE * fp;
// try FIFO, socket and other file types maybe better, not sure
@@ -148,268 +149,296 @@ int main(int argc, char **argv)
if(t>t_before)
{
t_before=t;
- //decode_can_0x630_BMS_Cell_4_Voltage(&obj,&out);
- //printf("my can_0x630_BMS_Cell_4_Voltage: %g\n", out);
- //decode_can_0x680_BMS_Section_4_Temp(&obj,&out);
- //printf("my decode_can_0x680_BMS_Section_4_Temp: %g\n", out);
// Maybe better if concat strings and print all at once
fprintf(fp,"%u",t);
- decode_can_0x630_BMS_Cell_4_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x630_BMS_Cell_3_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x630_BMS_Cell_2_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x630_BMS_Cell_1_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x631_BMS_Cell_8_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x631_BMS_Cell_7_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x631_BMS_Cell_6_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x631_BMS_Cell_5_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x632_BMS_Cell_12_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x632_BMS_Cell_11_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x632_BMS_Cell_10_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x632_BMS_Cell_9_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x633_BMS_Cell_4_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x633_BMS_Cell_3_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x633_BMS_Cell_2_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x633_BMS_Cell_1_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x634_BMS_Cell_8_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x634_BMS_Cell_7_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x634_BMS_Cell_6_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x634_BMS_Cell_5_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x635_BMS_Cell_12_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x635_BMS_Cell_11_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x635_BMS_Cell_10_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x635_BMS_Cell_9_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x636_BMS_Cell_4_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x636_BMS_Cell_3_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x636_BMS_Cell_2_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x636_BMS_Cell_1_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x637_BMS_Cell_8_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x637_BMS_Cell_7_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x637_BMS_Cell_6_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x637_BMS_Cell_5_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x638_BMS_Cell_12_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x638_BMS_Cell_11_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x638_BMS_Cell_10_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x638_BMS_Cell_9_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x639_BMS_Cell_4_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x639_BMS_Cell_3_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x639_BMS_Cell_2_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x639_BMS_Cell_1_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63a_BMS_Cell_8_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63a_BMS_Cell_7_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63a_BMS_Cell_6_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63a_BMS_Cell_5_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63b_BMS_Cell_12_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63b_BMS_Cell_11_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63b_BMS_Cell_10_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63b_BMS_Cell_9_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63c_BMS_Cell_4_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63c_BMS_Cell_3_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63c_BMS_Cell_2_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63c_BMS_Cell_1_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63d_BMS_Cell_8_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63d_BMS_Cell_7_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63d_BMS_Cell_6_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63d_BMS_Cell_5_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63e_BMS_Cell_12_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63e_BMS_Cell_11_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63e_BMS_Cell_10_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63e_BMS_Cell_9_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63f_BMS_Cell_4_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63f_BMS_Cell_3_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63f_BMS_Cell_2_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x63f_BMS_Cell_1_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x640_BMS_Cell_8_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x640_BMS_Cell_7_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x640_BMS_Cell_6_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x640_BMS_Cell_5_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x641_BMS_Cell_12_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x641_BMS_Cell_11_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x641_BMS_Cell_10_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x641_BMS_Cell_9_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x642_BMS_Cell_4_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x642_BMS_Cell_3_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x642_BMS_Cell_2_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x642_BMS_Cell_1_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x643_BMS_Cell_8_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x643_BMS_Cell_7_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x643_BMS_Cell_6_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x643_BMS_Cell_5_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x644_BMS_Cell_12_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x644_BMS_Cell_11_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x644_BMS_Cell_10_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x644_BMS_Cell_9_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x645_BMS_Cell_4_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x645_BMS_Cell_3_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x645_BMS_Cell_2_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x645_BMS_Cell_1_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x646_BMS_Cell_8_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x646_BMS_Cell_7_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x646_BMS_Cell_6_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x646_BMS_Cell_5_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x647_BMS_Cell_12_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x647_BMS_Cell_11_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x647_BMS_Cell_10_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x647_BMS_Cell_9_Voltage(&obj,&out);
- fprintf(fp,",%5.3f",out);
- decode_can_0x680_BMS_Section_4_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x680_BMS_Section_3_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x680_BMS_Section_2_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x680_BMS_Section_1_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x683_BMS_Section_4_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x683_BMS_Section_3_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x683_BMS_Section_2_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x683_BMS_Section_1_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x686_BMS_Section_4_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x686_BMS_Section_3_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x686_BMS_Section_2_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x686_BMS_Section_1_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x689_BMS_Section_4_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x689_BMS_Section_3_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x689_BMS_Section_2_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x689_BMS_Section_1_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x68c_BMS_Section_4_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x68c_BMS_Section_3_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x68c_BMS_Section_2_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x68c_BMS_Section_1_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x68f_BMS_Section_4_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x68f_BMS_Section_3_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x68f_BMS_Section_2_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x68f_BMS_Section_1_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x692_BMS_Section_4_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x692_BMS_Section_3_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x692_BMS_Section_2_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x692_BMS_Section_1_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x695_BMS_Section_4_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x695_BMS_Section_3_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x695_BMS_Section_2_Temp(&obj,&out);
- fprintf(fp,",%5.1f",out);
- decode_can_0x695_BMS_Section_1_Temp(&obj,&out);
- fprintf(fp,",%5.1f\n",out);
+ decode_can_0x630_BMS_M1_Cell_1_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x630_BMS_M1_Cell_2_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x630_BMS_M1_Cell_3_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x630_BMS_M1_Cell_4_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x631_BMS_M1_Cell_5_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x631_BMS_M1_Cell_6_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x631_BMS_M1_Cell_7_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x631_BMS_M1_Cell_8_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x632_BMS_M1_Cell_9_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x632_BMS_M1_Cell_10_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x632_BMS_M1_Cell_11_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x632_BMS_M1_Cell_12_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x633_BMS_M2_Cell_1_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x633_BMS_M2_Cell_2_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x633_BMS_M2_Cell_3_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x633_BMS_M2_Cell_4_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x634_BMS_M2_Cell_5_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x634_BMS_M2_Cell_6_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x634_BMS_M2_Cell_7_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x634_BMS_M2_Cell_8_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x635_BMS_M2_Cell_9_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x635_BMS_M2_Cell_10_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x635_BMS_M2_Cell_11_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x635_BMS_M2_Cell_12_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x636_BMS_M3_Cell_1_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x636_BMS_M3_Cell_2_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x636_BMS_M3_Cell_3_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x636_BMS_M3_Cell_4_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x637_BMS_M3_Cell_5_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x637_BMS_M3_Cell_6_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x637_BMS_M3_Cell_7_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x637_BMS_M3_Cell_8_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x638_BMS_M3_Cell_9_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x638_BMS_M3_Cell_10_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x638_BMS_M3_Cell_11_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x638_BMS_M3_Cell_12_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x639_BMS_M4_Cell_1_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x639_BMS_M4_Cell_2_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x639_BMS_M4_Cell_3_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x639_BMS_M4_Cell_4_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63a_BMS_M4_Cell_5_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63a_BMS_M4_Cell_6_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63a_BMS_M4_Cell_7_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63a_BMS_M4_Cell_8_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63b_BMS_M4_Cell_9_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63b_BMS_M4_Cell_10_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63b_BMS_M4_Cell_11_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63b_BMS_M4_Cell_12_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63c_BMS_M5_Cell_1_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63c_BMS_M5_Cell_2_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63c_BMS_M5_Cell_3_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63c_BMS_M5_Cell_4_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63d_BMS_M5_Cell_5_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63d_BMS_M5_Cell_6_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63d_BMS_M5_Cell_7_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63d_BMS_M5_Cell_8_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63e_BMS_M5_Cell_9_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63e_BMS_M5_Cell_10_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63e_BMS_M5_Cell_11_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63e_BMS_M5_Cell_12_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63f_BMS_M6_Cell_1_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63f_BMS_M6_Cell_2_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63f_BMS_M6_Cell_3_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x63f_BMS_M6_Cell_4_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x640_BMS_M6_Cell_5_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x640_BMS_M6_Cell_6_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x640_BMS_M6_Cell_7_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x640_BMS_M6_Cell_8_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x641_BMS_M6_Cell_9_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x641_BMS_M6_Cell_10_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x641_BMS_M6_Cell_11_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x641_BMS_M6_Cell_12_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x642_BMS_M7_Cell_1_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x642_BMS_M7_Cell_2_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x642_BMS_M7_Cell_3_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x642_BMS_M7_Cell_4_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x643_BMS_M7_Cell_5_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x643_BMS_M7_Cell_6_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x643_BMS_M7_Cell_7_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x643_BMS_M7_Cell_8_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x644_BMS_M7_Cell_9_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x644_BMS_M7_Cell_10_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x644_BMS_M7_Cell_11_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x644_BMS_M7_Cell_12_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x645_BMS_M8_Cell_1_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x645_BMS_M8_Cell_2_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x645_BMS_M8_Cell_3_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x645_BMS_M8_Cell_4_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x646_BMS_M8_Cell_5_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x646_BMS_M8_Cell_6_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x646_BMS_M8_Cell_7_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x646_BMS_M8_Cell_8_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x647_BMS_M8_Cell_9_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x647_BMS_M8_Cell_10_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x647_BMS_M8_Cell_11_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x647_BMS_M8_Cell_12_Voltage(&obj,&out);
+ fprintf(fp,",%6.4f",out);
+ decode_can_0x680_BMS_M1_Cell_1_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x680_BMS_M1_Cell_2_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x680_BMS_M1_Cell_3_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x680_BMS_M1_Cell_4_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x681_BMS_M1_Cell_5_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x681_BMS_M1_Cell_6_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x681_BMS_M1_Cell_7_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x681_BMS_M1_Cell_8_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x682_BMS_M1_Cell_9_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x682_BMS_M1_Cell_10_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x682_BMS_M1_Cell_11_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x682_BMS_M1_Cell_12_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x683_BMS_M2_Cell_1_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x683_BMS_M2_Cell_2_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x683_BMS_M2_Cell_3_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x683_BMS_M2_Cell_4_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x684_BMS_M2_Cell_5_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x684_BMS_M2_Cell_6_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x684_BMS_M2_Cell_7_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x684_BMS_M2_Cell_8_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x685_BMS_M2_Cell_9_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x685_BMS_M2_Cell_10_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x685_BMS_M2_Cell_11_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x685_BMS_M2_Cell_12_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x686_BMS_M3_Cell_1_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x686_BMS_M3_Cell_2_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x686_BMS_M3_Cell_3_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x686_BMS_M3_Cell_4_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x687_BMS_M3_Cell_5_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x687_BMS_M3_Cell_6_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x687_BMS_M3_Cell_7_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x687_BMS_M3_Cell_8_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x688_BMS_M3_Cell_9_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x688_BMS_M3_Cell_10_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x688_BMS_M3_Cell_11_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x688_BMS_M3_Cell_12_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x689_BMS_M4_Cell_1_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x689_BMS_M4_Cell_2_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x689_BMS_M4_Cell_3_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x689_BMS_M4_Cell_4_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x68a_BMS_M4_Cell_5_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x68a_BMS_M4_Cell_6_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x68a_BMS_M4_Cell_7_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x68a_BMS_M4_Cell_8_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x68b_BMS_M4_Cell_9_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x68b_BMS_M4_Cell_10_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x68b_BMS_M4_Cell_11_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu",iout);
+ decode_can_0x68b_BMS_M4_Cell_12_Temperature(&obj,&iout);
+ fprintf(fp,",%3hu\n",iout);
}
fclose(fp);