|
@@ -31,6 +31,8 @@ void CanTask(void *pvParameters)
|
|
|
xTimerStart(monitorTimer1ms, 0);
|
|
|
BaseType_t ret = pdFALSE;
|
|
|
GsensorInit();
|
|
|
+ UINT32 BmsPwrOnConuter = 0;
|
|
|
+ Dio_LevelType StdFlgret= STD_OFF;
|
|
|
while (1)
|
|
|
{
|
|
|
do
|
|
@@ -39,6 +41,7 @@ void CanTask(void *pvParameters)
|
|
|
ret = xQueueReceive(CanRecvQueueHandle, &CanRxMsg, 1);
|
|
|
if (ret == pdPASS)
|
|
|
{
|
|
|
+ canMsgNoRecvCounter = 0;
|
|
|
if (IsJumptoBootloader(CanRxMsg.id, CanRxMsg.data))
|
|
|
{
|
|
|
DoRoutinePositiveAnswer();
|
|
@@ -59,9 +62,31 @@ void CanTask(void *pvParameters)
|
|
|
}
|
|
|
if ((TimerCounter - timerCounterNow) > 100)
|
|
|
{
|
|
|
+ canMsgNoRecvCounter++;
|
|
|
BcuRxDiagnose();
|
|
|
timerCounterNow = TimerCounter;
|
|
|
ADC_ReadValue();
|
|
|
+ if(StdFlgret == STD_ON)
|
|
|
+ {
|
|
|
+ BmsPwrOnConuter++;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ BmsPwrOnConuter = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if (canMsgNoRecvCounter >= 10 * 60 * 60)
|
|
|
+ {
|
|
|
+ canMsgNoRecvCounter = 0;
|
|
|
+ Dio_WriteChannel(DioConf_DioChannel_PTA11_GPIO_OUT_MCU_BMS_WAKEUP_EN, STD_ON);
|
|
|
+ StdFlgret = STD_ON;
|
|
|
+ }
|
|
|
+ if(BmsPwrOnConuter >= 10 * 60 * 5)
|
|
|
+ {
|
|
|
+ Dio_WriteChannel(DioConf_DioChannel_PTA11_GPIO_OUT_MCU_BMS_WAKEUP_EN, STD_OFF);
|
|
|
+ BmsPwrOnConuter = 0;
|
|
|
+ StdFlgret = STD_OFF;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -70,347 +95,540 @@ void BcuDecodeFunction(uint32 ID, uint8 *rawData)
|
|
|
{
|
|
|
switch (ID)
|
|
|
{
|
|
|
- case 0x1801D0F3:
|
|
|
- BMS_ReqVIN = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0x3);
|
|
|
- BMS_ReqHVOff = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 2) & 0x3);
|
|
|
+ case 0x721:
|
|
|
+ VcuBcuOperModReq = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0x1);
|
|
|
BcuRxFlag[0] = 0x01;
|
|
|
break;
|
|
|
- case 0x1801D8F3:
|
|
|
- BMS_SoftwareVersion = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
- BMS_HardwareVersion = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
- BMS_ProtocolEditionH = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0x3);
|
|
|
- BMS_ProtocolEditionL = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 2) & 0xF);
|
|
|
+ case 0x830:
|
|
|
+ BcuSoc = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuErrCode = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuErrRank = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xF);
|
|
|
+ BcuErrNum = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0x7F);
|
|
|
+ BcuUpAlw = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 7) & 0x1);
|
|
|
+ BcuInsulationR = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFF);
|
|
|
+ BcuOperMod = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 4) & 0xF);
|
|
|
BcuRxFlag[1] = 0x01;
|
|
|
break;
|
|
|
- case 0x1880D0F3:
|
|
|
- BMS_CharDevNum = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xF);
|
|
|
- BMS_FtPosRly = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 4) & 0x1);
|
|
|
- BMS_FtNegRly = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 5) & 0x1);
|
|
|
- BMS_FtPosCharRly1 = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 6) & 0x1);
|
|
|
- BMS_FtNegCharRly1 = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 7) & 0x1);
|
|
|
- BMS_FtPosCharRly2 = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0x1);
|
|
|
- BMS_FtNegCharRly2 = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 1) & 0x1);
|
|
|
- BMS_FtHeatRly1 = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 2) & 0x1);
|
|
|
- BMS_FtHeatRly2 = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 3) & 0x1);
|
|
|
- BMS_StPosRly = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 4) & 0x3);
|
|
|
- BMS_StNegRly = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 6) & 0x3);
|
|
|
- BMS_StPreCharRly = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0x3);
|
|
|
- BMS_StPosCharRly1 = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 2) & 0x3);
|
|
|
- BMS_StNegCharRly1 = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 4) & 0x3);
|
|
|
- BMS_StPosCharRly2 = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 6) & 0x3);
|
|
|
- BMS_StNegCharRly2 = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0x3);
|
|
|
- BMS_FtAuxRelayWeld = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 2) & 0x1);
|
|
|
- BMS_BraOpenCirc = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 3) & 0x1);
|
|
|
- BMS_FtBackCharCurrOutLim = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 4) & 0x3);
|
|
|
- BMS_FtPosRlyOpen = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 6) & 0x1);
|
|
|
- BMS_FtNegRlyOpen = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 7) & 0x1);
|
|
|
- BMS_FtPosCharRly1Open = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0x1);
|
|
|
- BMS_FtPosCharRly2Open = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 1) & 0x1);
|
|
|
- BMS_FtNegCharRly1Open = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 2) & 0x1);
|
|
|
- BMS_FtNegCharRly2Open = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 3) & 0x1);
|
|
|
- BMS_FtTMSContClose = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 4) & 0x1);
|
|
|
- BMS_FtTMSContOpen = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 5) & 0x1);
|
|
|
- BMS_FtTMS = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 6) & 0x1);
|
|
|
- BMS_Ft24VSpy = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 7) & 0x1);
|
|
|
- BMS_FtPACKSelfProt = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0x1);
|
|
|
- BMS_FtCharSockTempOver = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 1) & 0x3);
|
|
|
- BMS_FtTempOutCtrl = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 3) & 0x1);
|
|
|
- BMS_StPosHeatRly = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 4) & 0x3);
|
|
|
- BMS_StNegHeatRly = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 6) & 0x3);
|
|
|
- BMS_CharSysNum = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xF);
|
|
|
- BMS_FtCode = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ case 0x831:
|
|
|
+ BcuBattI1 = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuBattI2 = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuBattU1 = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuBattU2 = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[2] = 0x01;
|
|
|
break;
|
|
|
- case 0x1881D0F3:
|
|
|
- BMS_ST1CheckSum = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
- BMS_ST1Counter = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xF);
|
|
|
- BMS_Mode = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 4) & 0x3);
|
|
|
- BMS_AuxRlySt = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 6) & 0x1);
|
|
|
- BMS_BattBalaSt = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 7) & 0x1);
|
|
|
- BMS_CharGunSt = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0x1);
|
|
|
- BMS_CharMode = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 1) & 0x3);
|
|
|
- BMS_CharSt = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 3) & 0x3);
|
|
|
- BMS_FtLvl = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 5) & 0x3);
|
|
|
- BMS_FtCellTempDiff = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0x3);
|
|
|
- BMS_FtCellTempHigh = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 2) & 0x3);
|
|
|
- BMS_FtPACKOverVolt = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 4) & 0x3);
|
|
|
- BMS_FtPACKUndeVolt = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 6) & 0x3);
|
|
|
- BMS_FtSOCLow = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0x3);
|
|
|
- BMS_FtCellOverVolt = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 2) & 0x3);
|
|
|
- BMS_FtCellUndeVolt = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 4) & 0x3);
|
|
|
- BMS_FtIns = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 6) & 0x3);
|
|
|
- BMS_FtCellOverVoltDiff = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0x3);
|
|
|
- BMS_FtCharCurrOver = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 2) & 0x3);
|
|
|
- BMS_FtDisCharCurrOver = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 4) & 0x3);
|
|
|
- BMS_FtCellTempLow = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 6) & 0x3);
|
|
|
- BMS_FtBranVoltDifOver = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0x3);
|
|
|
- BMS_FtBMSHardWare = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 2) & 0x3);
|
|
|
- BMS_FtSOCHigh = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 4) & 0x1);
|
|
|
- BMS_FtSOCJump = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 5) & 0x1);
|
|
|
- BMS_FtInCom = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 6) & 0x1);
|
|
|
- BMS_FtSysMism = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 7) & 0x1);
|
|
|
- BMS_FtHvIntLock = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0x1);
|
|
|
- BMS_FtSmoke = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 1) & 0x1);
|
|
|
- BMS_FtFire = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 2) & 0x1);
|
|
|
- BMS_FtNum = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 3) & 0x1F);
|
|
|
+ case 0x832:
|
|
|
+ BcuChrgMod = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xF);
|
|
|
+ BcuChrgSt = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 4) & 0xF);
|
|
|
+ BcuChrgIReq = (UINT16)(((*(UINT8 *)(rawData + 1)) | (*(UINT8 *)(rawData + 2) << 8)) & 0xFFFF);
|
|
|
+ BcuChrgUReq = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuReChrgTm = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuChrgEndReason = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
BcuRxFlag[3] = 0x01;
|
|
|
break;
|
|
|
- case 0x1882D0F3:
|
|
|
- BMS_PackSOC = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
- BMS_PackSOH = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
- BMS_PackCurr = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
- BMS_MaxCharCurr = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
- BMS_MaxDisCharCurr = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ case 0x833:
|
|
|
+ BcuDisChrPwrMaxLong = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuChrPwrMaxLong = (UINT32)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8) | (*(UINT8 *)(rawData + 4) << 16) | (*(UINT8 *)(rawData + 5) << 24)) & 0xFFFFFFFF);
|
|
|
BcuRxFlag[4] = 0x01;
|
|
|
break;
|
|
|
- case 0x1883D0F3:
|
|
|
- BMS_PosIns = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
- BMS_NegIns = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
- BMS_BattVolt = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
- BMS_LinkVolt = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ case 0x834:
|
|
|
+ BcuSoh = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellNr = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuCellCap = (UINT16)(((*(UINT8 *)(rawData + 3)) | (*(UINT8 *)(rawData + 4) << 8)) & 0xFFFF);
|
|
|
+ BcuCellR = (UINT16)(((*(UINT8 *)(rawData + 5)) | (*(UINT8 *)(rawData + 6) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[5] = 0x01;
|
|
|
break;
|
|
|
- case 0x1884D0F3:
|
|
|
- BMS_MaxCellTemp = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
- BMS_MinCellTemp = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
- BMS_AverCellTemp = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
- BMS_MaxCellTempCSC = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
- BMS_MaxCellTempNum = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
- BMS_MinCellTempCSC = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
- BMS_MinCellTempNum = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ case 0x835:
|
|
|
+ BcuReEgy = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuSoe = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[6] = 0x01;
|
|
|
break;
|
|
|
- case 0x1885D0F3:
|
|
|
- BMS_MaxCellVolt = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
- BMS_MaxCellVoltCSC = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
- BMS_MaxCellVoltNum = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
- BMS_AverCellVolt = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ case 0x837:
|
|
|
+ BcuAhSoc = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuBattSoc = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuEKFSoc = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[7] = 0x01;
|
|
|
break;
|
|
|
- case 0x1886D0F3:
|
|
|
- BMS_MinCellVolt = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
- BMS_MinCellVoltCSC = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
- BMS_MinCellVoltNum = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
- BMS_ContChrgCurr = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
- BMS_ContDisCharCurr = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ case 0x840:
|
|
|
+ BcuEquilist[0] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuEquilist[1] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuEquilist[2] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuEquilist[3] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[8] = 0x01;
|
|
|
break;
|
|
|
- case 0x1887D0F3:
|
|
|
- BMS_CharReqVolt = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
- BMS_CharReqCurr = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
- BMS_SysInsRes = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
- BMS_InsDeteSt = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0x1);
|
|
|
- BMS_FtCharInsLow = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 1) & 0x1);
|
|
|
- BMS_FtCurrSenr = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 2) & 0x1);
|
|
|
- BMS_FtHeatingFilm = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 3) & 0x1);
|
|
|
- BMS_FtMainLoopPreChar = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 4) & 0x1);
|
|
|
- BMS_FtAuxLoopPreChar = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 5) & 0x1);
|
|
|
- BMS_FtACANLost = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 6) & 0x1);
|
|
|
- BMS_FtDCDC = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 7) & 0x1);
|
|
|
- BMS_FtSOCDif = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0x1);
|
|
|
- BMS_FtCellOverDisChar = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 1) & 0x1);
|
|
|
- BMS_FtCharOver = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 2) & 0x3);
|
|
|
- BMS_FtContDisCharCurrOverLoad = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 4) & 0x3);
|
|
|
- BMS_FtContCharCurrOverLoad = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 6) & 0x3);
|
|
|
+ case 0x841:
|
|
|
+ BcuEquilist[4] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuEquilist[5] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuEquilist[6] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuEquilist[7] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[9] = 0x01;
|
|
|
break;
|
|
|
- case 0x1888D0F3:
|
|
|
- BMS_MaxDisCharPwr = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
- BMS_MaxCharPwr = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
- BMS_ContDisCharPwr = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
- BMS_ContCharPwr = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ case 0x842:
|
|
|
+ BcuEquilist[8] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuEquilist[9] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuEquilist[10] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuEquilist[11] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[10] = 0x01;
|
|
|
break;
|
|
|
- case 0x1889D0F3:
|
|
|
- BMS_InstEngyCons = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
- BMS_TotalEngyCons = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
- BMS_SOE = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
- BMS_RmanCharTime = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ case 0x843:
|
|
|
+ BcuCellU[0] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[1] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[2] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[3] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[11] = 0x01;
|
|
|
break;
|
|
|
- case 0x188AD0F3:
|
|
|
- BMS_Gun1DCNegTemp = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
- BMS_Gun1DCPosTemp = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
- BMS_Gun2DCNegTemp = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
- BMS_Gun2DCPosTemp = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
- BMS_CurrHeatSt = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0x3);
|
|
|
- BMS_CurrCoolSt = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 2) & 0x3);
|
|
|
- BMS_FtCharCnct = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 4) & 0x1);
|
|
|
- BMS_FtOverDisCharCurrDuringChar = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 5) & 0x1);
|
|
|
- BMS_FtCharNTC = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 6) & 0x1);
|
|
|
- BMS_FtELock = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 7) & 0x1);
|
|
|
- BMS_CharNum = (UINT16)(((*(UINT8 *)(rawData + 5)) | (*(UINT8 *)(rawData + 6) << 8)) & 0xFFFF);
|
|
|
+ case 0x844:
|
|
|
+ BcuCellU[4] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[5] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[6] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[7] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[12] = 0x01;
|
|
|
break;
|
|
|
- case 0x18C1D0F3:
|
|
|
- BMS_CellVoltFramNum = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
- BMS_CSC_Code = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
- if (BMS_CellVoltFramNum == 0 || BMS_CellVoltFramNum > 128)
|
|
|
- {
|
|
|
- break;
|
|
|
- }
|
|
|
- for (UINT8 i = 0; i < 3; i++)
|
|
|
- {
|
|
|
- BMS_CellVolt[(BMS_CellVoltFramNum - 1) * 3 + i] = (UINT16)(((*(UINT8 *)(rawData + i * 2 + 2)) | (*(UINT8 *)(rawData + i * 2 + 3) << 8)) & 0xFFFF);
|
|
|
- }
|
|
|
+ case 0x845:
|
|
|
+ BcuCellU[8] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[9] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[10] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[11] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[13] = 0x01;
|
|
|
break;
|
|
|
- case 0x18C2D0F3:
|
|
|
- BMS_CellTempFramNum = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
- BMS_CSC_Code = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
- if (BMS_CellTempFramNum == 0 || BMS_CellTempFramNum > 12)
|
|
|
- {
|
|
|
- break;
|
|
|
- }
|
|
|
- for (UINT8 i = 0; i < 6; i++)
|
|
|
- {
|
|
|
- if (((BMS_CellTempFramNum - 1) * 6 + i) < sizeof(BMS_CellTemp))
|
|
|
- {
|
|
|
- BMS_CellTemp[(BMS_CellTempFramNum - 1) * 6 + i] = (UINT8)(((*(UINT8 *)(rawData + 2 + i))) & 0xFF);
|
|
|
- }
|
|
|
- }
|
|
|
+ case 0x846:
|
|
|
+ BcuCellU[12] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[13] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[14] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[15] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[14] = 0x01;
|
|
|
break;
|
|
|
- case 0x18E1D0F3:
|
|
|
- BMS_Checksum = 0;
|
|
|
- for (UINT8 i = 1; i < 8; i++)
|
|
|
- {
|
|
|
- BMS_Checksum = (UINT8)(((*(UINT8 *)(rawData + i))) & 0xFF) ^ BMS_Checksum;
|
|
|
- }
|
|
|
- if (BMS_Checksum == (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF))
|
|
|
- {
|
|
|
- BMS_PackComp = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0x7);
|
|
|
- BMS_BattCodeLeng = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 3) & 0x1F);
|
|
|
- BMS_SN[0] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
- BMS_SN[1] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
- BMS_SN[2] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
- BMS_SN[3] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
- BMS_SN[4] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
- BMS_SN[5] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
- }
|
|
|
+ case 0x847:
|
|
|
+ BcuCellU[16] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[17] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[18] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[19] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[15] = 0x01;
|
|
|
break;
|
|
|
- case 0x18E2D0F3:
|
|
|
- BMS_Checksum = 0;
|
|
|
- for (UINT8 i = 1; i < 8; i++)
|
|
|
- {
|
|
|
- BMS_Checksum = (UINT8)(((*(UINT8 *)(rawData + i))) & 0xFF) ^ BMS_Checksum;
|
|
|
- }
|
|
|
- if (BMS_Checksum == (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF))
|
|
|
- {
|
|
|
- BMS_SN[6] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
- BMS_SN[7] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
- BMS_SN[8] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
- BMS_SN[9] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
- BMS_SN[10] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
- BMS_SN[11] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
- BMS_SN[12] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
- }
|
|
|
+ case 0x848:
|
|
|
+ BcuCellU[20] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[21] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[22] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[23] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[16] = 0x01;
|
|
|
break;
|
|
|
- case 0x18E3D0F3:
|
|
|
- BMS_Checksum = 0;
|
|
|
- for (UINT8 i = 1; i < 8; i++)
|
|
|
- {
|
|
|
- BMS_Checksum = (UINT8)(((*(UINT8 *)(rawData + i))) & 0xFF) ^ BMS_Checksum;
|
|
|
- }
|
|
|
- if (BMS_Checksum == (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF))
|
|
|
- {
|
|
|
- BMS_SN[13] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
- BMS_SN[14] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
- BMS_SN[15] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
- BMS_SN[16] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
- BMS_SN[17] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
- BMS_SN[18] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
- BMS_SN[19] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
- }
|
|
|
+ case 0x849:
|
|
|
+ BcuCellU[24] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[25] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[26] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[27] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[17] = 0x01;
|
|
|
break;
|
|
|
- case 0x18E4D0F3:
|
|
|
- BMS_Checksum = 0;
|
|
|
- for (UINT8 i = 1; i < 8; i++)
|
|
|
- {
|
|
|
- BMS_Checksum = (UINT8)(((*(UINT8 *)(rawData + i))) & 0xFF) ^ BMS_Checksum;
|
|
|
- }
|
|
|
- if (BMS_Checksum == (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF))
|
|
|
- {
|
|
|
- BMS_SN[20] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
- BMS_SN[21] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
- BMS_SN[22] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
- BMS_SN[23] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
- BMS_SN[24] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
- BMS_SN[25] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
- BMS_SN[26] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
- }
|
|
|
+ case 0x84A:
|
|
|
+ BcuCellU[28] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[29] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[30] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[31] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[18] = 0x01;
|
|
|
break;
|
|
|
- case 0x18E5D0F3:
|
|
|
- BMS_BattRateCap = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
- BMS_BattRateVolt = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
- BMS_BattRateEngy = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
- BMS_BattType = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xF);
|
|
|
- BMS_CoolType = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 4) & 0x3);
|
|
|
+ case 0x84B:
|
|
|
+ BcuCellU[32] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[33] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[34] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[35] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[19] = 0x01;
|
|
|
break;
|
|
|
- case 0x18E6D0F3:
|
|
|
- BMS_CSC_Total = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
- BMS_CellTotal = (UINT16)(((*(UINT8 *)(rawData + 1)) | (*(UINT8 *)(rawData + 2) << 8)) & 0xFFFF);
|
|
|
- BMS_TempTotal = (UINT16)(((*(UINT8 *)(rawData + 3)) | (*(UINT8 *)(rawData + 4) << 8)) & 0xFFFF);
|
|
|
- BMS_CellVoltLevel = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
- BMS_CellMinVolt = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
- BMS_CellMaxVolt = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ case 0x84C:
|
|
|
+ BcuCellU[36] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[37] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[38] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[39] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[20] = 0x01;
|
|
|
break;
|
|
|
- case 0x18F1D0F3:
|
|
|
- BMS_TotalCharEngy = (UINT32)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8) | (*(UINT8 *)(rawData + 2) << 16) | (*(UINT8 *)(rawData + 3) << 24)) & 0xFFFFFF);
|
|
|
- BMS_TotalDisCharEngy = (UINT32)(((*(UINT8 *)(rawData + 3)) | (*(UINT8 *)(rawData + 4) << 8) | (*(UINT8 *)(rawData + 5) << 16) | (*(UINT8 *)(rawData + 6) << 24)) & 0xFFFFFF);
|
|
|
- BMS_SingleCharEngy = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ case 0x84D:
|
|
|
+ BcuCellU[40] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[41] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[42] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[43] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[21] = 0x01;
|
|
|
break;
|
|
|
- case 0x18F2D0F3:
|
|
|
- BMS_TotalBackCharEngy = (UINT32)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8) | (*(UINT8 *)(rawData + 2) << 16) | (*(UINT8 *)(rawData + 3) << 24)) & 0xFFFFFF);
|
|
|
- BMS_TotalStaCharEngy = (UINT32)(((*(UINT8 *)(rawData + 3)) | (*(UINT8 *)(rawData + 4) << 8) | (*(UINT8 *)(rawData + 5) << 16) | (*(UINT8 *)(rawData + 6) << 24)) & 0xFFFFFF);
|
|
|
+ case 0x84E:
|
|
|
+ BcuCellU[44] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[45] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[46] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[47] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[22] = 0x01;
|
|
|
break;
|
|
|
- case 0x18F3D0F3:
|
|
|
- BMS_TotalGunCharEngy = (UINT32)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8) | (*(UINT8 *)(rawData + 2) << 16) | (*(UINT8 *)(rawData + 3) << 24)) & 0xFFFFFF);
|
|
|
- BMS_TotalGunCharCapy = (UINT32)(((*(UINT8 *)(rawData + 3)) | (*(UINT8 *)(rawData + 4) << 8) | (*(UINT8 *)(rawData + 5) << 16) | (*(UINT8 *)(rawData + 6) << 24)) & 0xFFFFFF);
|
|
|
+ case 0x84F:
|
|
|
+ BcuCellU[48] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[49] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[50] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[51] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[23] = 0x01;
|
|
|
break;
|
|
|
- case 0x18F4D0F3:
|
|
|
- BMS_TotalCharCapy = (UINT32)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8) | (*(UINT8 *)(rawData + 2) << 16) | (*(UINT8 *)(rawData + 3) << 24)) & 0xFFFFFF);
|
|
|
- BMS_TotalDisCharCapy = (UINT32)(((*(UINT8 *)(rawData + 3)) | (*(UINT8 *)(rawData + 4) << 8) | (*(UINT8 *)(rawData + 5) << 16) | (*(UINT8 *)(rawData + 6) << 24)) & 0xFFFFFF);
|
|
|
- BMS_SingleCharCapy = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ case 0x850:
|
|
|
+ BcuCellU[52] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[53] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[54] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[55] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[24] = 0x01;
|
|
|
break;
|
|
|
- case 0x18F5D0F3:
|
|
|
- BMS_TotalBackCharCapy = (UINT32)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8) | (*(UINT8 *)(rawData + 2) << 16) | (*(UINT8 *)(rawData + 3) << 24)) & 0xFFFFFF);
|
|
|
- BMS_TotalStaCharCapy = (UINT32)(((*(UINT8 *)(rawData + 3)) | (*(UINT8 *)(rawData + 4) << 8) | (*(UINT8 *)(rawData + 5) << 16) | (*(UINT8 *)(rawData + 6) << 24)) & 0xFFFFFF);
|
|
|
- BMS_HVBranNum = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
- BMS_SingleHVBranchCellNum = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ case 0x851:
|
|
|
+ BcuCellU[56] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[57] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[58] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[59] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[25] = 0x01;
|
|
|
break;
|
|
|
- case 0x18FF45F4:
|
|
|
- BMS_ReqMode = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0x3);
|
|
|
- BMS_HVCmd = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 2) & 0x3);
|
|
|
- BMS_ChgSts = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 4) & 0x3);
|
|
|
- BMS_HVRelaySts = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 6) & 0x3);
|
|
|
- BMS_HVVolt = (UINT16)(((*(UINT8 *)(rawData + 1)) | (*(UINT8 *)(rawData + 2) << 8)) & 0xFFFF);
|
|
|
- BMS_SetTemp = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
- BMS_Life = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
- BMS_CRC = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ case 0x852:
|
|
|
+ BcuCellU[60] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[61] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[62] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[63] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[26] = 0x01;
|
|
|
break;
|
|
|
- case 0x18FFC13A:
|
|
|
- TMS_WorkStatus = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0x3);
|
|
|
- TMS_HVRelayST = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 2) & 0x3);
|
|
|
- TMS_OutletTemp = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
- TMS_InletTemp = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
- TMS_ReqPow = (UINT16)(((*(UINT8 *)(rawData + 5)) | (*(UINT8 *)(rawData + 6) << 8)) & 0xFFFF);
|
|
|
- TMS_ErrCode = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0x3F);
|
|
|
- TMS_FaultLevel = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 6) & 0x3);
|
|
|
+ case 0x853:
|
|
|
+ BcuCellU[64] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[65] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[66] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[67] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
BcuRxFlag[27] = 0x01;
|
|
|
break;
|
|
|
+ case 0x854:
|
|
|
+ BcuCellU[68] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[69] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[70] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[71] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[28] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x855:
|
|
|
+ BcuCellU[72] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[73] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[74] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[75] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[29] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x856:
|
|
|
+ BcuCellU[76] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[77] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[78] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[79] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[30] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x857:
|
|
|
+ BcuCellU[80] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[81] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[82] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[83] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[31] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x858:
|
|
|
+ BcuCellU[84] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[85] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[86] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[87] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[32] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x859:
|
|
|
+ BcuCellU[88] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[89] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[90] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[91] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[33] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x85A:
|
|
|
+ BcuCellU[92] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[93] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[94] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[95] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[34] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x85B:
|
|
|
+ BcuCellU[96] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[97] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[98] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[99] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[35] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x85C:
|
|
|
+ BcuCellU[100] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[101] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[102] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[103] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[36] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x85D:
|
|
|
+ BcuCellU[104] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[105] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[106] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[107] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[37] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x85E:
|
|
|
+ BcuCellU[108] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[109] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[110] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[111] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[38] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x85F:
|
|
|
+ BcuCellU[112] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[113] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[114] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[115] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[39] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x860:
|
|
|
+ BcuCellU[116] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[117] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[118] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[119] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[40] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x861:
|
|
|
+ BcuCellU[120] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[121] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[122] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[123] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[41] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x862:
|
|
|
+ BcuCellU[124] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[125] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[126] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[127] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[42] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x863:
|
|
|
+ BcuCellU[128] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[129] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[130] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[131] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[43] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x864:
|
|
|
+ BcuCellU[132] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[133] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[134] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[135] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[44] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x865:
|
|
|
+ BcuCellU[136] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[137] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[138] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[139] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[45] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x866:
|
|
|
+ BcuCellU[140] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[141] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[142] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[143] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[46] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x867:
|
|
|
+ BcuCellU[144] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[145] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[146] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[147] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[47] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x868:
|
|
|
+ BcuCellU[148] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[149] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[150] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[151] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[48] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x869:
|
|
|
+ BcuCellU[152] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[153] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[154] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[155] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[49] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x86A:
|
|
|
+ BcuCellU[156] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[157] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[158] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[159] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[50] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x86B:
|
|
|
+ BcuCellU[160] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[161] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[162] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[163] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[51] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x86C:
|
|
|
+ BcuCellU[164] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[165] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[166] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[167] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[52] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x86D:
|
|
|
+ BcuCellU[168] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[169] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[170] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[171] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[53] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x86E:
|
|
|
+ BcuCellU[172] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[173] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[174] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[175] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[54] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x86F:
|
|
|
+ BcuCellU[176] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[177] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[178] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[179] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[55] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x870:
|
|
|
+ BcuCellU[180] = (UINT16)(((*(UINT8 *)(rawData + 0)) | (*(UINT8 *)(rawData + 1) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[181] = (UINT16)(((*(UINT8 *)(rawData + 2)) | (*(UINT8 *)(rawData + 3) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[182] = (UINT16)(((*(UINT8 *)(rawData + 4)) | (*(UINT8 *)(rawData + 5) << 8)) & 0xFFFF);
|
|
|
+ BcuCellU[183] = (UINT16)(((*(UINT8 *)(rawData + 6)) | (*(UINT8 *)(rawData + 7) << 8)) & 0xFFFF);
|
|
|
+ BcuRxFlag[56] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x871:
|
|
|
+ BcuRxFlag[57] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x872:
|
|
|
+ BcuRxFlag[58] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x873:
|
|
|
+ BcuModT[0] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[1] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[2] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[3] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[4] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[5] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[6] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[7] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[59] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x874:
|
|
|
+ BcuModT[8] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[9] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[10] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[11] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[12] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[13] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[14] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[15] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[60] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x875:
|
|
|
+ BcuModT[16] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[17] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[18] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[19] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[20] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[21] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[22] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[23] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[61] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x876:
|
|
|
+ BcuModT[24] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[25] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[26] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[27] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[28] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[29] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[30] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[31] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[62] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x877:
|
|
|
+ BcuModT[32] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[33] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[34] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[35] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[36] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[37] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[38] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[39] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[63] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x878:
|
|
|
+ BcuModT[40] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[41] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[42] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[43] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[44] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[45] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[46] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[47] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[64] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x879:
|
|
|
+ BcuModT[48] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[49] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[50] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[51] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[52] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[53] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[54] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[55] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[65] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x87A:
|
|
|
+ BcuModT[56] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[57] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[58] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[59] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[60] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[61] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[62] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[63] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[66] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x87B:
|
|
|
+ BcuModT[64] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[65] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[66] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[67] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[68] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[69] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[70] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[71] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[67] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x87C:
|
|
|
+ BcuModT[72] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[73] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[74] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[75] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[76] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[77] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[78] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[79] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[68] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x87D:
|
|
|
+ BcuModT[80] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[81] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[82] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[83] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[84] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[85] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[86] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[87] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[69] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x87E:
|
|
|
+ BcuModT[88] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF);
|
|
|
+ BcuModT[89] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF);
|
|
|
+ BcuModT[90] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF);
|
|
|
+ BcuModT[91] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BcuModT[92] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF);
|
|
|
+ BcuModT[93] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF);
|
|
|
+ BcuModT[94] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF);
|
|
|
+ BcuModT[95] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF);
|
|
|
+ BcuRxFlag[70] = 0x01;
|
|
|
+ break;
|
|
|
case 0x1C00EDEA:
|
|
|
UDSAnsFunc(rawData);
|
|
|
break;
|
|
@@ -692,14 +910,13 @@ static void BattSendFunc(void)
|
|
|
case 0x03:
|
|
|
{
|
|
|
CanAnsId = 0x1C0AEAED;
|
|
|
- uint16 SocTemp = BMS_PackSOC * 25 / 10;
|
|
|
- SendData[0] = BMS_PackCurr >> 8;
|
|
|
- SendData[1] = BMS_PackCurr;
|
|
|
- SendData[2] = BMS_BattVolt >> 8;
|
|
|
- SendData[3] = BMS_BattVolt;
|
|
|
- SendData[4] = SocTemp >> 8;
|
|
|
- SendData[5] = SocTemp;
|
|
|
- SendData[6] = (UINT8)(BMS_PackSOH * 25 / 10);
|
|
|
+ SendData[0] = BcuBattI1 >> 8;
|
|
|
+ SendData[1] = BcuBattI1;
|
|
|
+ SendData[2] = BcuBattU1 >> 8;
|
|
|
+ SendData[3] = BcuBattU1;
|
|
|
+ SendData[4] = BcuSoc >> 8;
|
|
|
+ SendData[5] = BcuSoc;
|
|
|
+ SendData[6] = (UINT8)(BcuSoh * 25 / 10);
|
|
|
SendData[7] = 0;
|
|
|
SendStep++;
|
|
|
break;
|
|
@@ -714,14 +931,14 @@ static void BattSendFunc(void)
|
|
|
return;
|
|
|
break;
|
|
|
}
|
|
|
- SendData[0] = BMS_CellTemp[SendCounter * 8 + 0];
|
|
|
- SendData[1] = BMS_CellTemp[SendCounter * 8 + 1];
|
|
|
- SendData[2] = BMS_CellTemp[SendCounter * 8 + 2];
|
|
|
- SendData[3] = BMS_CellTemp[SendCounter * 8 + 3];
|
|
|
- SendData[4] = BMS_CellTemp[SendCounter * 8 + 4];
|
|
|
- SendData[5] = BMS_CellTemp[SendCounter * 8 + 5];
|
|
|
- SendData[6] = BMS_CellTemp[SendCounter * 8 + 6];
|
|
|
- SendData[7] = BMS_CellTemp[SendCounter * 8 + 7];
|
|
|
+ SendData[0] = BcuModT[SendCounter * 8 + 0];
|
|
|
+ SendData[1] = BcuModT[SendCounter * 8 + 1];
|
|
|
+ SendData[2] = BcuModT[SendCounter * 8 + 2];
|
|
|
+ SendData[3] = BcuModT[SendCounter * 8 + 3];
|
|
|
+ SendData[4] = BcuModT[SendCounter * 8 + 4];
|
|
|
+ SendData[5] = BcuModT[SendCounter * 8 + 5];
|
|
|
+ SendData[6] = BcuModT[SendCounter * 8 + 6];
|
|
|
+ SendData[7] = BcuModT[SendCounter * 8 + 7];
|
|
|
SendCounter++;
|
|
|
break;
|
|
|
}
|
|
@@ -735,14 +952,14 @@ static void BattSendFunc(void)
|
|
|
return;
|
|
|
break;
|
|
|
}
|
|
|
- SendData[0] = BMS_CellVolt[SendCounter * 4 + 0] >> 8;
|
|
|
- SendData[1] = BMS_CellVolt[SendCounter * 4 + 0];
|
|
|
- SendData[2] = BMS_CellVolt[SendCounter * 4 + 1] >> 8;
|
|
|
- SendData[3] = BMS_CellVolt[SendCounter * 4 + 1];
|
|
|
- SendData[4] = BMS_CellVolt[SendCounter * 4 + 2] >> 8;
|
|
|
- SendData[5] = BMS_CellVolt[SendCounter * 4 + 2];
|
|
|
- SendData[6] = BMS_CellVolt[SendCounter * 4 + 3] >> 8;
|
|
|
- SendData[7] = BMS_CellVolt[SendCounter * 4 + 3];
|
|
|
+ SendData[0] = BcuCellU[SendCounter * 4 + 0] >> 8;
|
|
|
+ SendData[1] = BcuCellU[SendCounter * 4 + 0];
|
|
|
+ SendData[2] = BcuCellU[SendCounter * 4 + 1] >> 8;
|
|
|
+ SendData[3] = BcuCellU[SendCounter * 4 + 1];
|
|
|
+ SendData[4] = BcuCellU[SendCounter * 4 + 2] >> 8;
|
|
|
+ SendData[5] = BcuCellU[SendCounter * 4 + 2];
|
|
|
+ SendData[6] = BcuCellU[SendCounter * 4 + 3] >> 8;
|
|
|
+ SendData[7] = BcuCellU[SendCounter * 4 + 3];
|
|
|
SendCounter++;
|
|
|
break;
|
|
|
}
|
|
@@ -798,346 +1015,685 @@ void BcuRxDiagnose(void) // 100ms
|
|
|
}
|
|
|
if (TimeCounter % 100 == 0) // period <=100ms
|
|
|
{
|
|
|
- BcuRxErrorCounter[0]++; // can msg 0x1801D0F3
|
|
|
+ BcuRxErrorCounter[0]++; // can msg 0x721
|
|
|
// if(BcuRxErrorCounter[0]>=13)
|
|
|
- BcuRxErrorCounter[2]++; // can msg 0x1880D0F3
|
|
|
+ BcuRxErrorCounter[1]++; // can msg 0x830
|
|
|
+ // if(BcuRxErrorCounter[1]>=13)
|
|
|
+ BcuRxErrorCounter[2]++; // can msg 0x831
|
|
|
// if(BcuRxErrorCounter[2]>=13)
|
|
|
- BcuRxErrorCounter[3]++; // can msg 0x1881D0F3
|
|
|
+ BcuRxErrorCounter[3]++; // can msg 0x832
|
|
|
// if(BcuRxErrorCounter[3]>=13)
|
|
|
- BcuRxErrorCounter[4]++; // can msg 0x1882D0F3
|
|
|
- // if(BcuRxErrorCounter[4]>=13)
|
|
|
- BcuRxErrorCounter[5]++; // can msg 0x1883D0F3
|
|
|
+ BcuRxErrorCounter[4]++; // can msg 0x833
|
|
|
+ // if(BcuRxErrorCounter[4]>=13)
|
|
|
+ }
|
|
|
+ if (TimeCounter % 1000 == 0) // period ==1000ms
|
|
|
+ {
|
|
|
+ BcuRxErrorCounter[5]++; // can msg 0x834
|
|
|
// if(BcuRxErrorCounter[5]>=13)
|
|
|
- BcuRxErrorCounter[6]++; // can msg 0x1884D0F3
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[5]);
|
|
|
+ BcuRxErrorCounter[6]++; // can msg 0x835
|
|
|
// if(BcuRxErrorCounter[6]>=13)
|
|
|
- BcuRxErrorCounter[7]++; // can msg 0x1885D0F3
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[6]);
|
|
|
+ BcuRxErrorCounter[7]++; // can msg 0x837
|
|
|
// if(BcuRxErrorCounter[7]>=13)
|
|
|
- BcuRxErrorCounter[8]++; // can msg 0x1886D0F3
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[7]);
|
|
|
+ BcuRxErrorCounter[8]++; // can msg 0x840
|
|
|
// if(BcuRxErrorCounter[8]>=13)
|
|
|
- BcuRxErrorCounter[9]++; // can msg 0x1887D0F3
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[8]);
|
|
|
+ BcuRxErrorCounter[9]++; // can msg 0x841
|
|
|
// if(BcuRxErrorCounter[9]>=13)
|
|
|
- BcuRxErrorCounter[10]++; // can msg 0x1888D0F3
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[9]);
|
|
|
+ BcuRxErrorCounter[10]++; // can msg 0x842
|
|
|
// if(BcuRxErrorCounter[10]>=13)
|
|
|
- BcuRxErrorCounter[13]++; // can msg 0x18C1D0F3
|
|
|
- // if(BcuRxErrorCounter[13]>=13)
|
|
|
- BcuRxErrorCounter[14]++; // can msg 0x18C2D0F3
|
|
|
- // if(BcuRxErrorCounter[14]>=13)
|
|
|
- BcuRxErrorCounter[19]++; // can msg 0x18E5D0F3
|
|
|
- // if(BcuRxErrorCounter[19]>=13)
|
|
|
- BcuRxErrorCounter[20]++; // can msg 0x18E6D0F3
|
|
|
- // if(BcuRxErrorCounter[20]>=13)
|
|
|
- }
|
|
|
- if (TimeCounter % 1000 == 0) // period ==1000ms
|
|
|
- {
|
|
|
- BcuRxErrorCounter[11]++; // can msg 0x1889D0F3
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[10]);
|
|
|
+ BcuRxErrorCounter[11]++; // can msg 0x843
|
|
|
// if(BcuRxErrorCounter[11]>=13)
|
|
|
// printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[11]);
|
|
|
- BcuRxErrorCounter[12]++; // can msg 0x188AD0F3
|
|
|
+ BcuRxErrorCounter[12]++; // can msg 0x844
|
|
|
// if(BcuRxErrorCounter[12]>=13)
|
|
|
// printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[12]);
|
|
|
- BcuRxErrorCounter[15]++; // can msg 0x18E1D0F3
|
|
|
+ BcuRxErrorCounter[13]++; // can msg 0x845
|
|
|
+ // if(BcuRxErrorCounter[13]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[13]);
|
|
|
+ BcuRxErrorCounter[14]++; // can msg 0x846
|
|
|
+ // if(BcuRxErrorCounter[14]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[14]);
|
|
|
+ BcuRxErrorCounter[15]++; // can msg 0x847
|
|
|
// if(BcuRxErrorCounter[15]>=13)
|
|
|
// printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[15]);
|
|
|
- BcuRxErrorCounter[16]++; // can msg 0x18E2D0F3
|
|
|
+ BcuRxErrorCounter[16]++; // can msg 0x848
|
|
|
// if(BcuRxErrorCounter[16]>=13)
|
|
|
// printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[16]);
|
|
|
- BcuRxErrorCounter[17]++; // can msg 0x18E3D0F3
|
|
|
+ BcuRxErrorCounter[17]++; // can msg 0x849
|
|
|
// if(BcuRxErrorCounter[17]>=13)
|
|
|
// printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[17]);
|
|
|
- BcuRxErrorCounter[18]++; // can msg 0x18E4D0F3
|
|
|
+ BcuRxErrorCounter[18]++; // can msg 0x84A
|
|
|
// if(BcuRxErrorCounter[18]>=13)
|
|
|
// printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[18]);
|
|
|
- BcuRxErrorCounter[26]++; // can msg 0x18FF45F4
|
|
|
+ BcuRxErrorCounter[19]++; // can msg 0x84B
|
|
|
+ // if(BcuRxErrorCounter[19]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[19]);
|
|
|
+ BcuRxErrorCounter[20]++; // can msg 0x84C
|
|
|
+ // if(BcuRxErrorCounter[20]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[20]);
|
|
|
+ BcuRxErrorCounter[21]++; // can msg 0x84D
|
|
|
+ // if(BcuRxErrorCounter[21]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[21]);
|
|
|
+ BcuRxErrorCounter[22]++; // can msg 0x84E
|
|
|
+ // if(BcuRxErrorCounter[22]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[22]);
|
|
|
+ BcuRxErrorCounter[23]++; // can msg 0x84F
|
|
|
+ // if(BcuRxErrorCounter[23]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[23]);
|
|
|
+ BcuRxErrorCounter[24]++; // can msg 0x850
|
|
|
+ // if(BcuRxErrorCounter[24]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[24]);
|
|
|
+ BcuRxErrorCounter[25]++; // can msg 0x851
|
|
|
+ // if(BcuRxErrorCounter[25]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[25]);
|
|
|
+ BcuRxErrorCounter[26]++; // can msg 0x852
|
|
|
// if(BcuRxErrorCounter[26]>=13)
|
|
|
// printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[26]);
|
|
|
- BcuRxErrorCounter[27]++; // can msg 0x18FFC13A
|
|
|
- // if(BcuRxErrorCounter[27]>=13)
|
|
|
- // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[27]);
|
|
|
- }
|
|
|
- if (TimeCounter % 30000 == 0) // period ==30000ms
|
|
|
- {
|
|
|
- BcuRxErrorCounter[1]++; // can msg 0x1801D8F3
|
|
|
- // if(BcuRxErrorCounter[1]>=13)
|
|
|
- // printf("can msg 0x%x lost,cycle time30000ms\n",COMInTable[1]);
|
|
|
+ BcuRxErrorCounter[27]++; // can msg 0x853
|
|
|
+ // if(BcuRxErrorCounter[27]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[27]);
|
|
|
+ BcuRxErrorCounter[28]++; // can msg 0x854
|
|
|
+ // if(BcuRxErrorCounter[28]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[28]);
|
|
|
+ BcuRxErrorCounter[29]++; // can msg 0x855
|
|
|
+ // if(BcuRxErrorCounter[29]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[29]);
|
|
|
+ BcuRxErrorCounter[30]++; // can msg 0x856
|
|
|
+ // if(BcuRxErrorCounter[30]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[30]);
|
|
|
+ BcuRxErrorCounter[31]++; // can msg 0x857
|
|
|
+ // if(BcuRxErrorCounter[31]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[31]);
|
|
|
+ BcuRxErrorCounter[32]++; // can msg 0x858
|
|
|
+ // if(BcuRxErrorCounter[32]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[32]);
|
|
|
+ BcuRxErrorCounter[33]++; // can msg 0x859
|
|
|
+ // if(BcuRxErrorCounter[33]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[33]);
|
|
|
+ BcuRxErrorCounter[34]++; // can msg 0x85A
|
|
|
+ // if(BcuRxErrorCounter[34]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[34]);
|
|
|
+ BcuRxErrorCounter[35]++; // can msg 0x85B
|
|
|
+ // if(BcuRxErrorCounter[35]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[35]);
|
|
|
+ BcuRxErrorCounter[36]++; // can msg 0x85C
|
|
|
+ // if(BcuRxErrorCounter[36]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[36]);
|
|
|
+ BcuRxErrorCounter[37]++; // can msg 0x85D
|
|
|
+ // if(BcuRxErrorCounter[37]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[37]);
|
|
|
+ BcuRxErrorCounter[38]++; // can msg 0x85E
|
|
|
+ // if(BcuRxErrorCounter[38]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[38]);
|
|
|
+ BcuRxErrorCounter[39]++; // can msg 0x85F
|
|
|
+ // if(BcuRxErrorCounter[39]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[39]);
|
|
|
+ BcuRxErrorCounter[40]++; // can msg 0x860
|
|
|
+ // if(BcuRxErrorCounter[40]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[40]);
|
|
|
+ BcuRxErrorCounter[41]++; // can msg 0x861
|
|
|
+ // if(BcuRxErrorCounter[41]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[41]);
|
|
|
+ BcuRxErrorCounter[42]++; // can msg 0x862
|
|
|
+ // if(BcuRxErrorCounter[42]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[42]);
|
|
|
+ BcuRxErrorCounter[43]++; // can msg 0x863
|
|
|
+ // if(BcuRxErrorCounter[43]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[43]);
|
|
|
+ BcuRxErrorCounter[44]++; // can msg 0x864
|
|
|
+ // if(BcuRxErrorCounter[44]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[44]);
|
|
|
+ BcuRxErrorCounter[45]++; // can msg 0x865
|
|
|
+ // if(BcuRxErrorCounter[45]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[45]);
|
|
|
+ BcuRxErrorCounter[46]++; // can msg 0x866
|
|
|
+ // if(BcuRxErrorCounter[46]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[46]);
|
|
|
+ BcuRxErrorCounter[47]++; // can msg 0x867
|
|
|
+ // if(BcuRxErrorCounter[47]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[47]);
|
|
|
+ BcuRxErrorCounter[48]++; // can msg 0x868
|
|
|
+ // if(BcuRxErrorCounter[48]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[48]);
|
|
|
+ BcuRxErrorCounter[49]++; // can msg 0x869
|
|
|
+ // if(BcuRxErrorCounter[49]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[49]);
|
|
|
+ BcuRxErrorCounter[50]++; // can msg 0x86A
|
|
|
+ // if(BcuRxErrorCounter[50]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[50]);
|
|
|
+ BcuRxErrorCounter[51]++; // can msg 0x86B
|
|
|
+ // if(BcuRxErrorCounter[51]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[51]);
|
|
|
+ BcuRxErrorCounter[52]++; // can msg 0x86C
|
|
|
+ // if(BcuRxErrorCounter[52]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[52]);
|
|
|
+ BcuRxErrorCounter[53]++; // can msg 0x86D
|
|
|
+ // if(BcuRxErrorCounter[53]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[53]);
|
|
|
+ BcuRxErrorCounter[54]++; // can msg 0x86E
|
|
|
+ // if(BcuRxErrorCounter[54]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[54]);
|
|
|
+ BcuRxErrorCounter[55]++; // can msg 0x86F
|
|
|
+ // if(BcuRxErrorCounter[55]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[55]);
|
|
|
+ BcuRxErrorCounter[56]++; // can msg 0x870
|
|
|
+ // if(BcuRxErrorCounter[56]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[56]);
|
|
|
+ BcuRxErrorCounter[57]++; // can msg 0x871
|
|
|
+ // if(BcuRxErrorCounter[57]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[57]);
|
|
|
+ BcuRxErrorCounter[58]++; // can msg 0x872
|
|
|
+ // if(BcuRxErrorCounter[58]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[58]);
|
|
|
+ BcuRxErrorCounter[59]++; // can msg 0x873
|
|
|
+ // if(BcuRxErrorCounter[59]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[59]);
|
|
|
+ BcuRxErrorCounter[60]++; // can msg 0x874
|
|
|
+ // if(BcuRxErrorCounter[60]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[60]);
|
|
|
+ BcuRxErrorCounter[61]++; // can msg 0x875
|
|
|
+ // if(BcuRxErrorCounter[61]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[61]);
|
|
|
+ BcuRxErrorCounter[62]++; // can msg 0x876
|
|
|
+ // if(BcuRxErrorCounter[62]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[62]);
|
|
|
+ BcuRxErrorCounter[63]++; // can msg 0x877
|
|
|
+ // if(BcuRxErrorCounter[63]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[63]);
|
|
|
+ BcuRxErrorCounter[64]++; // can msg 0x878
|
|
|
+ // if(BcuRxErrorCounter[64]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[64]);
|
|
|
+ BcuRxErrorCounter[65]++; // can msg 0x879
|
|
|
+ // if(BcuRxErrorCounter[65]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[65]);
|
|
|
+ BcuRxErrorCounter[66]++; // can msg 0x87A
|
|
|
+ // if(BcuRxErrorCounter[66]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[66]);
|
|
|
+ BcuRxErrorCounter[67]++; // can msg 0x87B
|
|
|
+ // if(BcuRxErrorCounter[67]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[67]);
|
|
|
+ BcuRxErrorCounter[68]++; // can msg 0x87C
|
|
|
+ // if(BcuRxErrorCounter[68]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[68]);
|
|
|
+ BcuRxErrorCounter[69]++; // can msg 0x87D
|
|
|
+ // if(BcuRxErrorCounter[69]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[69]);
|
|
|
+ BcuRxErrorCounter[70]++; // can msg 0x87E
|
|
|
+ // if(BcuRxErrorCounter[70]>=13)
|
|
|
+ // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[70]);
|
|
|
}
|
|
|
}
|
|
|
void BcuRxMsgSetInvalidValue(uint32 ID)
|
|
|
{
|
|
|
-
|
|
|
switch (ID)
|
|
|
{
|
|
|
- case 0x1801D0F3:
|
|
|
- BMS_ReqVIN = 0xFF;
|
|
|
- BMS_ReqHVOff = 0xFF;
|
|
|
- break;
|
|
|
- case 0x1801D8F3:
|
|
|
- BMS_SoftwareVersion = 0xFFFF;
|
|
|
- BMS_HardwareVersion = 0xFFFF;
|
|
|
- BMS_ProtocolEditionH = 0xFF;
|
|
|
- BMS_ProtocolEditionL = 0xFF;
|
|
|
- break;
|
|
|
- case 0x1880D0F3:
|
|
|
- BMS_CharDevNum = 0xFF;
|
|
|
- BMS_FtPosRly = 0xFF;
|
|
|
- BMS_FtNegRly = 0xFF;
|
|
|
- BMS_FtPosCharRly1 = 0xFF;
|
|
|
- BMS_FtNegCharRly1 = 0xFF;
|
|
|
- BMS_FtPosCharRly2 = 0xFF;
|
|
|
- BMS_FtNegCharRly2 = 0xFF;
|
|
|
- BMS_FtHeatRly1 = 0xFF;
|
|
|
- BMS_FtHeatRly2 = 0xFF;
|
|
|
- BMS_StPosRly = 0xFF;
|
|
|
- BMS_StNegRly = 0xFF;
|
|
|
- BMS_StPreCharRly = 0xFF;
|
|
|
- BMS_StPosCharRly1 = 0xFF;
|
|
|
- BMS_StNegCharRly1 = 0xFF;
|
|
|
- BMS_StPosCharRly2 = 0xFF;
|
|
|
- BMS_StNegCharRly2 = 0xFF;
|
|
|
- BMS_FtAuxRelayWeld = 0xFF;
|
|
|
- BMS_BraOpenCirc = 0xFF;
|
|
|
- BMS_FtBackCharCurrOutLim = 0xFF;
|
|
|
- BMS_FtPosRlyOpen = 0xFF;
|
|
|
- BMS_FtNegRlyOpen = 0xFF;
|
|
|
- BMS_FtPosCharRly1Open = 0xFF;
|
|
|
- BMS_FtPosCharRly2Open = 0xFF;
|
|
|
- BMS_FtNegCharRly1Open = 0xFF;
|
|
|
- BMS_FtNegCharRly2Open = 0xFF;
|
|
|
- BMS_FtTMSContClose = 0xFF;
|
|
|
- BMS_FtTMSContOpen = 0xFF;
|
|
|
- BMS_FtTMS = 0xFF;
|
|
|
- BMS_Ft24VSpy = 0xFF;
|
|
|
- BMS_FtPACKSelfProt = 0xFF;
|
|
|
- BMS_FtCharSockTempOver = 0xFF;
|
|
|
- BMS_FtTempOutCtrl = 0xFF;
|
|
|
- BMS_StPosHeatRly = 0xFF;
|
|
|
- BMS_StNegHeatRly = 0xFF;
|
|
|
- BMS_CharSysNum = 0xFF;
|
|
|
- BMS_FtCode = 0xFF;
|
|
|
- break;
|
|
|
- case 0x1881D0F3:
|
|
|
- BMS_ST1CheckSum = 0xFF;
|
|
|
- BMS_ST1Counter = 0xFF;
|
|
|
- BMS_Mode = 0xFF;
|
|
|
- BMS_AuxRlySt = 0xFF;
|
|
|
- BMS_BattBalaSt = 0xFF;
|
|
|
- BMS_CharGunSt = 0xFF;
|
|
|
- BMS_CharMode = 0xFF;
|
|
|
- BMS_CharSt = 0xFF;
|
|
|
- BMS_FtLvl = 0xFF;
|
|
|
- BMS_FtCellTempDiff = 0xFF;
|
|
|
- BMS_FtCellTempHigh = 0xFF;
|
|
|
- BMS_FtPACKOverVolt = 0xFF;
|
|
|
- BMS_FtPACKUndeVolt = 0xFF;
|
|
|
- BMS_FtSOCLow = 0xFF;
|
|
|
- BMS_FtCellOverVolt = 0xFF;
|
|
|
- BMS_FtCellUndeVolt = 0xFF;
|
|
|
- BMS_FtIns = 0xFF;
|
|
|
- BMS_FtCellOverVoltDiff = 0xFF;
|
|
|
- BMS_FtCharCurrOver = 0xFF;
|
|
|
- BMS_FtDisCharCurrOver = 0xFF;
|
|
|
- BMS_FtCellTempLow = 0xFF;
|
|
|
- BMS_FtBranVoltDifOver = 0xFF;
|
|
|
- BMS_FtBMSHardWare = 0xFF;
|
|
|
- BMS_FtSOCHigh = 0xFF;
|
|
|
- BMS_FtSOCJump = 0xFF;
|
|
|
- BMS_FtInCom = 0xFF;
|
|
|
- BMS_FtSysMism = 0xFF;
|
|
|
- BMS_FtHvIntLock = 0xFF;
|
|
|
- BMS_FtSmoke = 0xFF;
|
|
|
- BMS_FtFire = 0xFF;
|
|
|
- BMS_FtNum = 0xFF;
|
|
|
- break;
|
|
|
- case 0x1882D0F3:
|
|
|
- BMS_PackSOC = 0xFF;
|
|
|
- BMS_PackSOH = 0xFF;
|
|
|
- BMS_PackCurr = 0xFFFF;
|
|
|
- BMS_MaxCharCurr = 0xFFFF;
|
|
|
- BMS_MaxDisCharCurr = 0xFFFF;
|
|
|
- break;
|
|
|
- case 0x1883D0F3:
|
|
|
- BMS_PosIns = 0xFFFF;
|
|
|
- BMS_NegIns = 0xFFFF;
|
|
|
- BMS_BattVolt = 0xFFFF;
|
|
|
- BMS_LinkVolt = 0xFFFF;
|
|
|
- break;
|
|
|
- case 0x1884D0F3:
|
|
|
- BMS_MaxCellTemp = 0xFF;
|
|
|
- BMS_MinCellTemp = 0xFF;
|
|
|
- BMS_AverCellTemp = 0xFF;
|
|
|
- BMS_MaxCellTempCSC = 0xFF;
|
|
|
- BMS_MaxCellTempNum = 0xFF;
|
|
|
- BMS_MinCellTempCSC = 0xFF;
|
|
|
- BMS_MinCellTempNum = 0xFF;
|
|
|
- break;
|
|
|
- case 0x1885D0F3:
|
|
|
- BMS_MaxCellVolt = 0xFFFF;
|
|
|
- BMS_MaxCellVoltCSC = 0xFF;
|
|
|
- BMS_MaxCellVoltNum = 0xFF;
|
|
|
- BMS_AverCellVolt = 0xFFFF;
|
|
|
- break;
|
|
|
- case 0x1886D0F3:
|
|
|
- BMS_MinCellVolt = 0xFFFF;
|
|
|
- BMS_MinCellVoltCSC = 0xFF;
|
|
|
- BMS_MinCellVoltNum = 0xFF;
|
|
|
- BMS_ContChrgCurr = 0xFFFF;
|
|
|
- BMS_ContDisCharCurr = 0xFFFF;
|
|
|
- break;
|
|
|
- case 0x1887D0F3:
|
|
|
- BMS_CharReqVolt = 0xFFFF;
|
|
|
- BMS_CharReqCurr = 0xFFFF;
|
|
|
- BMS_SysInsRes = 0xFFFF;
|
|
|
- BMS_InsDeteSt = 0xFF;
|
|
|
- BMS_FtCharInsLow = 0xFF;
|
|
|
- BMS_FtCurrSenr = 0xFF;
|
|
|
- BMS_FtHeatingFilm = 0xFF;
|
|
|
- BMS_FtMainLoopPreChar = 0xFF;
|
|
|
- BMS_FtAuxLoopPreChar = 0xFF;
|
|
|
- BMS_FtACANLost = 0xFF;
|
|
|
- BMS_FtDCDC = 0xFF;
|
|
|
- BMS_FtSOCDif = 0xFF;
|
|
|
- BMS_FtCellOverDisChar = 0xFF;
|
|
|
- BMS_FtCharOver = 0xFF;
|
|
|
- BMS_FtContDisCharCurrOverLoad = 0xFF;
|
|
|
- BMS_FtContCharCurrOverLoad = 0xFF;
|
|
|
- break;
|
|
|
- case 0x1888D0F3:
|
|
|
- BMS_MaxDisCharPwr = 0xFFFF;
|
|
|
- BMS_MaxCharPwr = 0xFFFF;
|
|
|
- BMS_ContDisCharPwr = 0xFFFF;
|
|
|
- BMS_ContCharPwr = 0xFFFF;
|
|
|
- break;
|
|
|
- case 0x1889D0F3:
|
|
|
- BMS_InstEngyCons = 0xFFFF;
|
|
|
- BMS_TotalEngyCons = 0xFFFF;
|
|
|
- BMS_SOE = 0xFFFF;
|
|
|
- BMS_RmanCharTime = 0xFFFF;
|
|
|
- break;
|
|
|
- case 0x188AD0F3:
|
|
|
- BMS_Gun1DCNegTemp = 0xFF;
|
|
|
- BMS_Gun1DCPosTemp = 0xFF;
|
|
|
- BMS_Gun2DCNegTemp = 0xFF;
|
|
|
- BMS_Gun2DCPosTemp = 0xFF;
|
|
|
- BMS_CurrHeatSt = 0xFF;
|
|
|
- BMS_CurrCoolSt = 0xFF;
|
|
|
- BMS_FtCharCnct = 0xFF;
|
|
|
- BMS_FtOverDisCharCurrDuringChar = 0xFF;
|
|
|
- BMS_FtCharNTC = 0xFF;
|
|
|
- BMS_FtELock = 0xFF;
|
|
|
- BMS_CharNum = 0xFFFF;
|
|
|
- break;
|
|
|
- case 0x18C1D0F3:
|
|
|
- BMS_CellVoltFramNum = 0xFF;
|
|
|
- for (UINT16 i = 0; i < sizeof(BMS_CellVolt) / 2; i++)
|
|
|
- {
|
|
|
- BMS_CellVolt[i] = 0xFFFF;
|
|
|
- }
|
|
|
- break;
|
|
|
- case 0x18C2D0F3:
|
|
|
- BMS_CellTempFramNum = 0xFF;
|
|
|
- BMS_CSC_Code = 0xFF;
|
|
|
- for (UINT8 i = 0; i < sizeof(BMS_CellTemp); i++)
|
|
|
- {
|
|
|
- BMS_CellTemp[i] = 0xFF;
|
|
|
- }
|
|
|
- break;
|
|
|
- case 0x18E1D0F3:
|
|
|
- BMS_Checksum = 0xFF;
|
|
|
- BMS_PackComp = 0xFF;
|
|
|
- BMS_BattCodeLeng = 0xFF;
|
|
|
- BMS_SN[0] = 0xFF;
|
|
|
- BMS_SN[1] = 0xFF;
|
|
|
- BMS_SN[2] = 0xFF;
|
|
|
- BMS_SN[3] = 0xFF;
|
|
|
- BMS_SN[4] = 0xFF;
|
|
|
- BMS_SN[5] = 0xFF;
|
|
|
- break;
|
|
|
- case 0x18E2D0F3:
|
|
|
- BMS_Checksum = 0xFF;
|
|
|
- BMS_SN[6] = 0xFF;
|
|
|
- BMS_SN[7] = 0xFF;
|
|
|
- BMS_SN[8] = 0xFF;
|
|
|
- BMS_SN[9] = 0xFF;
|
|
|
- BMS_SN[10] = 0xFF;
|
|
|
- BMS_SN[11] = 0xFF;
|
|
|
- BMS_SN[12] = 0xFF;
|
|
|
- break;
|
|
|
- case 0x18E3D0F3:
|
|
|
- BMS_Checksum = 0xFF;
|
|
|
- BMS_SN[13] = 0xFF;
|
|
|
- BMS_SN[14] = 0xFF;
|
|
|
- BMS_SN[15] = 0xFF;
|
|
|
- BMS_SN[16] = 0xFF;
|
|
|
- BMS_SN[17] = 0xFF;
|
|
|
- BMS_SN[18] = 0xFF;
|
|
|
- BMS_SN[19] = 0xFF;
|
|
|
- break;
|
|
|
- case 0x18E4D0F3:
|
|
|
- BMS_Checksum = 0xFF;
|
|
|
- BMS_SN[20] = 0xFF;
|
|
|
- BMS_SN[21] = 0xFF;
|
|
|
- BMS_SN[22] = 0xFF;
|
|
|
- BMS_SN[23] = 0xFF;
|
|
|
- BMS_SN[24] = 0xFF;
|
|
|
- BMS_SN[25] = 0xFF;
|
|
|
- BMS_SN[26] = 0xFF;
|
|
|
- break;
|
|
|
- case 0x18E5D0F3:
|
|
|
- BMS_BattRateCap = 0xFFFF;
|
|
|
- BMS_BattRateVolt = 0xFFFF;
|
|
|
- BMS_BattRateEngy = 0xFFFF;
|
|
|
- BMS_BattType = 0xFF;
|
|
|
- BMS_CoolType = 0xFF;
|
|
|
- break;
|
|
|
- case 0x18E6D0F3:
|
|
|
- BMS_CSC_Total = 0xFF;
|
|
|
- BMS_CellTotal = BMS_CELL_MAX_NUM;
|
|
|
- BMS_TempTotal = BMS_TEMP_MAX_NUM;
|
|
|
- BMS_CellVoltLevel = 0xFF;
|
|
|
- BMS_CellMinVolt = 0xFF;
|
|
|
- BMS_CellMaxVolt = 0xFF;
|
|
|
- break;
|
|
|
- case 0x18F1D0F3:
|
|
|
- BMS_TotalCharEngy = 0xFFFFFFFF;
|
|
|
- BMS_TotalDisCharEngy = 0xFFFFFFFF;
|
|
|
- BMS_SingleCharEngy = 0xFFFF;
|
|
|
- break;
|
|
|
- case 0x18F2D0F3:
|
|
|
- BMS_TotalBackCharEngy = 0xFFFFFFFF;
|
|
|
- BMS_TotalStaCharEngy = 0xFFFFFFFF;
|
|
|
- break;
|
|
|
- case 0x18F3D0F3:
|
|
|
- BMS_TotalGunCharEngy = 0xFFFFFFFF;
|
|
|
- BMS_TotalGunCharCapy = 0xFFFFFFFF;
|
|
|
- break;
|
|
|
- case 0x18F4D0F3:
|
|
|
- BMS_TotalCharCapy = 0xFFFFFFFF;
|
|
|
- BMS_TotalDisCharCapy = 0xFFFFFFFF;
|
|
|
- BMS_SingleCharCapy = 0xFFFF;
|
|
|
- break;
|
|
|
- case 0x18F5D0F3:
|
|
|
- BMS_TotalBackCharCapy = 0xFFFFFFFF;
|
|
|
- BMS_TotalStaCharCapy = 0xFFFFFFFF;
|
|
|
- BMS_HVBranNum = 0xFF;
|
|
|
- BMS_SingleHVBranchCellNum = 0xFF;
|
|
|
- break;
|
|
|
- case 0x18FF45F4:
|
|
|
- BMS_ReqMode = 0xFF;
|
|
|
- BMS_HVCmd = 0xFF;
|
|
|
- BMS_ChgSts = 0xFF;
|
|
|
- BMS_HVRelaySts = 0xFF;
|
|
|
- BMS_HVVolt = 0xFFFF;
|
|
|
- BMS_SetTemp = 0xFF;
|
|
|
- BMS_Life = 0xFF;
|
|
|
- BMS_CRC = 0xFF;
|
|
|
- break;
|
|
|
- case 0x18FFC13A:
|
|
|
- TMS_WorkStatus = 0xFF;
|
|
|
- TMS_HVRelayST = 0xFF;
|
|
|
- TMS_OutletTemp = 0xFF;
|
|
|
- TMS_InletTemp = 0xFF;
|
|
|
- TMS_ReqPow = 0xFFFF;
|
|
|
- TMS_ErrCode = 0xFF;
|
|
|
- TMS_FaultLevel = 0xFF;
|
|
|
+ case 0x721:
|
|
|
+ VcuBcuOperModReq = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x830:
|
|
|
+ BcuSoc = 0xFFFF;
|
|
|
+ BcuErrCode = 0xFFFF;
|
|
|
+ BcuErrRank = 0xFF;
|
|
|
+ BcuErrNum = 0xFF;
|
|
|
+ BcuUpAlw = 0xFF;
|
|
|
+ BcuInsulationR = 0xFFFF;
|
|
|
+ BcuOperMod = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x831:
|
|
|
+ BcuBattI1 = 0xFFFF;
|
|
|
+ BcuBattI2 = 0xFFFF;
|
|
|
+ BcuBattU1 = 0xFFFF;
|
|
|
+ BcuBattU2 = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x832:
|
|
|
+ BcuChrgMod = 0xFF;
|
|
|
+ BcuChrgSt = 0xFF;
|
|
|
+ BcuChrgIReq = 0xFFFF;
|
|
|
+ BcuChrgUReq = 0xFFFF;
|
|
|
+ BcuReChrgTm = 0xFFFF;
|
|
|
+ BcuChrgEndReason = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x833:
|
|
|
+ BcuDisChrPwrMaxLong = 0xFFFF;
|
|
|
+ BcuChrPwrMaxLong = 0xFFFFFFFF;
|
|
|
+ break;
|
|
|
+ case 0x834:
|
|
|
+ BcuSoh = 0xFFFF;
|
|
|
+ BcuCellNr = 0xFF;
|
|
|
+ BcuCellCap = 0xFFFF;
|
|
|
+ BcuCellR = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x835:
|
|
|
+ BcuReEgy = 0xFFFF;
|
|
|
+ BcuSoe = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x837:
|
|
|
+ BcuAhSoc = 0xFFFF;
|
|
|
+ BcuBattSoc = 0xFFFF;
|
|
|
+ BcuEKFSoc = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x840:
|
|
|
+ BcuEquilist[0] = 0xFFFF;
|
|
|
+ BcuEquilist[1] = 0xFFFF;
|
|
|
+ BcuEquilist[2] = 0xFFFF;
|
|
|
+ BcuEquilist[3] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x841:
|
|
|
+ BcuEquilist[4] = 0xFFFF;
|
|
|
+ BcuEquilist[5] = 0xFFFF;
|
|
|
+ BcuEquilist[6] = 0xFFFF;
|
|
|
+ BcuEquilist[7] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x842:
|
|
|
+ BcuEquilist[8] = 0xFFFF;
|
|
|
+ BcuEquilist[9] = 0xFFFF;
|
|
|
+ BcuEquilist[10] = 0xFFFF;
|
|
|
+ BcuEquilist[11] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x843:
|
|
|
+ BcuCellU[0] = 0xFFFF;
|
|
|
+ BcuCellU[1] = 0xFFFF;
|
|
|
+ BcuCellU[2] = 0xFFFF;
|
|
|
+ BcuCellU[3] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x844:
|
|
|
+ BcuCellU[4] = 0xFFFF;
|
|
|
+ BcuCellU[5] = 0xFFFF;
|
|
|
+ BcuCellU[6] = 0xFFFF;
|
|
|
+ BcuCellU[7] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x845:
|
|
|
+ BcuCellU[8] = 0xFFFF;
|
|
|
+ BcuCellU[9] = 0xFFFF;
|
|
|
+ BcuCellU[10] = 0xFFFF;
|
|
|
+ BcuCellU[11] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x846:
|
|
|
+ BcuCellU[12] = 0xFFFF;
|
|
|
+ BcuCellU[13] = 0xFFFF;
|
|
|
+ BcuCellU[14] = 0xFFFF;
|
|
|
+ BcuCellU[15] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x847:
|
|
|
+ BcuCellU[16] = 0xFFFF;
|
|
|
+ BcuCellU[17] = 0xFFFF;
|
|
|
+ BcuCellU[18] = 0xFFFF;
|
|
|
+ BcuCellU[19] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x848:
|
|
|
+ BcuCellU[20] = 0xFFFF;
|
|
|
+ BcuCellU[21] = 0xFFFF;
|
|
|
+ BcuCellU[22] = 0xFFFF;
|
|
|
+ BcuCellU[23] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x849:
|
|
|
+ BcuCellU[24] = 0xFFFF;
|
|
|
+ BcuCellU[25] = 0xFFFF;
|
|
|
+ BcuCellU[26] = 0xFFFF;
|
|
|
+ BcuCellU[27] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x84A:
|
|
|
+ BcuCellU[28] = 0xFFFF;
|
|
|
+ BcuCellU[29] = 0xFFFF;
|
|
|
+ BcuCellU[30] = 0xFFFF;
|
|
|
+ BcuCellU[31] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x84B:
|
|
|
+ BcuCellU[32] = 0xFFFF;
|
|
|
+ BcuCellU[33] = 0xFFFF;
|
|
|
+ BcuCellU[34] = 0xFFFF;
|
|
|
+ BcuCellU[35] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x84C:
|
|
|
+ BcuCellU[36] = 0xFFFF;
|
|
|
+ BcuCellU[37] = 0xFFFF;
|
|
|
+ BcuCellU[38] = 0xFFFF;
|
|
|
+ BcuCellU[39] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x84D:
|
|
|
+ BcuCellU[40] = 0xFFFF;
|
|
|
+ BcuCellU[41] = 0xFFFF;
|
|
|
+ BcuCellU[42] = 0xFFFF;
|
|
|
+ BcuCellU[43] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x84E:
|
|
|
+ BcuCellU[44] = 0xFFFF;
|
|
|
+ BcuCellU[45] = 0xFFFF;
|
|
|
+ BcuCellU[46] = 0xFFFF;
|
|
|
+ BcuCellU[47] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x84F:
|
|
|
+ BcuCellU[48] = 0xFFFF;
|
|
|
+ BcuCellU[49] = 0xFFFF;
|
|
|
+ BcuCellU[50] = 0xFFFF;
|
|
|
+ BcuCellU[51] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x850:
|
|
|
+ BcuCellU[52] = 0xFFFF;
|
|
|
+ BcuCellU[53] = 0xFFFF;
|
|
|
+ BcuCellU[54] = 0xFFFF;
|
|
|
+ BcuCellU[55] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x851:
|
|
|
+ BcuCellU[56] = 0xFFFF;
|
|
|
+ BcuCellU[57] = 0xFFFF;
|
|
|
+ BcuCellU[58] = 0xFFFF;
|
|
|
+ BcuCellU[59] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x852:
|
|
|
+ BcuCellU[60] = 0xFFFF;
|
|
|
+ BcuCellU[61] = 0xFFFF;
|
|
|
+ BcuCellU[62] = 0xFFFF;
|
|
|
+ BcuCellU[63] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x853:
|
|
|
+ BcuCellU[64] = 0xFFFF;
|
|
|
+ BcuCellU[65] = 0xFFFF;
|
|
|
+ BcuCellU[66] = 0xFFFF;
|
|
|
+ BcuCellU[67] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x854:
|
|
|
+ BcuCellU[68] = 0xFFFF;
|
|
|
+ BcuCellU[69] = 0xFFFF;
|
|
|
+ BcuCellU[70] = 0xFFFF;
|
|
|
+ BcuCellU[71] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x855:
|
|
|
+ BcuCellU[72] = 0xFFFF;
|
|
|
+ BcuCellU[73] = 0xFFFF;
|
|
|
+ BcuCellU[74] = 0xFFFF;
|
|
|
+ BcuCellU[75] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x856:
|
|
|
+ BcuCellU[76] = 0xFFFF;
|
|
|
+ BcuCellU[77] = 0xFFFF;
|
|
|
+ BcuCellU[78] = 0xFFFF;
|
|
|
+ BcuCellU[79] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x857:
|
|
|
+ BcuCellU[80] = 0xFFFF;
|
|
|
+ BcuCellU[81] = 0xFFFF;
|
|
|
+ BcuCellU[82] = 0xFFFF;
|
|
|
+ BcuCellU[83] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x858:
|
|
|
+ BcuCellU[84] = 0xFFFF;
|
|
|
+ BcuCellU[85] = 0xFFFF;
|
|
|
+ BcuCellU[86] = 0xFFFF;
|
|
|
+ BcuCellU[87] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x859:
|
|
|
+ BcuCellU[88] = 0xFFFF;
|
|
|
+ BcuCellU[89] = 0xFFFF;
|
|
|
+ BcuCellU[90] = 0xFFFF;
|
|
|
+ BcuCellU[91] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x85A:
|
|
|
+ BcuCellU[92] = 0xFFFF;
|
|
|
+ BcuCellU[93] = 0xFFFF;
|
|
|
+ BcuCellU[94] = 0xFFFF;
|
|
|
+ BcuCellU[95] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x85B:
|
|
|
+ BcuCellU[96] = 0xFFFF;
|
|
|
+ BcuCellU[97] = 0xFFFF;
|
|
|
+ BcuCellU[98] = 0xFFFF;
|
|
|
+ BcuCellU[99] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x85C:
|
|
|
+ BcuCellU[100] = 0xFFFF;
|
|
|
+ BcuCellU[101] = 0xFFFF;
|
|
|
+ BcuCellU[102] = 0xFFFF;
|
|
|
+ BcuCellU[103] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x85D:
|
|
|
+ BcuCellU[104] = 0xFFFF;
|
|
|
+ BcuCellU[105] = 0xFFFF;
|
|
|
+ BcuCellU[106] = 0xFFFF;
|
|
|
+ BcuCellU[107] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x85E:
|
|
|
+ BcuCellU[108] = 0xFFFF;
|
|
|
+ BcuCellU[109] = 0xFFFF;
|
|
|
+ BcuCellU[110] = 0xFFFF;
|
|
|
+ BcuCellU[111] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x85F:
|
|
|
+ BcuCellU[112] = 0xFFFF;
|
|
|
+ BcuCellU[113] = 0xFFFF;
|
|
|
+ BcuCellU[114] = 0xFFFF;
|
|
|
+ BcuCellU[115] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x860:
|
|
|
+ BcuCellU[116] = 0xFFFF;
|
|
|
+ BcuCellU[117] = 0xFFFF;
|
|
|
+ BcuCellU[118] = 0xFFFF;
|
|
|
+ BcuCellU[119] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x861:
|
|
|
+ BcuCellU[120] = 0xFFFF;
|
|
|
+ BcuCellU[121] = 0xFFFF;
|
|
|
+ BcuCellU[122] = 0xFFFF;
|
|
|
+ BcuCellU[123] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x862:
|
|
|
+ BcuCellU[124] = 0xFFFF;
|
|
|
+ BcuCellU[125] = 0xFFFF;
|
|
|
+ BcuCellU[126] = 0xFFFF;
|
|
|
+ BcuCellU[127] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x863:
|
|
|
+ BcuCellU[128] = 0xFFFF;
|
|
|
+ BcuCellU[129] = 0xFFFF;
|
|
|
+ BcuCellU[130] = 0xFFFF;
|
|
|
+ BcuCellU[131] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x864:
|
|
|
+ BcuCellU[132] = 0xFFFF;
|
|
|
+ BcuCellU[133] = 0xFFFF;
|
|
|
+ BcuCellU[134] = 0xFFFF;
|
|
|
+ BcuCellU[135] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x865:
|
|
|
+ BcuCellU[136] = 0xFFFF;
|
|
|
+ BcuCellU[137] = 0xFFFF;
|
|
|
+ BcuCellU[138] = 0xFFFF;
|
|
|
+ BcuCellU[139] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x866:
|
|
|
+ BcuCellU[140] = 0xFFFF;
|
|
|
+ BcuCellU[141] = 0xFFFF;
|
|
|
+ BcuCellU[142] = 0xFFFF;
|
|
|
+ BcuCellU[143] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x867:
|
|
|
+ BcuCellU[144] = 0xFFFF;
|
|
|
+ BcuCellU[145] = 0xFFFF;
|
|
|
+ BcuCellU[146] = 0xFFFF;
|
|
|
+ BcuCellU[147] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x868:
|
|
|
+ BcuCellU[148] = 0xFFFF;
|
|
|
+ BcuCellU[149] = 0xFFFF;
|
|
|
+ BcuCellU[150] = 0xFFFF;
|
|
|
+ BcuCellU[151] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x869:
|
|
|
+ BcuCellU[152] = 0xFFFF;
|
|
|
+ BcuCellU[153] = 0xFFFF;
|
|
|
+ BcuCellU[154] = 0xFFFF;
|
|
|
+ BcuCellU[155] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x86A:
|
|
|
+ BcuCellU[156] = 0xFFFF;
|
|
|
+ BcuCellU[157] = 0xFFFF;
|
|
|
+ BcuCellU[158] = 0xFFFF;
|
|
|
+ BcuCellU[159] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x86B:
|
|
|
+ BcuCellU[160] = 0xFFFF;
|
|
|
+ BcuCellU[161] = 0xFFFF;
|
|
|
+ BcuCellU[162] = 0xFFFF;
|
|
|
+ BcuCellU[163] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x86C:
|
|
|
+ BcuCellU[164] = 0xFFFF;
|
|
|
+ BcuCellU[165] = 0xFFFF;
|
|
|
+ BcuCellU[166] = 0xFFFF;
|
|
|
+ BcuCellU[167] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x86D:
|
|
|
+ BcuCellU[168] = 0xFFFF;
|
|
|
+ BcuCellU[169] = 0xFFFF;
|
|
|
+ BcuCellU[170] = 0xFFFF;
|
|
|
+ BcuCellU[171] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x86E:
|
|
|
+ BcuCellU[172] = 0xFFFF;
|
|
|
+ BcuCellU[173] = 0xFFFF;
|
|
|
+ BcuCellU[174] = 0xFFFF;
|
|
|
+ BcuCellU[175] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x86F:
|
|
|
+ BcuCellU[176] = 0xFFFF;
|
|
|
+ BcuCellU[177] = 0xFFFF;
|
|
|
+ BcuCellU[178] = 0xFFFF;
|
|
|
+ BcuCellU[179] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x870:
|
|
|
+ BcuCellU[180] = 0xFFFF;
|
|
|
+ BcuCellU[181] = 0xFFFF;
|
|
|
+ BcuCellU[182] = 0xFFFF;
|
|
|
+ BcuCellU[183] = 0xFFFF;
|
|
|
+ break;
|
|
|
+ case 0x871:
|
|
|
+ break;
|
|
|
+ case 0x872:
|
|
|
+ break;
|
|
|
+ case 0x873:
|
|
|
+ BcuModT[0] = 0xFF;
|
|
|
+ BcuModT[1] = 0xFF;
|
|
|
+ BcuModT[2] = 0xFF;
|
|
|
+ BcuModT[3] = 0xFF;
|
|
|
+ BcuModT[4] = 0xFF;
|
|
|
+ BcuModT[5] = 0xFF;
|
|
|
+ BcuModT[6] = 0xFF;
|
|
|
+ BcuModT[7] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x874:
|
|
|
+ BcuModT[8] = 0xFF;
|
|
|
+ BcuModT[9] = 0xFF;
|
|
|
+ BcuModT[10] = 0xFF;
|
|
|
+ BcuModT[11] = 0xFF;
|
|
|
+ BcuModT[12] = 0xFF;
|
|
|
+ BcuModT[13] = 0xFF;
|
|
|
+ BcuModT[14] = 0xFF;
|
|
|
+ BcuModT[15] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x875:
|
|
|
+ BcuModT[16] = 0xFF;
|
|
|
+ BcuModT[17] = 0xFF;
|
|
|
+ BcuModT[18] = 0xFF;
|
|
|
+ BcuModT[19] = 0xFF;
|
|
|
+ BcuModT[20] = 0xFF;
|
|
|
+ BcuModT[21] = 0xFF;
|
|
|
+ BcuModT[22] = 0xFF;
|
|
|
+ BcuModT[23] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x876:
|
|
|
+ BcuModT[24] = 0xFF;
|
|
|
+ BcuModT[25] = 0xFF;
|
|
|
+ BcuModT[26] = 0xFF;
|
|
|
+ BcuModT[27] = 0xFF;
|
|
|
+ BcuModT[28] = 0xFF;
|
|
|
+ BcuModT[29] = 0xFF;
|
|
|
+ BcuModT[30] = 0xFF;
|
|
|
+ BcuModT[31] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x877:
|
|
|
+ BcuModT[32] = 0xFF;
|
|
|
+ BcuModT[33] = 0xFF;
|
|
|
+ BcuModT[34] = 0xFF;
|
|
|
+ BcuModT[35] = 0xFF;
|
|
|
+ BcuModT[36] = 0xFF;
|
|
|
+ BcuModT[37] = 0xFF;
|
|
|
+ BcuModT[38] = 0xFF;
|
|
|
+ BcuModT[39] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x878:
|
|
|
+ BcuModT[40] = 0xFF;
|
|
|
+ BcuModT[41] = 0xFF;
|
|
|
+ BcuModT[42] = 0xFF;
|
|
|
+ BcuModT[43] = 0xFF;
|
|
|
+ BcuModT[44] = 0xFF;
|
|
|
+ BcuModT[45] = 0xFF;
|
|
|
+ BcuModT[46] = 0xFF;
|
|
|
+ BcuModT[47] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x879:
|
|
|
+ BcuModT[48] = 0xFF;
|
|
|
+ BcuModT[49] = 0xFF;
|
|
|
+ BcuModT[50] = 0xFF;
|
|
|
+ BcuModT[51] = 0xFF;
|
|
|
+ BcuModT[52] = 0xFF;
|
|
|
+ BcuModT[53] = 0xFF;
|
|
|
+ BcuModT[54] = 0xFF;
|
|
|
+ BcuModT[55] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x87A:
|
|
|
+ BcuModT[56] = 0xFF;
|
|
|
+ BcuModT[57] = 0xFF;
|
|
|
+ BcuModT[58] = 0xFF;
|
|
|
+ BcuModT[59] = 0xFF;
|
|
|
+ BcuModT[60] = 0xFF;
|
|
|
+ BcuModT[61] = 0xFF;
|
|
|
+ BcuModT[62] = 0xFF;
|
|
|
+ BcuModT[63] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x87B:
|
|
|
+ BcuModT[64] = 0xFF;
|
|
|
+ BcuModT[65] = 0xFF;
|
|
|
+ BcuModT[66] = 0xFF;
|
|
|
+ BcuModT[67] = 0xFF;
|
|
|
+ BcuModT[68] = 0xFF;
|
|
|
+ BcuModT[69] = 0xFF;
|
|
|
+ BcuModT[70] = 0xFF;
|
|
|
+ BcuModT[71] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x87C:
|
|
|
+ BcuModT[72] = 0xFF;
|
|
|
+ BcuModT[73] = 0xFF;
|
|
|
+ BcuModT[74] = 0xFF;
|
|
|
+ BcuModT[75] = 0xFF;
|
|
|
+ BcuModT[76] = 0xFF;
|
|
|
+ BcuModT[77] = 0xFF;
|
|
|
+ BcuModT[78] = 0xFF;
|
|
|
+ BcuModT[79] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x87D:
|
|
|
+ BcuModT[80] = 0xFF;
|
|
|
+ BcuModT[81] = 0xFF;
|
|
|
+ BcuModT[82] = 0xFF;
|
|
|
+ BcuModT[83] = 0xFF;
|
|
|
+ BcuModT[84] = 0xFF;
|
|
|
+ BcuModT[85] = 0xFF;
|
|
|
+ BcuModT[86] = 0xFF;
|
|
|
+ BcuModT[87] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 0x87E:
|
|
|
+ BcuModT[88] = 0xFF;
|
|
|
+ BcuModT[89] = 0xFF;
|
|
|
+ BcuModT[90] = 0xFF;
|
|
|
+ BcuModT[91] = 0xFF;
|
|
|
+ BcuModT[92] = 0xFF;
|
|
|
+ BcuModT[93] = 0xFF;
|
|
|
+ BcuModT[94] = 0xFF;
|
|
|
+ BcuModT[95] = 0xFF;
|
|
|
break;
|
|
|
default:
|
|
|
break;
|