Hi Orbiter,
In order to print on Serial terminal diagnostic info please replace main_core0 function with:
void main_core0(void) {
char message[15];
AEK_POW_BMS63EN_module_t AEK_POW_BMS63EN_BatteryModule;
uint8_t cell_idx = 0;
/* Enable Interrupts */
irqIsrEnable();
sd_lld_start(&SD5,&serial_config_BMS_serial);
/* Application main loop.*/
for ( ; ; ) {
if((osalThreadGetMilliseconds()%100)==0){
AEK_POW_BMS63EN_BatteryModule = AEK_POW_BMS63EN_GetModule(i_device_disp);
//SOC Elaboration Done
sprintf(message, "DEV:%d \n", (int)(i_device_disp+1));
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
//Printing SOC
for(cell_idx = AEK_POW_BMS63EN_CELL1; cell_idx <= AEK_POW_BMS63EN_CELL14; cell_idx ++){
sprintf(message, "T%.2d:%.3f ", cell_idx+1, AEK_POW_BMS63EN_BatteryModule.AEK_POW_BMS63EN_Pack_CellTemperatureNTC[cell_idx]);
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
}
sprintf(message," \n");
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
//Printing Bal
for(cell_idx = AEK_POW_BMS63EN_CELL1; cell_idx <= AEK_POW_BMS63EN_CELL14; cell_idx ++){
sprintf(message, "B%.2d:%.3d ", cell_idx+1, AEK_POW_BMS63EN_BatteryModule.AEK_POW_BMS63EN_Pack_Bal_cmd[cell_idx]);
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
}
sprintf(message," \n");
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
//Printing Voltage
for(cell_idx = AEK_POW_BMS63EN_CELL1; cell_idx <= AEK_POW_BMS63EN_CELL14; cell_idx ++){
sprintf(message, "V%.2d:%.3f ", cell_idx+1, AEK_POW_BMS63EN_BatteryModule.AEK_POW_BMS63EN_Pack_CellVoltage[cell_idx]);
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
}
sprintf(message," \n");
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
//Printing Current
sprintf(message, "C:%.4f \n", AEK_POW_BMS63EN_BatteryModule.AEK_POW_BMS63EN_Pack_Current);
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
//Printing Current
sprintf(message, "F1:%d \n", AEK_POW_BMS63EN_BatteryModule.AEK_POW_BMS63EN_Fault1_data);
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
sprintf(message, "F2:%d \n", AEK_POW_BMS63EN_BatteryModule.AEK_POW_BMS63EN_Fault2_data);
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
sprintf(message, "VOV:%d \n", AEK_POW_BMS63EN_BatteryModule.AEK_POW_BMS63EN_VcellOV_Fault_data);
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
sprintf(message, "VIUV:%d \n", AEK_POW_BMS63EN_BatteryModule.AEK_POW_BMS63EN_VcellUV_Fault_data);
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
sprintf(message, "OVL:%d \n", AEK_POW_BMS63EN_BatteryModule.AEK_POW_BMS63EN_OverLatch);
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
sprintf(message, "GPIOF:%d \n", AEK_POW_BMS63EN_BatteryModule.AEK_POW_BMS63EN_GPIOOTUT_Fault_data);
sd_lld_write(&SD5, (uint8_t *)message, (uint16_t)(sizeof(message)/sizeof(message[0])));
}
}
}
Moreover, please, make sure that cell 9 is connected to cell 12.
Best Regards,
AutoDevKit Team.