/* * @Author : ChenJie * @Date : 2021-12-22 17:09:09 * @Version : V3.0 * @LastEditors : ChenJie * @LastEditTime : 2021-12-30 13:53:04 * @Description : BcuCan鍗忚瑙f瀽鍙婄粍鍖呭彂閫� * @FilePath : \VehicleControl\VehicleControl\src\System\Vehicle\Communication\BcuCanProtocolFunc.c */ #include "BcuCanProtocolFunc.h" /** * @brief :BcuCan瑙g爜鍑芥暟 * @param {UINT32} ID * @param {UINT8} *rawData * @return {*} */ void BcuDecodeFunction(UINT32 ID, UINT8 *rawData) { switch (ID) { case 0x1801EFF4: BMS13_ReqVIN = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BcuRxFlag[0] = 0x01; break; case 0x1801FBF4: BMS_Cell_Volt[0] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[1] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[2] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[3] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[1] = 0x01; break; case 0x1802FBF4: BMS_Cell_Volt[4] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[5] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[6] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[7] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[2] = 0x01; break; case 0x1803FBF4: BMS_Cell_Volt[8] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[9] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[10] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[11] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[3] = 0x01; break; case 0x1804FBF4: BMS_Cell_Volt[12] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[13] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[14] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[15] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[4] = 0x01; break; case 0x1805FBF4: BMS_Cell_Volt[16] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[17] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[18] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[19] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[5] = 0x01; break; case 0x1806FBF4: BMS_Cell_Volt[20] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[21] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[22] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[23] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[6] = 0x01; break; case 0x1807FBF4: BMS_Cell_Volt[24] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[25] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[26] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[27] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[7] = 0x01; break; case 0x1808FBF4: BMS_Cell_Volt[28] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[29] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[30] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[31] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[8] = 0x01; break; case 0x1809FBF4: BMS_Cell_Volt[32] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[33] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[34] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[35] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[9] = 0x01; break; case 0x180AFBF4: BMS_Cell_Volt[36] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[37] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[38] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[39] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[10] = 0x01; break; case 0x180BFBF4: BMS_Cell_Volt[40] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[41] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[42] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[43] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[11] = 0x01; break; case 0x180CFBF4: BMS_Cell_Volt[44] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[45] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[46] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[47] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[12] = 0x01; break; case 0x180DFBF4: BMS_Cell_Volt[48] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[49] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[50] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[51] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[13] = 0x01; break; case 0x180EFBF4: BMS_Cell_Volt[52] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[53] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[54] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[55] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[14] = 0x01; break; case 0x180FFBF4: BMS_Cell_Volt[56] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[57] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[58] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[59] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[15] = 0x01; break; case 0x1810FBF4: BMS_Cell_Volt[60] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[61] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[62] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[63] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[16] = 0x01; break; case 0x1811FBF4: BMS_Cell_Volt[64] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[65] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[66] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[67] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[17] = 0x01; break; case 0x1812FBF4: BMS_Cell_Volt[68] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[69] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[70] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[71] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[18] = 0x01; break; case 0x1813FBF4: BMS_Cell_Volt[72] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[73] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[74] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[75] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[19] = 0x01; break; case 0x1814FBF4: BMS_Cell_Volt[76] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[77] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[78] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[79] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[20] = 0x01; break; case 0x1815FBF4: BMS_Cell_Volt[80] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[81] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[82] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[83] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[21] = 0x01; break; case 0x1816FBF4: BMS_Cell_Volt[84] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[85] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[86] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[87] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[22] = 0x01; break; case 0x1817FBF4: BMS_Cell_Volt[88] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[89] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[90] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[91] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[23] = 0x01; break; case 0x1818FBF4: BMS_Cell_Volt[92] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[93] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[94] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[95] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[24] = 0x01; break; case 0x1819FBF4: BMS_Cell_Volt[96] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[97] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[98] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[99] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[25] = 0x01; break; case 0x181AFBF4: BMS_Cell_Volt[100] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[101] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[102] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[103] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[26] = 0x01; break; case 0x181BFBF4: BMS_Cell_Volt[104] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[105] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[106] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[107] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[27] = 0x01; break; case 0x181CFBF4: BMS_Cell_Volt[108] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[109] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[110] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[111] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[28] = 0x01; break; case 0x181DFBF4: BMS_Cell_Volt[112] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[113] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[114] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[115] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[29] = 0x01; break; case 0x181EFBF4: BMS_Cell_Volt[116] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[117] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[118] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[119] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[30] = 0x01; break; case 0x181FFBF4: BMS_Cell_Volt[120] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[121] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[122] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[123] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[31] = 0x01; break; case 0x1820FBF4: BMS_Cell_Volt[124] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[125] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[126] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[127] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[32] = 0x01; break; case 0x1821FBF4: BMS_Cell_Volt[128] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[129] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[130] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[131] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[33] = 0x01; break; case 0x1822FBF4: BMS_Cell_Volt[132] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[133] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[134] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[135] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[34] = 0x01; break; case 0x1823FBF4: BMS_Cell_Volt[136] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[137] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[138] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[139] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[35] = 0x01; break; case 0x1824FBF4: BMS_Cell_Volt[140] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[141] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[142] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[143] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[36] = 0x01; break; case 0x1825FBF4: BMS_Cell_Volt[144] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[145] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[146] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[147] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[37] = 0x01; break; case 0x1826FBF4: BMS_Cell_Volt[148] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[149] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[150] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[151] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[38] = 0x01; break; case 0x1827FBF4: BMS_Cell_Volt[152] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[153] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[154] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[155] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[39] = 0x01; break; case 0x1828FBF4: BMS_Cell_Volt[156] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[157] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[158] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[159] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[40] = 0x01; break; case 0x1829FBF4: BMS_Cell_Volt[160] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[161] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[162] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[163] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[41] = 0x01; break; case 0x182AFBF4: BMS_Cell_Volt[164] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[165] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[166] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[167] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[42] = 0x01; break; case 0x182BFBF4: BMS_Cell_Volt[168] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[169] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[170] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[171] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[43] = 0x01; break; case 0x182CFBF4: BMS_Cell_Volt[172] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[173] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[174] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[175] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[44] = 0x01; break; case 0x182DFBF4: BMS_Cell_Volt[176] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[177] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[178] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[179] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[45] = 0x01; break; case 0x182EFBF4: BMS_Cell_Volt[180] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[181] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[182] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[183] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[46] = 0x01; break; case 0x182FFBF4: BMS_Cell_Volt[184] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[185] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[186] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[187] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[47] = 0x01; break; case 0x1830FBF4: BMS_Cell_Volt[188] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[189] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[190] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[191] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[48] = 0x01; break; case 0x1831FBF4: BMS_Cell_Volt[192] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[193] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[194] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[195] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[49] = 0x01; break; case 0x1832FBF4: BMS_Cell_Volt[196] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[197] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[198] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[199] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[50] = 0x01; break; case 0x1833FBF4: BMS_Cell_Volt[200] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[201] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[202] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[203] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[51] = 0x01; break; case 0x1834FBF4: BMS_Cell_Volt[204] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[205] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[206] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[207] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[52] = 0x01; break; case 0x1835FBF4: BMS_Cell_Volt[208] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[209] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[210] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[211] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[53] = 0x01; break; case 0x1836FBF4: BMS_Cell_Volt[212] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[213] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[214] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[215] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[54] = 0x01; break; case 0x1837FBF4: BMS_Cell_Volt[216] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[217] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[218] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[219] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[55] = 0x01; break; case 0x1838FBF4: BMS_Cell_Volt[220] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[221] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[222] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[223] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[56] = 0x01; break; case 0x1839FBF4: BMS_Cell_Volt[224] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[225] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[226] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[227] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[57] = 0x01; break; case 0x183AFBF4: BMS_Cell_Volt[228] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[229] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[230] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[231] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[58] = 0x01; break; case 0x183BFBF4: BMS_Cell_Volt[232] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[233] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[234] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[235] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[59] = 0x01; break; case 0x183CFBF4: BMS_Cell_Volt[236] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[237] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[238] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[239] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[60] = 0x01; break; case 0x183DFBF4: BMS_Cell_Volt[240] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[241] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[242] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[243] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[61] = 0x01; break; case 0x183EFBF4: BMS_Cell_Volt[244] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[245] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[246] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[247] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[62] = 0x01; break; case 0x183FFBF4: BMS_Cell_Volt[248] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[249] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[250] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[251] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[63] = 0x01; break; case 0x1840FBF4: BMS_Cell_Volt[252] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[253] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[254] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[255] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[64] = 0x01; break; case 0x1841FBF4: BMS_Cell_Volt[256] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[257] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[258] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[259] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[65] = 0x01; break; case 0x1842FBF4: BMS_Cell_Volt[260] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[261] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[262] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[263] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[66] = 0x01; break; case 0x1843FBF4: BMS_Cell_Volt[264] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[265] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[266] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[267] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[67] = 0x01; break; case 0x1844FBF4: BMS_Cell_Volt[268] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[269] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[270] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[271] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[68] = 0x01; break; case 0x1845FBF4: BMS_Cell_Volt[272] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[273] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[274] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[275] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[69] = 0x01; break; case 0x1846FBF4: BMS_Cell_Volt[276] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[277] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[278] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[279] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[70] = 0x01; break; case 0x1847FBF4: BMS_Cell_Volt[280] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[281] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[282] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[283] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[71] = 0x01; break; case 0x1848FBF4: BMS_Cell_Volt[284] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[285] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[286] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[287] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[72] = 0x01; break; case 0x1849FBF4: BMS_Cell_Volt[288] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[289] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[290] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[291] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[73] = 0x01; break; case 0x184AFBF4: BMS_Cell_Volt[292] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[293] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[294] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[295] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[74] = 0x01; break; case 0x184BFBF4: BMS_Cell_Volt[296] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[297] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[298] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[299] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[75] = 0x01; break; case 0x184CFBF4: BMS_Cell_Volt[300] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[301] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[302] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[303] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[76] = 0x01; break; case 0x184DFBF4: BMS_Cell_Volt[304] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[305] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[306] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[307] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[77] = 0x01; break; case 0x184EFBF4: BMS_Cell_Volt[308] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[309] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[310] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[311] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[78] = 0x01; break; case 0x184FFBF4: BMS_Cell_Volt[312] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[313] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[314] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[315] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[79] = 0x01; break; case 0x1850FBF4: BMS_Cell_Volt[316] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[317] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[318] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[319] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[80] = 0x01; break; case 0x1851FBF4: BMS_Cell_Volt[320] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[321] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[322] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[323] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[81] = 0x01; break; case 0x1852FBF4: BMS_Cell_Volt[324] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[325] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[326] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[327] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[82] = 0x01; break; case 0x1853FBF4: BMS_Cell_Volt[328] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[329] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[330] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[331] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[83] = 0x01; break; case 0x1854FBF4: BMS_Cell_Volt[332] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[333] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[334] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[335] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[84] = 0x01; break; case 0x1855FBF4: BMS_Cell_Volt[336] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[337] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[338] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[339] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[85] = 0x01; break; case 0x1856FBF4: BMS_Cell_Volt[340] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[341] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[342] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[343] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[86] = 0x01; break; case 0x1857FBF4: BMS_Cell_Volt[344] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[345] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[346] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[347] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[87] = 0x01; break; case 0x1858FBF4: BMS_Cell_Volt[348] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[349] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[350] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[351] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[88] = 0x01; break; case 0x1859FBF4: BMS_Cell_Volt[352] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[353] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[354] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[355] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[89] = 0x01; break; case 0x185AFBF4: BMS_Cell_Volt[356] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[357] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[358] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[359] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[90] = 0x01; break; case 0x185BFBF4: BMS_Cell_Volt[360] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[361] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[362] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[363] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[91] = 0x01; break; case 0x185CFBF4: BMS_Cell_Volt[364] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[365] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[366] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[367] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[92] = 0x01; break; case 0x185DFBF4: BMS_Cell_Volt[368] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[369] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[370] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[371] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[93] = 0x01; break; case 0x185EFBF4: BMS_Cell_Volt[372] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[373] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[374] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[375] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[94] = 0x01; break; case 0x185FFBF4: BMS_Cell_Volt[376] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[377] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[378] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[379] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[95] = 0x01; break; case 0x1860FBF4: BMS_Cell_Volt[380] = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_Cell_Volt[381] = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS_Cell_Volt[382] = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS_Cell_Volt[383] = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[96] = 0x01; break; case 0x1881EFF4: BMS11_Fult1_DelTemp = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 2) & 0x3); BMS11_Fult1_OverTemp = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 4) & 0x3); BMS11_Fult1_PackOverHVolt = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 6) & 0x3); BMS11_Fult1_PackLowHVolt = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0x3); BMS11_Fult1_LowSOC = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 2) & 0x3); BMS11_Fult1_OverUcell = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 4) & 0x3); BMS11_Fult1_LowUcell = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 6) & 0x3); BMS11_Fult1_LowInsRes = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0x3); BMS11_Fult1_UcellUniformity = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 2) & 0x3); BMS11_Fult1_OverChg = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 4) & 0x3); BMS11_Fult1_OverSOC = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 6) & 0x3); BMS11_Fult1_SOCChangeFast = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0x1); BMS11_Fult1_BatSysNotMatch = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 1) & 0x1); BMS11_Fult1_HVILFault = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 2) & 0x1); BMS11_PackOutsideVolt = ((*(UINT8 *)(rawData + 4))|((*(UINT8 *)(rawData + 5)))<<8); BcuRxFlag[97] = 0x01; break; case 0x1882EFF4: BMS12_Fult2_FaultNum = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS12_Fult2_CellOverDischrg = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0x1); BMS12_Fult2_CellLowTemp = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 1) & 0x1); BMS12_Fult2_PackFireWarning = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 2) & 0x1); BMS12_Fult2_OverDischrgCurr = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 3) & 0x3); BMS12_Fult2_OverChrgCurrInTheDrive = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 5) & 0x3); BMS12_Fult2_CurrSensorErr = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 7) & 0x1); BMS12_Fult2_PowerSupplyErr = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0x1); BMS12_Fult2_TMSErr = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 1) & 0x1); BMS12_Fult2_HeatingFilmErr = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 2) & 0x1); BMS12_Fult2_PackSelfProtect = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 3) & 0x1); BMS12_Fult2_MainLoopPrechrgErr = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 4) & 0x1); BMS12_Fult2_AuxLoopPrechrgErr = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 5) & 0x1); BMS12_Fult2_ChrgInsLowErr = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 6) & 0x1); BMS12_Fult2_ACANLost = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 7) & 0x1); BMS12_Fult2_InnerCommunicationErr = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0x1); BMS12_Fult2_DCDCErr = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 1) & 0x1); BMS12_Fult2_BranchBreakErr = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 2) & 0x1); BMS12_Fult2_HeatRelayOpenErr = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 3) & 0x1); BMS12_Fult2_HeatRelayWeldErr = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 4) & 0x1); BMS12_Fult2_MainPosRelayOpenErr = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 5) & 0x1); BMS12_Fult2_MainPosRelayWeldErr = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 6) & 0x1); BMS12_Fult2_MainNegRelayOpenErr = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 7) & 0x1); BMS12_Fult2_MainNegRelayWeldErr = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0x1); BMS12_Fult2_DCChrgPos1RelayOpenErr = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 1) & 0x1); BMS12_Fult2_DCChrgPos1RelayWeldErr = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 2) & 0x1); BMS12_Fult2_DCChrgNeg1RelayOpenErr = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 3) & 0x1); BMS12_Fult2_DCChrgNeg1RelayWeldErr = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 4) & 0x1); BMS12_Fult2_DCChrgPos2RelayOpenErr = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 5) & 0x1); BMS12_Fult2_DCChrgPos2RelayWeldErr = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 6) & 0x1); BMS12_Fult2_DCChrgNeg2RelayOpenErr = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 7) & 0x1); BMS12_Fult2_DCChrgNeg2RelayWeldErr = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0x1); BMS12_Fult2_ChrgConnectErr = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 1) & 0x1); BMS12_ult2_OverDischrgCurrWhenInChrg = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 2) & 0x1); BMS12_Fult2_OverChrgCurrInTheChrg = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 3) & 0x1); BMS12_Fult2_ChrgNTCErr = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 4) & 0x1); BMS12_Fult2_ChrgNTCTempOver = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 5) & 0x3); BMS12_Fult2_ELockErr = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 7) & 0x1); BMS12_Fult2_FireDetectorEr = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0x1); BMS12_Fult2_ContiDischrgCurrOverLoad = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 1) & 0x3); BMS12_Fult2_SOCDifferErr = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 3) & 0x1); BMS12_Fult2_ContiChrgCurrOverLoad = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 4) & 0x3); BcuRxFlag[98] = 0x01; break; case 0x1883EFF4: BMS1_MainPosRelaySt = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0x3); BMS1_MainNegRelaySt = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 2) & 0x3); BMS1_PreChgRelaySt = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 4) & 0x3); BMS1_DCChrgPos1RelaySt = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 6) & 0x3); BMS1_DCChrgNeg1RelaySt = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0x3); BMS1_DCChrgPos2RelaySt = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 2) & 0x3); BMS1_DCChrgNeg2RelaySt = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 4) & 0x3); BMS1_HeatPosRelaySt = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 6) & 0x3); BMS1_HeatNegRelaySt = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0x3); BMS1_SysSts = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 2) & 0xF); BMS1_Life = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS1_BalanceStatus = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 2) & 0x1); BMS1_DCChrgConnectSt = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 3) & 0x3); BMS1_ChrgMode = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 7) & 0x3); BMS1_ChrgStatus = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 1) & 0x3); BMS1_HeatingStatus = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 3) & 0x1); BMS1_CoolingStatus = (UINT8)(((*(UINT8 *)(rawData + 5)) >> 4) & 0x3); BMS1_RechrgCycels = (UINT32)((*(rawData + 5) >> 6)|(*(rawData + 6)<<2)|(*(rawData + 7)<<10)); BcuRxFlag[99] = 0x01; break; case 0x1884EFF4: BMS2_SOC = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS2_SOH = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS2_PackCurrent = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS2_PackInsideVolt = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS2_FaultCode = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS2_FaultLevel = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0x3); BMS2_RqHVPoerOff = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 2) & 0x3); BMS2_Life = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 4) & 0xF); BcuRxFlag[100] = 0x01; break; case 0x1885EFF4: BMS4_PosIsolation = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS4_NegIsolation = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS4_SysInsRes = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS4_InsDetectorSt = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0x1); BcuRxFlag[101] = 0x01; break; case 0x1886EFF4: BMS8_Max_Temp = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS8_Min_Temp = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS8_Avg_Temp = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS8_MaxTempSysNr = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS8_MaxTempNr = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS8_MinTempSysNr = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS8_MinTempNr = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BcuRxFlag[102] = 0x01; break; case 0x1887EFF4: BMS6_Max_Ucell = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS6_Min_Ucell = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS6_Avg_Ucell = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS6_SOE = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[103] = 0x01; break; case 0x1888EFF4: BMS7_MaxUcellSysNr = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS7_MaxUcellNr = (UINT16)(((*(UINT8 *)(rawData + 1))) & 0xFFFF)|((((*(UINT8 *)(rawData + 2))) & 0xFFFF)<<8); BMS7_MinUcellSysNr = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS7_MinUcellNr = (UINT16)(((*(UINT8 *)(rawData + 4))) & 0xFFFF)|((((*(UINT8 *)(rawData + 5))) & 0xFFFF)<<8); BcuRxFlag[104] = 0x01; break; case 0x1889EFF4: BMS23_Gun1DCPosTemp = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS23_Gun1DCNegTemp = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS23_Gun2DCPosTemp = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS23_Gun2DCNegTemp = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS23_RemainChgTi = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[105] = 0x01; break; case 0x18A0FBF4: BMS_Cell_TempN[0] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS_Cell_TempN[1] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS_Cell_TempN[2] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS_Cell_TempN[3] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS_Cell_TempN[4] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS_Cell_TempN[5] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS_Cell_TempN[6] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS_Cell_TempN[7] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[106] = 0x01; break; case 0x18A1FBF4: BMS_Cell_TempN[8] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS_Cell_TempN[9] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS_Cell_TempN[10] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS_Cell_TempN[11] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS_Cell_TempN[12] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS_Cell_TempN[13] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS_Cell_TempN[14] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS_Cell_TempN[15] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[107] = 0x01; break; case 0x18A2FBF4: BMS_Cell_TempN[16] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS_Cell_TempN[17] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS_Cell_TempN[18] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS_Cell_TempN[19] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS_Cell_TempN[20] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS_Cell_TempN[21] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS_Cell_TempN[22] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS_Cell_TempN[23] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BMS_Cell_TempN[24] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS_Cell_TempN[25] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS_Cell_TempN[26] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS_Cell_TempN[27] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS_Cell_TempN[28] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS_Cell_TempN[29] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS_Cell_TempN[30] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS_Cell_TempN[31] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[108] = 0x01; break; case 0x18A3FBF4: BMS_Cell_TempN[32] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS_Cell_TempN[33] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS_Cell_TempN[34] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS_Cell_TempN[35] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS_Cell_TempN[36] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS_Cell_TempN[37] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS_Cell_TempN[38] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS_Cell_TempN[39] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[109] = 0x01; break; case 0x18A4FBF4: BMS_Cell_TempN[40] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS_Cell_TempN[41] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS_Cell_TempN[42] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS_Cell_TempN[43] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS_Cell_TempN[44] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS_Cell_TempN[45] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS_Cell_TempN[46] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS_Cell_TempN[47] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[110] = 0x01; break; case 0x18A5FBF4: BMS_Cell_TempN[48] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS_Cell_TempN[49] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS_Cell_TempN[50] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS_Cell_TempN[51] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS_Cell_TempN[52] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS_Cell_TempN[53] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS_Cell_TempN[54] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS_Cell_TempN[55] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[111] = 0x01; break; case 0x18A6FBF4: BMS_Cell_TempN[56] = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS_Cell_TempN[57] = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS_Cell_TempN[58] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS_Cell_TempN[59] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS_Cell_TempN[60] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS_Cell_TempN[61] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS_Cell_TempN[62] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS_Cell_TempN[63] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[112] = 0x01; break; case 0x18E1EFF4: { UINT8 SN_FrameNo = 0, SN_SysCodeLength; SN_FrameNo = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); SN_SysCodeLength = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS_SN_SysCode[0 + 6 * (SN_FrameNo - 1)] = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS_SN_SysCode[1 + 6 * (SN_FrameNo - 1)] = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS_SN_SysCode[2 + 6 * (SN_FrameNo - 1)] = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS_SN_SysCode[3 + 6 * (SN_FrameNo - 1)] = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS_SN_SysCode[4 + 6 * (SN_FrameNo - 1)] = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS_SN_SysCode[5 + 6 * (SN_FrameNo - 1)] = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[113] = 0x01; BCU_SnMsgFlag = BCU_SnMsgFlag | (1 << (SN_FrameNo - 1)); break; } case 0x18E2EFF4: BMS21_RateCap = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS21_RateHVolt = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS21_RatePower = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS21_BattType = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xF); BMS21_CoolType = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 4) & 0x3); BMS21_Manufacture = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 6) & 0xF); BMS21_ProtocolEditionH = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 2) & 0x3); BMS21_ProtocolEditionL = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 4) & 0xF); BcuRxFlag[114] = 0x01; break; case 0x18E3EFF4: BMS9_TotCSCNum = (UINT8)(((*(UINT8 *)(rawData + 0))) & 0xFF); BMS9_PackTotCellNum = (UINT16)(((*(UINT8 *)(rawData + 1))) & 0xFFFF)|((((*(UINT8 *)(rawData + 2))) & 0xFFFF)<<8); BMS9_PackTotTempNum = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF); BMS9_HVBranchNum = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS9_SingleHVBranchCellNum = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS9_BattSysNum = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS9_BattSysSeqNum = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[115] = 0x01; break; case 0x18E4EFF4: BMS22_PackAvaiMaxVolt = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS22_PackAvaiMinVolt = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS22_AvaiMaxSOC = (UINT8)(((*(UINT8 *)(rawData + 4))) & 0xFF); BMS22_AvaiMinSOC = (UINT8)(((*(UINT8 *)(rawData + 5))) & 0xFF); BMS22_AvaiMaxTemp = (UINT8)(((*(UINT8 *)(rawData + 6))) & 0xFF); BMS22_AvaiMinTemp = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[116] = 0x01; break; case 0x18FEDAF4: BMS_SoftwareVersion = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS_HardwareVersion = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BcuRxFlag[117] = 0x01; break; case 0x18FF23F4: BMS3_MaxDischgPow = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS3_MaxChgPow = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS3_MaxInstantDischgPow = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS3_MaxiInstantChgPow = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[118] = 0x01; break; case 0x18FF24F4: BMS10_SubSysEncodingLen = (UINT8)(((*(UINT8 *)(rawData + 1))) & 0xFF); BMS10_SubSysIdx = (UINT8)(((*(UINT8 *)(rawData + 2))) & 0xFF); BMS10_SubSysErrNum = (UINT8)(((*(UINT8 *)(rawData + 7))) & 0xFF); BcuRxFlag[119] = 0x01; break; case 0x18FF25F4: BMS5_DischgCurMaxAllw = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS5_ChrgCurMaxAllw = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS5_InstChrgCurMaxAllw = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS5_InstDischrgCurMaxAllw = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[120] = 0x01; break; case 0x18FF30F4: BMS26_Bat_InstantConsume = (UINT16)(((*(UINT16 *)(rawData + 0))) & 0xFFFF); BMS26_Bat_TotalConsume = (UINT16)(((*(UINT16 *)(rawData + 2))) & 0xFFFF); BMS26_ChgReqVoltage = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF); BMS26_ChgReqCurrent = (UINT16)(((*(UINT16 *)(rawData + 6))) & 0xFFFF); BcuRxFlag[121] = 0x01; break; case 0x18FF45F4: BMS28_ReqMode = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 0) & 0x3); BMS28_HVCmd = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 2) & 0x3); BMS28_ChgSts = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 4) & 0x3); BMS28_HVRelaySts = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 6) & 0x3); BMS28_HVVolt = (UINT16)(((*(UINT8 *)(rawData + 1))<<8)|(*(UINT8 *)(rawData + 2))); BMS28_SetTemp = (UINT8)(((*(UINT8 *)(rawData + 4)) >> 0) & 0xFF); BMS28_Life = (UINT8)(((*(UINT8 *)(rawData + 6)) >> 0) & 0xFF); BMS28_CRC = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 0) & 0xFF); BcuRxFlag[122] = 0x01; break; case 0x18FFC13A: TMS_WorkStatus = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 0) & 0x3); TMS_HVRelayST = (UINT8)(((*(UINT8 *)(rawData + 0)) >> 2) & 0x3); TMS_OutletTemp = (UINT8)(((*(UINT8 *)(rawData + 1)) >> 0) & 0xFF); TMS_InletTemp = (UINT8)(((*(UINT8 *)(rawData + 2)) >> 0) & 0xFF); TMS_Version = (UINT8)(((*(UINT8 *)(rawData + 3)) >> 0) & 0xFF); TMS_ReqPow = (UINT16)(((*(UINT8 *)(rawData + 5))<<8)|(*(UINT8 *)(rawData + 6))); TMS_ErrCode = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 0) & 0x3F); TMS_FaultLevel = (UINT8)(((*(UINT8 *)(rawData + 7)) >> 6) & 0x3); BcuRxFlag[123] = 0x01; break; case 0x18FFD4F4: BMS14_TotalChargeAh = (UINT32)(((*(UINT32 *)(rawData + 0))) & 0xFFFFFFFF); BMS14_TotalDischargeAh = (UINT32)(((*(UINT32 *)(rawData + 4))) & 0xFFFFFFFF); BcuRxFlag[124] = 0x01; break; case 0x18FFD5F4: BMS15_TotalChargeKwh = (UINT32)(((*(UINT32 *)(rawData + 0))) & 0xFFFFFFFF); BMS15_TotalDischargeKwh = (UINT32)(((*(UINT32 *)(rawData + 4))) & 0xFFFFFFFF); BcuRxFlag[125] = 0x01; break; case 0x18FFD6F4: BMS16_TotalEneryECOChargeAh = (UINT32)(((*(UINT32 *)(rawData + 0))) & 0xFFFFFFFF); BMS16_TotalEneryECOChargeKwh = (UINT32)(((*(UINT32 *)(rawData + 4))) & 0xFFFFFFFF); BcuRxFlag[126] = 0x01; break; case 0x18FFD7F4: BMS17_TotalStationChargeAh = (UINT32)(((*(UINT32 *)(rawData + 0))) & 0xFFFFFFFF); BMS17_TotalStationChargeKwh = (UINT32)(((*(UINT32 *)(rawData + 4))) & 0xFFFFFFFF); BcuRxFlag[127] = 0x01; break; case 0x18FFD8F4: BMS18_TotalPoleChargeAh = (UINT32)(((*(UINT32 *)(rawData + 0))) & 0xFFFFFFFF); BMS18_TotalPoleChargeKwh = (UINT32)(((*(UINT32 *)(rawData + 4))) & 0xFFFFFFFF); BcuRxFlag[128] = 0x01; break; case 0x18FFD9F4: BMS19_SingleChargeAh = (UINT32)(((*(UINT32 *)(rawData + 0))) & 0xFFFFFFFF); BMS19_SingleChargeKwh = (UINT32)(((*(UINT32 *)(rawData + 4))) & 0xFFFFFFFF); BcuRxFlag[129] = 0x01; break; default: break; } } /** * @brief : BcuCan涓㈠抚璇婃柇 * @param {*} * @return {*} */ void BcuRxDiagnose(void) { static UINT32 TimeCounter = 0;//ms TimeCounter = TimeCounter + 10; // /* Can涓㈠抚璇婃柇 */ for (UINT8 i = 0; i < sizeof(BcuInTable) / 4; i++) { if (BcuRxFlag[i] == 1) // received msg, and clear the error conter { BcuRxErrorCounter[i] = 0; BcuRxFlag[i] = 0; continue; } if (BcuRxErrorCounter[i] < 3) { BcuRxShortError[i] = 0; BcuRxLongError[i] = 0; } else if (BcuRxErrorCounter[i] >= 3 && BcuRxErrorCounter[i] < 13) { BcuRxShortError[i] = 1; BcuRxLongError[i] = 0; } else if (BcuRxErrorCounter[i] >= 13) { BcuRxShortError[i] = 0; BcuRxLongError[i] = 1; BcuRxMsgSetInvalidValue(BcuInTable[i]); BcuRxErrorCounter[i] = 0; } else if (BcuRxErrorCounter[i] == 0xFF) { BcuRxErrorCounter[i] = 0xFE; } } /* CAN涓㈠抚绱 */ if (TimeCounter % 100 == 0) // period <=100ms { BcuRxErrorCounter[99]++; // can msg 0x1883EFF4 // if(BcuRxErrorCounter[99]>=13) BcuRxErrorCounter[100]++; // can msg 0x1884EFF4 // if(BcuRxErrorCounter[100]>=13) BcuRxErrorCounter[118]++; // can msg 0x18FF23F4 // if(BcuRxErrorCounter[118]>=13) BcuRxErrorCounter[120]++; // can msg 0x18FF25F4 // if(BcuRxErrorCounter[120]>=13) } if (TimeCounter % 200 == 0) // period ==200ms { BcuRxErrorCounter[103]++; // can msg 0x1887EFF4 // if(BcuRxErrorCounter[103]>=13) // printf("can msg 0x%x lost,cycle time200ms\n",COMInTable[103]); BcuRxErrorCounter[121]++; // can msg 0x18FF30F4 // if(BcuRxErrorCounter[121]>=13) // printf("can msg 0x%x lost,cycle time200ms\n",COMInTable[121]); } if (TimeCounter % 500 == 0) // period ==500ms { BcuRxErrorCounter[0]++; // can msg 0x1801EFF4 // if(BcuRxErrorCounter[0]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[0]); BcuRxErrorCounter[1]++; // can msg 0x1801FBF4 // if(BcuRxErrorCounter[1]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[1]); BcuRxErrorCounter[2]++; // can msg 0x1802FBF4 // if(BcuRxErrorCounter[2]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[2]); BcuRxErrorCounter[3]++; // can msg 0x1803FBF4 // if(BcuRxErrorCounter[3]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[3]); BcuRxErrorCounter[4]++; // can msg 0x1804FBF4 // if(BcuRxErrorCounter[4]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[4]); BcuRxErrorCounter[5]++; // can msg 0x1805FBF4 // if(BcuRxErrorCounter[5]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[5]); BcuRxErrorCounter[6]++; // can msg 0x1806FBF4 // if(BcuRxErrorCounter[6]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[6]); BcuRxErrorCounter[7]++; // can msg 0x1807FBF4 // if(BcuRxErrorCounter[7]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[7]); BcuRxErrorCounter[8]++; // can msg 0x1808FBF4 // if(BcuRxErrorCounter[8]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[8]); BcuRxErrorCounter[9]++; // can msg 0x1809FBF4 // if(BcuRxErrorCounter[9]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[9]); BcuRxErrorCounter[10]++; // can msg 0x180AFBF4 // if(BcuRxErrorCounter[10]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[10]); BcuRxErrorCounter[11]++; // can msg 0x180BFBF4 // if(BcuRxErrorCounter[11]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[11]); BcuRxErrorCounter[12]++; // can msg 0x180CFBF4 // if(BcuRxErrorCounter[12]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[12]); BcuRxErrorCounter[13]++; // can msg 0x180DFBF4 // if(BcuRxErrorCounter[13]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[13]); BcuRxErrorCounter[14]++; // can msg 0x180EFBF4 // if(BcuRxErrorCounter[14]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[14]); BcuRxErrorCounter[15]++; // can msg 0x180FFBF4 // if(BcuRxErrorCounter[15]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[15]); BcuRxErrorCounter[16]++; // can msg 0x1810FBF4 // if(BcuRxErrorCounter[16]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[16]); BcuRxErrorCounter[17]++; // can msg 0x1811FBF4 // if(BcuRxErrorCounter[17]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[17]); BcuRxErrorCounter[18]++; // can msg 0x1812FBF4 // if(BcuRxErrorCounter[18]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[18]); BcuRxErrorCounter[19]++; // can msg 0x1813FBF4 // if(BcuRxErrorCounter[19]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[19]); BcuRxErrorCounter[20]++; // can msg 0x1814FBF4 // if(BcuRxErrorCounter[20]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[20]); BcuRxErrorCounter[21]++; // can msg 0x1815FBF4 // if(BcuRxErrorCounter[21]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[21]); BcuRxErrorCounter[22]++; // can msg 0x1816FBF4 // if(BcuRxErrorCounter[22]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[22]); BcuRxErrorCounter[23]++; // can msg 0x1817FBF4 // if(BcuRxErrorCounter[23]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[23]); BcuRxErrorCounter[24]++; // can msg 0x1818FBF4 // if(BcuRxErrorCounter[24]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[24]); BcuRxErrorCounter[25]++; // can msg 0x1819FBF4 // if(BcuRxErrorCounter[25]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[25]); BcuRxErrorCounter[26]++; // can msg 0x181AFBF4 // if(BcuRxErrorCounter[26]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[26]); BcuRxErrorCounter[27]++; // can msg 0x181BFBF4 // if(BcuRxErrorCounter[27]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[27]); BcuRxErrorCounter[28]++; // can msg 0x181CFBF4 // if(BcuRxErrorCounter[28]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[28]); BcuRxErrorCounter[29]++; // can msg 0x181DFBF4 // if(BcuRxErrorCounter[29]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[29]); BcuRxErrorCounter[30]++; // can msg 0x181EFBF4 // if(BcuRxErrorCounter[30]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[30]); BcuRxErrorCounter[31]++; // can msg 0x181FFBF4 // if(BcuRxErrorCounter[31]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[31]); BcuRxErrorCounter[32]++; // can msg 0x1820FBF4 // if(BcuRxErrorCounter[32]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[32]); BcuRxErrorCounter[33]++; // can msg 0x1821FBF4 // if(BcuRxErrorCounter[33]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[33]); BcuRxErrorCounter[34]++; // can msg 0x1822FBF4 // if(BcuRxErrorCounter[34]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[34]); BcuRxErrorCounter[35]++; // can msg 0x1823FBF4 // if(BcuRxErrorCounter[35]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[35]); BcuRxErrorCounter[36]++; // can msg 0x1824FBF4 // if(BcuRxErrorCounter[36]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[36]); BcuRxErrorCounter[37]++; // can msg 0x1825FBF4 // if(BcuRxErrorCounter[37]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[37]); BcuRxErrorCounter[38]++; // can msg 0x1826FBF4 // if(BcuRxErrorCounter[38]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[38]); BcuRxErrorCounter[39]++; // can msg 0x1827FBF4 // if(BcuRxErrorCounter[39]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[39]); BcuRxErrorCounter[40]++; // can msg 0x1828FBF4 // if(BcuRxErrorCounter[40]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[40]); BcuRxErrorCounter[41]++; // can msg 0x1829FBF4 // if(BcuRxErrorCounter[41]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[41]); BcuRxErrorCounter[42]++; // can msg 0x182AFBF4 // if(BcuRxErrorCounter[42]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[42]); BcuRxErrorCounter[43]++; // can msg 0x182BFBF4 // if(BcuRxErrorCounter[43]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[43]); BcuRxErrorCounter[44]++; // can msg 0x182CFBF4 // if(BcuRxErrorCounter[44]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[44]); BcuRxErrorCounter[45]++; // can msg 0x182DFBF4 // if(BcuRxErrorCounter[45]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[45]); BcuRxErrorCounter[46]++; // can msg 0x182EFBF4 // if(BcuRxErrorCounter[46]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[46]); BcuRxErrorCounter[47]++; // can msg 0x182FFBF4 // if(BcuRxErrorCounter[47]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[47]); BcuRxErrorCounter[48]++; // can msg 0x1830FBF4 // if(BcuRxErrorCounter[48]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[48]); BcuRxErrorCounter[49]++; // can msg 0x1831FBF4 // if(BcuRxErrorCounter[49]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[49]); BcuRxErrorCounter[50]++; // can msg 0x1832FBF4 // if(BcuRxErrorCounter[50]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[50]); BcuRxErrorCounter[51]++; // can msg 0x1833FBF4 // if(BcuRxErrorCounter[51]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[51]); BcuRxErrorCounter[52]++; // can msg 0x1834FBF4 // if(BcuRxErrorCounter[52]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[52]); BcuRxErrorCounter[53]++; // can msg 0x1835FBF4 // if(BcuRxErrorCounter[53]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[53]); BcuRxErrorCounter[54]++; // can msg 0x1836FBF4 // if(BcuRxErrorCounter[54]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[54]); BcuRxErrorCounter[55]++; // can msg 0x1837FBF4 // if(BcuRxErrorCounter[55]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[55]); BcuRxErrorCounter[56]++; // can msg 0x1838FBF4 // if(BcuRxErrorCounter[56]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[56]); BcuRxErrorCounter[57]++; // can msg 0x1839FBF4 // if(BcuRxErrorCounter[57]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[57]); BcuRxErrorCounter[58]++; // can msg 0x183AFBF4 // if(BcuRxErrorCounter[58]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[58]); BcuRxErrorCounter[59]++; // can msg 0x183BFBF4 // if(BcuRxErrorCounter[59]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[59]); BcuRxErrorCounter[60]++; // can msg 0x183CFBF4 // if(BcuRxErrorCounter[60]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[60]); BcuRxErrorCounter[61]++; // can msg 0x183DFBF4 // if(BcuRxErrorCounter[61]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[61]); BcuRxErrorCounter[62]++; // can msg 0x183EFBF4 // if(BcuRxErrorCounter[62]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[62]); BcuRxErrorCounter[63]++; // can msg 0x183FFBF4 // if(BcuRxErrorCounter[63]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[63]); BcuRxErrorCounter[64]++; // can msg 0x1840FBF4 // if(BcuRxErrorCounter[64]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[64]); BcuRxErrorCounter[65]++; // can msg 0x1841FBF4 // if(BcuRxErrorCounter[65]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[65]); BcuRxErrorCounter[66]++; // can msg 0x1842FBF4 // if(BcuRxErrorCounter[66]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[66]); BcuRxErrorCounter[67]++; // can msg 0x1843FBF4 // if(BcuRxErrorCounter[67]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[67]); BcuRxErrorCounter[68]++; // can msg 0x1844FBF4 // if(BcuRxErrorCounter[68]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[68]); BcuRxErrorCounter[69]++; // can msg 0x1845FBF4 // if(BcuRxErrorCounter[69]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[69]); BcuRxErrorCounter[70]++; // can msg 0x1846FBF4 // if(BcuRxErrorCounter[70]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[70]); BcuRxErrorCounter[71]++; // can msg 0x1847FBF4 // if(BcuRxErrorCounter[71]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[71]); BcuRxErrorCounter[72]++; // can msg 0x1848FBF4 // if(BcuRxErrorCounter[72]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[72]); BcuRxErrorCounter[73]++; // can msg 0x1849FBF4 // if(BcuRxErrorCounter[73]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[73]); BcuRxErrorCounter[74]++; // can msg 0x184AFBF4 // if(BcuRxErrorCounter[74]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[74]); BcuRxErrorCounter[75]++; // can msg 0x184BFBF4 // if(BcuRxErrorCounter[75]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[75]); BcuRxErrorCounter[76]++; // can msg 0x184CFBF4 // if(BcuRxErrorCounter[76]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[76]); BcuRxErrorCounter[77]++; // can msg 0x184DFBF4 // if(BcuRxErrorCounter[77]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[77]); BcuRxErrorCounter[78]++; // can msg 0x184EFBF4 // if(BcuRxErrorCounter[78]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[78]); BcuRxErrorCounter[79]++; // can msg 0x184FFBF4 // if(BcuRxErrorCounter[79]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[79]); BcuRxErrorCounter[80]++; // can msg 0x1850FBF4 // if(BcuRxErrorCounter[80]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[80]); BcuRxErrorCounter[81]++; // can msg 0x1851FBF4 // if(BcuRxErrorCounter[81]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[81]); BcuRxErrorCounter[82]++; // can msg 0x1852FBF4 // if(BcuRxErrorCounter[82]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[82]); BcuRxErrorCounter[83]++; // can msg 0x1853FBF4 // if(BcuRxErrorCounter[83]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[83]); BcuRxErrorCounter[84]++; // can msg 0x1854FBF4 // if(BcuRxErrorCounter[84]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[84]); BcuRxErrorCounter[85]++; // can msg 0x1855FBF4 // if(BcuRxErrorCounter[85]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[85]); BcuRxErrorCounter[86]++; // can msg 0x1856FBF4 // if(BcuRxErrorCounter[86]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[86]); BcuRxErrorCounter[87]++; // can msg 0x1857FBF4 // if(BcuRxErrorCounter[87]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[87]); BcuRxErrorCounter[88]++; // can msg 0x1858FBF4 // if(BcuRxErrorCounter[88]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[88]); BcuRxErrorCounter[89]++; // can msg 0x1859FBF4 // if(BcuRxErrorCounter[89]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[89]); BcuRxErrorCounter[90]++; // can msg 0x185AFBF4 // if(BcuRxErrorCounter[90]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[90]); BcuRxErrorCounter[91]++; // can msg 0x185BFBF4 // if(BcuRxErrorCounter[91]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[91]); BcuRxErrorCounter[92]++; // can msg 0x185CFBF4 // if(BcuRxErrorCounter[92]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[92]); BcuRxErrorCounter[93]++; // can msg 0x185DFBF4 // if(BcuRxErrorCounter[93]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[93]); BcuRxErrorCounter[94]++; // can msg 0x185EFBF4 // if(BcuRxErrorCounter[94]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[94]); BcuRxErrorCounter[95]++; // can msg 0x185FFBF4 // if(BcuRxErrorCounter[95]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[95]); BcuRxErrorCounter[96]++; // can msg 0x1860FBF4 // if(BcuRxErrorCounter[96]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[96]); BcuRxErrorCounter[97]++; // can msg 0x1881EFF4 // if(BcuRxErrorCounter[97]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[97]); BcuRxErrorCounter[98]++; // can msg 0x1882EFF4 // if(BcuRxErrorCounter[98]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[98]); BcuRxErrorCounter[101]++; // can msg 0x1885EFF4 // if(BcuRxErrorCounter[101]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[101]); BcuRxErrorCounter[102]++; // can msg 0x1886EFF4 // if(BcuRxErrorCounter[102]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[102]); BcuRxErrorCounter[104]++; // can msg 0x1888EFF4 // if(BcuRxErrorCounter[104]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[104]); BcuRxErrorCounter[105]++; // can msg 0x1889EFF4 // if(BcuRxErrorCounter[105]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[105]); BcuRxErrorCounter[106]++; // can msg 0x18A0FBF4 // if(BcuRxErrorCounter[106]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[106]); BcuRxErrorCounter[107]++; // can msg 0x18A1FBF4 // if(BcuRxErrorCounter[107]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[107]); BcuRxErrorCounter[108]++; // can msg 0x18A2FBF4 // if(BcuRxErrorCounter[108]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[108]); BcuRxErrorCounter[109]++; // can msg 0x18A3FBF4 // if(BcuRxErrorCounter[109]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[109]); BcuRxErrorCounter[110]++; // can msg 0x18A4FBF4 // if(BcuRxErrorCounter[110]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[110]); BcuRxErrorCounter[111]++; // can msg 0x18A5FBF4 // if(BcuRxErrorCounter[111]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[111]); BcuRxErrorCounter[112]++; // can msg 0x18A6FBF4 // if(BcuRxErrorCounter[112]>=13) // printf("can msg 0x%x lost,cycle time500ms\n",COMInTable[112]); } if (TimeCounter % 1000 == 0) // period ==1000ms { BcuRxErrorCounter[113]++; // can msg 0x18E1EFF4 // if(BcuRxErrorCounter[113]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[113]); BcuRxErrorCounter[114]++; // can msg 0x18E2EFF4 // if(BcuRxErrorCounter[114]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[114]); BcuRxErrorCounter[115]++; // can msg 0x18E3EFF4 // if(BcuRxErrorCounter[115]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[115]); BcuRxErrorCounter[116]++; // can msg 0x18E4EFF4 // if(BcuRxErrorCounter[116]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[116]); BcuRxErrorCounter[117]++; // can msg 0x18FEDAF4 // if(BcuRxErrorCounter[117]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[117]); BcuRxErrorCounter[119]++; // can msg 0x18FF24F4 // if(BcuRxErrorCounter[119]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[119]); BcuRxErrorCounter[122]++; // can msg 0x18FF45F4 // if(BcuRxErrorCounter[122]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[122]); BcuRxErrorCounter[123]++; // can msg 0x18FFC13A // if(BcuRxErrorCounter[123]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[123]); BcuRxErrorCounter[124]++; // can msg 0x18FFD4F4 // if(BcuRxErrorCounter[124]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[124]); BcuRxErrorCounter[125]++; // can msg 0x18FFD5F4 // if(BcuRxErrorCounter[125]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[125]); BcuRxErrorCounter[126]++; // can msg 0x18FFD6F4 // if(BcuRxErrorCounter[126]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[126]); BcuRxErrorCounter[127]++; // can msg 0x18FFD7F4 // if(BcuRxErrorCounter[127]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[127]); BcuRxErrorCounter[128]++; // can msg 0x18FFD8F4 // if(BcuRxErrorCounter[128]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[128]); BcuRxErrorCounter[129]++; // can msg 0x18FFD9F4 // if(BcuRxErrorCounter[129]>=13) // printf("can msg 0x%x lost,cycle time1000ms\n",COMInTable[129]); } if (TimeCounter % 2000 == 0) // period ==2000ms { } if (TimeCounter % 3000 == 0) // period ==3000ms { } if (TimeCounter % 5000 == 0) // period ==5000ms { } } /** * @brief :Bcu涓㈠抚鍒濆鍖栬祴鍊� * @param {UINT32} ID * @return {*} */ void BcuRxMsgSetInvalidValue(UINT32 ID) { switch (ID) { case 0x1801EFF4: BMS13_ReqVIN = 0xFF; break; case 0x1801FBF4: BMS_Cell_Volt[0] = 0xFFFF; BMS_Cell_Volt[1] = 0xFFFF; BMS_Cell_Volt[2] = 0xFFFF; BMS_Cell_Volt[3] = 0xFFFF; break; case 0x1802FBF4: BMS_Cell_Volt[4] = 0xFFFF; BMS_Cell_Volt[5] = 0xFFFF; BMS_Cell_Volt[6] = 0xFFFF; BMS_Cell_Volt[7] = 0xFFFF; break; case 0x1803FBF4: BMS_Cell_Volt[8] = 0xFFFF; BMS_Cell_Volt[9] = 0xFFFF; BMS_Cell_Volt[10] = 0xFFFF; BMS_Cell_Volt[11] = 0xFFFF; break; case 0x1804FBF4: BMS_Cell_Volt[12] = 0xFFFF; BMS_Cell_Volt[13] = 0xFFFF; BMS_Cell_Volt[14] = 0xFFFF; BMS_Cell_Volt[15] = 0xFFFF; break; case 0x1805FBF4: BMS_Cell_Volt[16] = 0xFFFF; BMS_Cell_Volt[17] = 0xFFFF; BMS_Cell_Volt[18] = 0xFFFF; BMS_Cell_Volt[19] = 0xFFFF; break; case 0x1806FBF4: BMS_Cell_Volt[20] = 0xFFFF; BMS_Cell_Volt[21] = 0xFFFF; BMS_Cell_Volt[22] = 0xFFFF; BMS_Cell_Volt[23] = 0xFFFF; break; case 0x1807FBF4: BMS_Cell_Volt[24] = 0xFFFF; BMS_Cell_Volt[25] = 0xFFFF; BMS_Cell_Volt[26] = 0xFFFF; BMS_Cell_Volt[27] = 0xFFFF; break; case 0x1808FBF4: BMS_Cell_Volt[28] = 0xFFFF; BMS_Cell_Volt[29] = 0xFFFF; BMS_Cell_Volt[30] = 0xFFFF; BMS_Cell_Volt[31] = 0xFFFF; break; case 0x1809FBF4: BMS_Cell_Volt[32] = 0xFFFF; BMS_Cell_Volt[33] = 0xFFFF; BMS_Cell_Volt[34] = 0xFFFF; BMS_Cell_Volt[35] = 0xFFFF; break; case 0x180AFBF4: BMS_Cell_Volt[36] = 0xFFFF; BMS_Cell_Volt[37] = 0xFFFF; BMS_Cell_Volt[38] = 0xFFFF; BMS_Cell_Volt[39] = 0xFFFF; break; case 0x180BFBF4: BMS_Cell_Volt[40] = 0xFFFF; BMS_Cell_Volt[41] = 0xFFFF; BMS_Cell_Volt[42] = 0xFFFF; BMS_Cell_Volt[43] = 0xFFFF; break; case 0x180CFBF4: BMS_Cell_Volt[44] = 0xFFFF; BMS_Cell_Volt[45] = 0xFFFF; BMS_Cell_Volt[46] = 0xFFFF; BMS_Cell_Volt[47] = 0xFFFF; break; case 0x180DFBF4: BMS_Cell_Volt[48] = 0xFFFF; BMS_Cell_Volt[49] = 0xFFFF; BMS_Cell_Volt[50] = 0xFFFF; BMS_Cell_Volt[51] = 0xFFFF; break; case 0x180EFBF4: BMS_Cell_Volt[52] = 0xFFFF; BMS_Cell_Volt[53] = 0xFFFF; BMS_Cell_Volt[54] = 0xFFFF; BMS_Cell_Volt[55] = 0xFFFF; break; case 0x180FFBF4: BMS_Cell_Volt[56] = 0xFFFF; BMS_Cell_Volt[57] = 0xFFFF; BMS_Cell_Volt[58] = 0xFFFF; BMS_Cell_Volt[59] = 0xFFFF; break; case 0x1810FBF4: BMS_Cell_Volt[60] = 0xFFFF; BMS_Cell_Volt[61] = 0xFFFF; BMS_Cell_Volt[62] = 0xFFFF; BMS_Cell_Volt[63] = 0xFFFF; break; case 0x1811FBF4: BMS_Cell_Volt[64] = 0xFFFF; BMS_Cell_Volt[65] = 0xFFFF; BMS_Cell_Volt[66] = 0xFFFF; BMS_Cell_Volt[67] = 0xFFFF; break; case 0x1812FBF4: BMS_Cell_Volt[68] = 0xFFFF; BMS_Cell_Volt[69] = 0xFFFF; BMS_Cell_Volt[70] = 0xFFFF; BMS_Cell_Volt[71] = 0xFFFF; break; case 0x1813FBF4: BMS_Cell_Volt[72] = 0xFFFF; BMS_Cell_Volt[73] = 0xFFFF; BMS_Cell_Volt[74] = 0xFFFF; BMS_Cell_Volt[75] = 0xFFFF; break; case 0x1814FBF4: BMS_Cell_Volt[76] = 0xFFFF; BMS_Cell_Volt[77] = 0xFFFF; BMS_Cell_Volt[78] = 0xFFFF; BMS_Cell_Volt[79] = 0xFFFF; break; case 0x1815FBF4: BMS_Cell_Volt[80] = 0xFFFF; BMS_Cell_Volt[81] = 0xFFFF; BMS_Cell_Volt[82] = 0xFFFF; BMS_Cell_Volt[83] = 0xFFFF; break; case 0x1816FBF4: BMS_Cell_Volt[84] = 0xFFFF; BMS_Cell_Volt[85] = 0xFFFF; BMS_Cell_Volt[86] = 0xFFFF; BMS_Cell_Volt[87] = 0xFFFF; break; case 0x1817FBF4: BMS_Cell_Volt[88] = 0xFFFF; BMS_Cell_Volt[89] = 0xFFFF; BMS_Cell_Volt[90] = 0xFFFF; BMS_Cell_Volt[91] = 0xFFFF; break; case 0x1818FBF4: BMS_Cell_Volt[92] = 0xFFFF; BMS_Cell_Volt[93] = 0xFFFF; BMS_Cell_Volt[94] = 0xFFFF; BMS_Cell_Volt[95] = 0xFFFF; break; case 0x1819FBF4: BMS_Cell_Volt[96] = 0xFFFF; BMS_Cell_Volt[97] = 0xFFFF; BMS_Cell_Volt[98] = 0xFFFF; BMS_Cell_Volt[99] = 0xFFFF; break; case 0x181AFBF4: BMS_Cell_Volt[100] = 0xFFFF; BMS_Cell_Volt[101] = 0xFFFF; BMS_Cell_Volt[102] = 0xFFFF; BMS_Cell_Volt[103] = 0xFFFF; break; case 0x181BFBF4: BMS_Cell_Volt[104] = 0xFFFF; BMS_Cell_Volt[105] = 0xFFFF; BMS_Cell_Volt[106] = 0xFFFF; BMS_Cell_Volt[107] = 0xFFFF; break; case 0x181CFBF4: BMS_Cell_Volt[108] = 0xFFFF; BMS_Cell_Volt[109] = 0xFFFF; BMS_Cell_Volt[110] = 0xFFFF; BMS_Cell_Volt[111] = 0xFFFF; break; case 0x181DFBF4: BMS_Cell_Volt[112] = 0xFFFF; BMS_Cell_Volt[113] = 0xFFFF; BMS_Cell_Volt[114] = 0xFFFF; BMS_Cell_Volt[115] = 0xFFFF; break; case 0x181EFBF4: BMS_Cell_Volt[116] = 0xFFFF; BMS_Cell_Volt[117] = 0xFFFF; BMS_Cell_Volt[118] = 0xFFFF; BMS_Cell_Volt[119] = 0xFFFF; break; case 0x181FFBF4: BMS_Cell_Volt[120] = 0xFFFF; BMS_Cell_Volt[121] = 0xFFFF; BMS_Cell_Volt[122] = 0xFFFF; BMS_Cell_Volt[123] = 0xFFFF; break; case 0x1820FBF4: BMS_Cell_Volt[124] = 0xFFFF; BMS_Cell_Volt[125] = 0xFFFF; BMS_Cell_Volt[126] = 0xFFFF; BMS_Cell_Volt[127] = 0xFFFF; break; case 0x1821FBF4: BMS_Cell_Volt[128] = 0xFFFF; BMS_Cell_Volt[129] = 0xFFFF; BMS_Cell_Volt[130] = 0xFFFF; BMS_Cell_Volt[131] = 0xFFFF; break; case 0x1822FBF4: BMS_Cell_Volt[132] = 0xFFFF; BMS_Cell_Volt[133] = 0xFFFF; BMS_Cell_Volt[134] = 0xFFFF; BMS_Cell_Volt[135] = 0xFFFF; break; case 0x1823FBF4: BMS_Cell_Volt[136] = 0xFFFF; BMS_Cell_Volt[137] = 0xFFFF; BMS_Cell_Volt[138] = 0xFFFF; BMS_Cell_Volt[139] = 0xFFFF; break; case 0x1824FBF4: BMS_Cell_Volt[140] = 0xFFFF; BMS_Cell_Volt[141] = 0xFFFF; BMS_Cell_Volt[142] = 0xFFFF; BMS_Cell_Volt[143] = 0xFFFF; break; case 0x1825FBF4: BMS_Cell_Volt[144] = 0xFFFF; BMS_Cell_Volt[145] = 0xFFFF; BMS_Cell_Volt[146] = 0xFFFF; BMS_Cell_Volt[147] = 0xFFFF; break; case 0x1826FBF4: BMS_Cell_Volt[148] = 0xFFFF; BMS_Cell_Volt[149] = 0xFFFF; BMS_Cell_Volt[150] = 0xFFFF; BMS_Cell_Volt[151] = 0xFFFF; break; case 0x1827FBF4: BMS_Cell_Volt[152] = 0xFFFF; BMS_Cell_Volt[153] = 0xFFFF; BMS_Cell_Volt[154] = 0xFFFF; BMS_Cell_Volt[155] = 0xFFFF; break; case 0x1828FBF4: BMS_Cell_Volt[156] = 0xFFFF; BMS_Cell_Volt[157] = 0xFFFF; BMS_Cell_Volt[158] = 0xFFFF; BMS_Cell_Volt[159] = 0xFFFF; break; case 0x1829FBF4: BMS_Cell_Volt[160] = 0xFFFF; BMS_Cell_Volt[161] = 0xFFFF; BMS_Cell_Volt[162] = 0xFFFF; BMS_Cell_Volt[163] = 0xFFFF; break; case 0x182AFBF4: BMS_Cell_Volt[164] = 0xFFFF; BMS_Cell_Volt[165] = 0xFFFF; BMS_Cell_Volt[166] = 0xFFFF; BMS_Cell_Volt[167] = 0xFFFF; break; case 0x182BFBF4: BMS_Cell_Volt[168] = 0xFFFF; BMS_Cell_Volt[169] = 0xFFFF; BMS_Cell_Volt[170] = 0xFFFF; BMS_Cell_Volt[171] = 0xFFFF; break; case 0x182CFBF4: BMS_Cell_Volt[172] = 0xFFFF; BMS_Cell_Volt[173] = 0xFFFF; BMS_Cell_Volt[174] = 0xFFFF; BMS_Cell_Volt[175] = 0xFFFF; break; case 0x182DFBF4: BMS_Cell_Volt[176] = 0xFFFF; BMS_Cell_Volt[177] = 0xFFFF; BMS_Cell_Volt[178] = 0xFFFF; BMS_Cell_Volt[179] = 0xFFFF; break; case 0x182EFBF4: BMS_Cell_Volt[180] = 0xFFFF; BMS_Cell_Volt[181] = 0xFFFF; BMS_Cell_Volt[182] = 0xFFFF; BMS_Cell_Volt[183] = 0xFFFF; break; case 0x182FFBF4: BMS_Cell_Volt[184] = 0xFFFF; BMS_Cell_Volt[185] = 0xFFFF; BMS_Cell_Volt[186] = 0xFFFF; BMS_Cell_Volt[187] = 0xFFFF; break; case 0x1830FBF4: BMS_Cell_Volt[188] = 0xFFFF; BMS_Cell_Volt[189] = 0xFFFF; BMS_Cell_Volt[190] = 0xFFFF; BMS_Cell_Volt[191] = 0xFFFF; break; case 0x1831FBF4: BMS_Cell_Volt[192] = 0xFFFF; BMS_Cell_Volt[193] = 0xFFFF; BMS_Cell_Volt[194] = 0xFFFF; BMS_Cell_Volt[195] = 0xFFFF; break; case 0x1832FBF4: BMS_Cell_Volt[196] = 0xFFFF; BMS_Cell_Volt[197] = 0xFFFF; BMS_Cell_Volt[198] = 0xFFFF; BMS_Cell_Volt[199] = 0xFFFF; break; case 0x1833FBF4: BMS_Cell_Volt[200] = 0xFFFF; BMS_Cell_Volt[201] = 0xFFFF; BMS_Cell_Volt[202] = 0xFFFF; BMS_Cell_Volt[203] = 0xFFFF; break; case 0x1834FBF4: BMS_Cell_Volt[204] = 0xFFFF; BMS_Cell_Volt[205] = 0xFFFF; BMS_Cell_Volt[206] = 0xFFFF; BMS_Cell_Volt[207] = 0xFFFF; break; case 0x1835FBF4: BMS_Cell_Volt[208] = 0xFFFF; BMS_Cell_Volt[209] = 0xFFFF; BMS_Cell_Volt[210] = 0xFFFF; BMS_Cell_Volt[211] = 0xFFFF; break; case 0x1836FBF4: BMS_Cell_Volt[212] = 0xFFFF; BMS_Cell_Volt[213] = 0xFFFF; BMS_Cell_Volt[214] = 0xFFFF; BMS_Cell_Volt[215] = 0xFFFF; break; case 0x1837FBF4: BMS_Cell_Volt[216] = 0xFFFF; BMS_Cell_Volt[217] = 0xFFFF; BMS_Cell_Volt[218] = 0xFFFF; BMS_Cell_Volt[219] = 0xFFFF; break; case 0x1838FBF4: BMS_Cell_Volt[220] = 0xFFFF; BMS_Cell_Volt[221] = 0xFFFF; BMS_Cell_Volt[222] = 0xFFFF; BMS_Cell_Volt[223] = 0xFFFF; break; case 0x1839FBF4: BMS_Cell_Volt[224] = 0xFFFF; BMS_Cell_Volt[225] = 0xFFFF; BMS_Cell_Volt[226] = 0xFFFF; BMS_Cell_Volt[227] = 0xFFFF; break; case 0x183AFBF4: BMS_Cell_Volt[228] = 0xFFFF; BMS_Cell_Volt[229] = 0xFFFF; BMS_Cell_Volt[230] = 0xFFFF; BMS_Cell_Volt[231] = 0xFFFF; break; case 0x183BFBF4: BMS_Cell_Volt[232] = 0xFFFF; BMS_Cell_Volt[233] = 0xFFFF; BMS_Cell_Volt[234] = 0xFFFF; BMS_Cell_Volt[235] = 0xFFFF; break; case 0x183CFBF4: BMS_Cell_Volt[236] = 0xFFFF; BMS_Cell_Volt[237] = 0xFFFF; BMS_Cell_Volt[238] = 0xFFFF; BMS_Cell_Volt[239] = 0xFFFF; break; case 0x183DFBF4: BMS_Cell_Volt[240] = 0xFFFF; BMS_Cell_Volt[241] = 0xFFFF; BMS_Cell_Volt[242] = 0xFFFF; BMS_Cell_Volt[243] = 0xFFFF; break; case 0x183EFBF4: BMS_Cell_Volt[244] = 0xFFFF; BMS_Cell_Volt[245] = 0xFFFF; BMS_Cell_Volt[246] = 0xFFFF; BMS_Cell_Volt[247] = 0xFFFF; break; case 0x183FFBF4: BMS_Cell_Volt[248] = 0xFFFF; BMS_Cell_Volt[249] = 0xFFFF; BMS_Cell_Volt[250] = 0xFFFF; BMS_Cell_Volt[251] = 0xFFFF; break; case 0x1840FBF4: BMS_Cell_Volt[252] = 0xFFFF; BMS_Cell_Volt[253] = 0xFFFF; BMS_Cell_Volt[254] = 0xFFFF; BMS_Cell_Volt[255] = 0xFFFF; break; case 0x1841FBF4: BMS_Cell_Volt[256] = 0xFFFF; BMS_Cell_Volt[257] = 0xFFFF; BMS_Cell_Volt[258] = 0xFFFF; BMS_Cell_Volt[259] = 0xFFFF; break; case 0x1842FBF4: BMS_Cell_Volt[260] = 0xFFFF; BMS_Cell_Volt[261] = 0xFFFF; BMS_Cell_Volt[262] = 0xFFFF; BMS_Cell_Volt[263] = 0xFFFF; break; case 0x1843FBF4: BMS_Cell_Volt[264] = 0xFFFF; BMS_Cell_Volt[265] = 0xFFFF; BMS_Cell_Volt[266] = 0xFFFF; BMS_Cell_Volt[267] = 0xFFFF; break; case 0x1844FBF4: BMS_Cell_Volt[268] = 0xFFFF; BMS_Cell_Volt[269] = 0xFFFF; BMS_Cell_Volt[270] = 0xFFFF; BMS_Cell_Volt[271] = 0xFFFF; break; case 0x1845FBF4: BMS_Cell_Volt[272] = 0xFFFF; BMS_Cell_Volt[273] = 0xFFFF; BMS_Cell_Volt[274] = 0xFFFF; BMS_Cell_Volt[275] = 0xFFFF; break; case 0x1846FBF4: BMS_Cell_Volt[276] = 0xFFFF; BMS_Cell_Volt[277] = 0xFFFF; BMS_Cell_Volt[278] = 0xFFFF; BMS_Cell_Volt[279] = 0xFFFF; break; case 0x1847FBF4: BMS_Cell_Volt[280] = 0xFFFF; BMS_Cell_Volt[281] = 0xFFFF; BMS_Cell_Volt[282] = 0xFFFF; BMS_Cell_Volt[283] = 0xFFFF; break; case 0x1848FBF4: BMS_Cell_Volt[284] = 0xFFFF; BMS_Cell_Volt[285] = 0xFFFF; BMS_Cell_Volt[286] = 0xFFFF; BMS_Cell_Volt[287] = 0xFFFF; break; case 0x1849FBF4: BMS_Cell_Volt[288] = 0xFFFF; BMS_Cell_Volt[289] = 0xFFFF; BMS_Cell_Volt[290] = 0xFFFF; BMS_Cell_Volt[291] = 0xFFFF; break; case 0x184AFBF4: BMS_Cell_Volt[292] = 0xFFFF; BMS_Cell_Volt[293] = 0xFFFF; BMS_Cell_Volt[294] = 0xFFFF; BMS_Cell_Volt[295] = 0xFFFF; break; case 0x184BFBF4: BMS_Cell_Volt[296] = 0xFFFF; BMS_Cell_Volt[297] = 0xFFFF; BMS_Cell_Volt[298] = 0xFFFF; BMS_Cell_Volt[299] = 0xFFFF; break; case 0x184CFBF4: BMS_Cell_Volt[300] = 0xFFFF; BMS_Cell_Volt[301] = 0xFFFF; BMS_Cell_Volt[302] = 0xFFFF; BMS_Cell_Volt[303] = 0xFFFF; break; case 0x184DFBF4: BMS_Cell_Volt[304] = 0xFFFF; BMS_Cell_Volt[305] = 0xFFFF; BMS_Cell_Volt[306] = 0xFFFF; BMS_Cell_Volt[307] = 0xFFFF; break; case 0x184EFBF4: BMS_Cell_Volt[308] = 0xFFFF; BMS_Cell_Volt[309] = 0xFFFF; BMS_Cell_Volt[310] = 0xFFFF; BMS_Cell_Volt[311] = 0xFFFF; break; case 0x184FFBF4: BMS_Cell_Volt[312] = 0xFFFF; BMS_Cell_Volt[313] = 0xFFFF; BMS_Cell_Volt[314] = 0xFFFF; BMS_Cell_Volt[315] = 0xFFFF; break; case 0x1850FBF4: BMS_Cell_Volt[316] = 0xFFFF; BMS_Cell_Volt[317] = 0xFFFF; BMS_Cell_Volt[318] = 0xFFFF; BMS_Cell_Volt[319] = 0xFFFF; break; case 0x1851FBF4: BMS_Cell_Volt[320] = 0xFFFF; BMS_Cell_Volt[321] = 0xFFFF; BMS_Cell_Volt[322] = 0xFFFF; BMS_Cell_Volt[323] = 0xFFFF; break; case 0x1852FBF4: BMS_Cell_Volt[324] = 0xFFFF; BMS_Cell_Volt[325] = 0xFFFF; BMS_Cell_Volt[326] = 0xFFFF; BMS_Cell_Volt[327] = 0xFFFF; break; case 0x1853FBF4: BMS_Cell_Volt[328] = 0xFFFF; BMS_Cell_Volt[329] = 0xFFFF; BMS_Cell_Volt[330] = 0xFFFF; BMS_Cell_Volt[331] = 0xFFFF; break; case 0x1854FBF4: BMS_Cell_Volt[332] = 0xFFFF; BMS_Cell_Volt[333] = 0xFFFF; BMS_Cell_Volt[334] = 0xFFFF; BMS_Cell_Volt[335] = 0xFFFF; break; case 0x1855FBF4: BMS_Cell_Volt[336] = 0xFFFF; BMS_Cell_Volt[337] = 0xFFFF; BMS_Cell_Volt[338] = 0xFFFF; BMS_Cell_Volt[339] = 0xFFFF; break; case 0x1856FBF4: BMS_Cell_Volt[340] = 0xFFFF; BMS_Cell_Volt[341] = 0xFFFF; BMS_Cell_Volt[342] = 0xFFFF; BMS_Cell_Volt[343] = 0xFFFF; break; case 0x1857FBF4: BMS_Cell_Volt[344] = 0xFFFF; BMS_Cell_Volt[345] = 0xFFFF; BMS_Cell_Volt[346] = 0xFFFF; BMS_Cell_Volt[347] = 0xFFFF; break; case 0x1858FBF4: BMS_Cell_Volt[348] = 0xFFFF; BMS_Cell_Volt[349] = 0xFFFF; BMS_Cell_Volt[350] = 0xFFFF; BMS_Cell_Volt[351] = 0xFFFF; break; case 0x1859FBF4: BMS_Cell_Volt[352] = 0xFFFF; BMS_Cell_Volt[353] = 0xFFFF; BMS_Cell_Volt[354] = 0xFFFF; BMS_Cell_Volt[355] = 0xFFFF; break; case 0x185AFBF4: BMS_Cell_Volt[356] = 0xFFFF; BMS_Cell_Volt[357] = 0xFFFF; BMS_Cell_Volt[358] = 0xFFFF; BMS_Cell_Volt[359] = 0xFFFF; break; case 0x185BFBF4: BMS_Cell_Volt[360] = 0xFFFF; BMS_Cell_Volt[361] = 0xFFFF; BMS_Cell_Volt[362] = 0xFFFF; BMS_Cell_Volt[363] = 0xFFFF; break; case 0x185CFBF4: BMS_Cell_Volt[364] = 0xFFFF; BMS_Cell_Volt[365] = 0xFFFF; BMS_Cell_Volt[366] = 0xFFFF; BMS_Cell_Volt[367] = 0xFFFF; break; case 0x185DFBF4: BMS_Cell_Volt[368] = 0xFFFF; BMS_Cell_Volt[369] = 0xFFFF; BMS_Cell_Volt[370] = 0xFFFF; BMS_Cell_Volt[371] = 0xFFFF; break; case 0x185EFBF4: BMS_Cell_Volt[372] = 0xFFFF; BMS_Cell_Volt[373] = 0xFFFF; BMS_Cell_Volt[374] = 0xFFFF; BMS_Cell_Volt[375] = 0xFFFF; break; case 0x185FFBF4: BMS_Cell_Volt[376] = 0xFFFF; BMS_Cell_Volt[377] = 0xFFFF; BMS_Cell_Volt[378] = 0xFFFF; BMS_Cell_Volt[379] = 0xFFFF; break; case 0x1860FBF4: BMS_Cell_Volt[380] = 0xFFFF; BMS_Cell_Volt[381] = 0xFFFF; BMS_Cell_Volt[382] = 0xFFFF; BMS_Cell_Volt[383] = 0xFFFF; break; case 0x1881EFF4: BMS11_Fult1_DelTemp = 0xFF; BMS11_Fult1_OverTemp = 0xFF; BMS11_Fult1_PackOverHVolt = 0xFF; BMS11_Fult1_PackLowHVolt = 0xFF; BMS11_Fult1_LowSOC = 0xFF; BMS11_Fult1_OverUcell = 0xFF; BMS11_Fult1_LowUcell = 0xFF; BMS11_Fult1_LowInsRes = 0xFF; BMS11_Fult1_UcellUniformity = 0xFF; BMS11_Fult1_OverChg = 0xFF; BMS11_Fult1_OverSOC = 0xFF; BMS11_Fult1_SOCChangeFast = 0xFF; BMS11_Fult1_BatSysNotMatch = 0xFF; BMS11_Fult1_HVILFault = 0xFF; BMS11_PackOutsideVolt = 0xFFFF; break; case 0x1882EFF4: BMS12_Fult2_FaultNum = 0xFF; BMS12_Fult2_CellOverDischrg = 0xFF; BMS12_Fult2_CellLowTemp = 0xFF; BMS12_Fult2_PackFireWarning = 0xFF; BMS12_Fult2_OverDischrgCurr = 0xFF; BMS12_Fult2_OverChrgCurrInTheDrive = 0xFF; BMS12_Fult2_CurrSensorErr = 0xFF; BMS12_Fult2_PowerSupplyErr = 0xFF; BMS12_Fult2_TMSErr = 0xFF; BMS12_Fult2_HeatingFilmErr = 0xFF; BMS12_Fult2_PackSelfProtect = 0xFF; BMS12_Fult2_MainLoopPrechrgErr = 0xFF; BMS12_Fult2_AuxLoopPrechrgErr = 0xFF; BMS12_Fult2_ChrgInsLowErr = 0xFF; BMS12_Fult2_ACANLost = 0xFF; BMS12_Fult2_InnerCommunicationErr = 0xFF; BMS12_Fult2_DCDCErr = 0xFF; BMS12_Fult2_BranchBreakErr = 0xFF; BMS12_Fult2_HeatRelayOpenErr = 0xFF; BMS12_Fult2_HeatRelayWeldErr = 0xFF; BMS12_Fult2_MainPosRelayOpenErr = 0xFF; BMS12_Fult2_MainPosRelayWeldErr = 0xFF; BMS12_Fult2_MainNegRelayOpenErr = 0xFF; BMS12_Fult2_MainNegRelayWeldErr = 0xFF; BMS12_Fult2_DCChrgPos1RelayOpenErr = 0xFF; BMS12_Fult2_DCChrgPos1RelayWeldErr = 0xFF; BMS12_Fult2_DCChrgNeg1RelayOpenErr = 0xFF; BMS12_Fult2_DCChrgNeg1RelayWeldErr = 0xFF; BMS12_Fult2_DCChrgPos2RelayOpenErr = 0xFF; BMS12_Fult2_DCChrgPos2RelayWeldErr = 0xFF; BMS12_Fult2_DCChrgNeg2RelayOpenErr = 0xFF; BMS12_Fult2_DCChrgNeg2RelayWeldErr = 0xFF; BMS12_Fult2_ChrgConnectErr = 0xFF; BMS12_ult2_OverDischrgCurrWhenInChrg = 0xFF; BMS12_Fult2_OverChrgCurrInTheChrg = 0xFF; BMS12_Fult2_ChrgNTCErr = 0xFF; BMS12_Fult2_ChrgNTCTempOver = 0xFF; BMS12_Fult2_ELockErr = 0xFF; BMS12_Fult2_FireDetectorEr = 0xFF; BMS12_Fult2_ContiDischrgCurrOverLoad = 0xFF; BMS12_Fult2_SOCDifferErr = 0xFF; BMS12_Fult2_ContiChrgCurrOverLoad = 0xFF; break; case 0x1883EFF4: BMS1_MainPosRelaySt = 0xFF; BMS1_MainNegRelaySt = 0xFF; BMS1_PreChgRelaySt = 0xFF; BMS1_DCChrgPos1RelaySt = 0xFF; BMS1_DCChrgNeg1RelaySt = 0xFF; BMS1_DCChrgPos2RelaySt = 0xFF; BMS1_DCChrgNeg2RelaySt = 0xFF; BMS1_HeatPosRelaySt = 0xFF; BMS1_HeatNegRelaySt = 0xFF; BMS1_SysSts = 0xFF; BMS1_Life = 0xFF; BMS1_BalanceStatus = 0xFF; BMS1_DCChrgConnectSt = 0xFF; BMS1_ChrgMode = 0xFF; BMS1_ChrgStatus = 0xFF; BMS1_HeatingStatus = 0xFF; BMS1_CoolingStatus = 0xFF; BMS1_RechrgCycels = 0xFFFFFFFF; break; case 0x1884EFF4: BMS2_SOC = 0xFF; BMS2_SOH = 0xFF; BMS2_PackCurrent = 0xFFFF; BMS2_PackInsideVolt = 0xFFFF; BMS2_FaultCode = 0xFF; BMS2_FaultLevel = 0xFF; BMS2_RqHVPoerOff = 0xFF; BMS2_Life = 0xFF; break; case 0x1885EFF4: BMS4_PosIsolation = 0xFFFF; BMS4_NegIsolation = 0xFFFF; BMS4_SysInsRes = 0xFFFF; BMS4_InsDetectorSt = 0xFF; break; case 0x1886EFF4: BMS8_Max_Temp = 0xFF; BMS8_Min_Temp = 0xFF; BMS8_Avg_Temp = 0xFF; BMS8_MaxTempSysNr = 0xFF; BMS8_MaxTempNr = 0xFF; BMS8_MinTempSysNr = 0xFF; BMS8_MinTempNr = 0xFF; break; case 0x1887EFF4: BMS6_Max_Ucell = 0xFFFF; BMS6_Min_Ucell = 0xFFFF; BMS6_Avg_Ucell = 0xFFFF; BMS6_SOE = 0xFFFF; break; case 0x1888EFF4: BMS7_MaxUcellSysNr = 0xFF; BMS7_MaxUcellNr = 0xFFFF; BMS7_MinUcellSysNr = 0xFF; BMS7_MinUcellNr = 0xFFFF; break; case 0x1889EFF4: BMS23_Gun1DCPosTemp = 0xFF; BMS23_Gun1DCNegTemp = 0xFF; BMS23_Gun2DCPosTemp = 0xFF; BMS23_Gun2DCNegTemp = 0xFF; BMS23_RemainChgTi = 0xFFFF; break; case 0x18A0FBF4: BMS_Cell_TempN[0] = 0xFF; BMS_Cell_TempN[1] = 0xFF; BMS_Cell_TempN[2] = 0xFF; BMS_Cell_TempN[3] = 0xFF; BMS_Cell_TempN[4] = 0xFF; BMS_Cell_TempN[5] = 0xFF; BMS_Cell_TempN[6] = 0xFF; BMS_Cell_TempN[7] = 0xFF; break; case 0x18A1FBF4: BMS_Cell_TempN[8] = 0xFF; BMS_Cell_TempN[9] = 0xFF; BMS_Cell_TempN[10] = 0xFF; BMS_Cell_TempN[11] = 0xFF; BMS_Cell_TempN[12] = 0xFF; BMS_Cell_TempN[13] = 0xFF; BMS_Cell_TempN[14] = 0xFF; BMS_Cell_TempN[15] = 0xFF; break; case 0x18A2FBF4: BMS_Cell_TempN[16] = 0xFF; BMS_Cell_TempN[17] = 0xFF; BMS_Cell_TempN[18] = 0xFF; BMS_Cell_TempN[19] = 0xFF; BMS_Cell_TempN[20] = 0xFF; BMS_Cell_TempN[21] = 0xFF; BMS_Cell_TempN[22] = 0xFF; BMS_Cell_TempN[23] = 0xFF; BMS_Cell_TempN[24] = 0xFF; BMS_Cell_TempN[25] = 0xFF; BMS_Cell_TempN[26] = 0xFF; BMS_Cell_TempN[27] = 0xFF; BMS_Cell_TempN[28] = 0xFF; BMS_Cell_TempN[29] = 0xFF; BMS_Cell_TempN[30] = 0xFF; BMS_Cell_TempN[31] = 0xFF; break; case 0x18A3FBF4: BMS_Cell_TempN[32] = 0xFF; BMS_Cell_TempN[33] = 0xFF; BMS_Cell_TempN[34] = 0xFF; BMS_Cell_TempN[35] = 0xFF; BMS_Cell_TempN[36] = 0xFF; BMS_Cell_TempN[37] = 0xFF; BMS_Cell_TempN[38] = 0xFF; BMS_Cell_TempN[39] = 0xFF; break; case 0x18A4FBF4: BMS_Cell_TempN[40] = 0xFF; BMS_Cell_TempN[41] = 0xFF; BMS_Cell_TempN[42] = 0xFF; BMS_Cell_TempN[43] = 0xFF; BMS_Cell_TempN[44] = 0xFF; BMS_Cell_TempN[45] = 0xFF; BMS_Cell_TempN[46] = 0xFF; BMS_Cell_TempN[47] = 0xFF; break; case 0x18A5FBF4: BMS_Cell_TempN[48] = 0xFF; BMS_Cell_TempN[49] = 0xFF; BMS_Cell_TempN[50] = 0xFF; BMS_Cell_TempN[51] = 0xFF; BMS_Cell_TempN[52] = 0xFF; BMS_Cell_TempN[53] = 0xFF; BMS_Cell_TempN[54] = 0xFF; BMS_Cell_TempN[55] = 0xFF; break; case 0x18A6FBF4: BMS_Cell_TempN[56] = 0xFF; BMS_Cell_TempN[57] = 0xFF; BMS_Cell_TempN[58] = 0xFF; BMS_Cell_TempN[59] = 0xFF; BMS_Cell_TempN[60] = 0xFF; BMS_Cell_TempN[61] = 0xFF; BMS_Cell_TempN[62] = 0xFF; BMS_Cell_TempN[63] = 0xFF; break; case 0x18E1EFF4: break; case 0x18E2EFF4: BMS21_RateCap = 0xFFFF; BMS21_RateHVolt = 0xFFFF; BMS21_RatePower = 0xFFFF; BMS21_BattType = 0xFF; BMS21_CoolType = 0xFF; BMS21_Manufacture = 0xFF; BMS21_ProtocolEditionH = 0xFF; BMS21_ProtocolEditionL = 0xFF; break; case 0x18E3EFF4: BMS9_TotCSCNum = 0xFF; BMS9_PackTotCellNum = 0xFFFF; BMS9_PackTotTempNum = 0xFF; BMS9_HVBranchNum = 0xFF; BMS9_SingleHVBranchCellNum = 0xFF; BMS9_BattSysNum = 0xFF; BMS9_BattSysSeqNum = 0xFF; break; case 0x18E4EFF4: BMS22_PackAvaiMaxVolt = 0xFFFF; BMS22_PackAvaiMinVolt = 0xFFFF; BMS22_AvaiMaxSOC = 0xFF; BMS22_AvaiMinSOC = 0xFF; BMS22_AvaiMaxTemp = 0xFF; BMS22_AvaiMinTemp = 0xFF; break; case 0x18FEDAF4: BMS_SoftwareVersion = 0xFFFF; BMS_HardwareVersion = 0xFFFF; break; case 0x18FF23F4: BMS3_MaxDischgPow = 0xFFFF; BMS3_MaxChgPow = 0xFFFF; BMS3_MaxInstantDischgPow = 0xFFFF; BMS3_MaxiInstantChgPow = 0xFFFF; break; case 0x18FF24F4: BMS10_SubSysEncodingLen = 0xFF; BMS10_SubSysIdx = 0xFF; BMS10_SubSysErrNum = 0xFF; break; case 0x18FF25F4: BMS5_DischgCurMaxAllw = 0xFFFF; BMS5_ChrgCurMaxAllw = 0xFFFF; BMS5_InstChrgCurMaxAllw = 0xFFFF; BMS5_InstDischrgCurMaxAllw = 0xFFFF; break; case 0x18FF30F4: BMS26_Bat_InstantConsume = 0xFFFF; BMS26_Bat_TotalConsume = 0xFFFF; BMS26_ChgReqVoltage = 0xFFFF; BMS26_ChgReqCurrent = 0xFFFF; break; case 0x18FF45F4: BMS28_ReqMode = 0xFF; BMS28_HVCmd = 0xFF; BMS28_ChgSts = 0xFF; BMS28_HVRelaySts = 0xFF; BMS28_HVVolt = 0xFFFF; BMS28_SetTemp = 0xFF; BMS28_Life = 0xFF; BMS28_CRC = 0xFF; break; case 0x18FFC13A: TMS_WorkStatus = 0xFF; TMS_HVRelayST = 0xFF; TMS_OutletTemp = 0xFF; TMS_InletTemp = 0xFF; TMS_Version = 0xFF; TMS_ReqPow = 0xFFFF; TMS_ErrCode = 0xFF; TMS_FaultLevel = 0xFF; break; case 0x18FFD4F4: BMS14_TotalChargeAh = 0xFFFFFFFF; BMS14_TotalDischargeAh = 0xFFFFFFFF; break; case 0x18FFD5F4: BMS15_TotalChargeKwh = 0xFFFFFFFF; BMS15_TotalDischargeKwh = 0xFFFFFFFF; break; case 0x18FFD6F4: BMS16_TotalEneryECOChargeAh = 0xFFFFFFFF; BMS16_TotalEneryECOChargeKwh = 0xFFFFFFFF; break; case 0x18FFD7F4: BMS17_TotalStationChargeAh = 0xFFFFFFFF; BMS17_TotalStationChargeKwh = 0xFFFFFFFF; break; case 0x18FFD8F4: BMS18_TotalPoleChargeAh = 0xFFFFFFFF; BMS18_TotalPoleChargeKwh = 0xFFFFFFFF; break; case 0x18FFD9F4: BMS19_SingleChargeAh = 0xFFFFFFFF; BMS19_SingleChargeKwh = 0xFFFFFFFF; break; default: break; } } /** * @brief : Bcu缂栫爜鍑芥暟 * @param {UINT32} ID * @param {UINT8} *rawData * @return {*} */ void BcuEncodeFunction(UINT32 ID, UINT8 *rawData) { switch (ID) { case 0x1802F4EF: // VCU_Life = ; VCU_ReqHV = VCU_HvOnOff; // C VCU_DCDCSts = 0x03; // VCU涓嶅彂锛屾棤鏁� VCU_DCACSts = 0x03; // VCU涓嶅彂锛屾棤鏁� VCU_DCAPSts = 0x03; // VCU涓嶅彂锛屾棤鏁� // VCU_VehicleSpeed //淇″彿瀛樺湪锛岄噸澶嶄娇鐢� VCU_PosRlySts = VCU_MainPosRlySts; // C TBD VCU_PosRlyErrSts = 0x03; VCU_PTCRlSts = 0x03; VCU_PTCRlErrSts = 0x03; VCU_StopChgCmd = 0x03; VCU_HVInterlock = 0x03; VCU_AssistRlySts = 0x03; VCU_AssistRlyErrSts = 0x03; VCU_ACRlySts = 0x03; VCU_ACRlyErrSts = 0x03; *(UINT8 *)(rawData + 0) = *(UINT8 *)(rawData + 0) | ((VCU_Life << 0) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((VCU_ReqHV << 0) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((VCU_DCDCSts << 2) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((VCU_DCACSts << 4) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((VCU_DCAPSts << 6) & 0xFF); *(UINT8 *)(rawData + 2) = *(UINT8 *)(rawData + 2) | ((VCU_VehicleSpeed << 0) & 0xFF); *(UINT8 *)(rawData + 3) = *(UINT8 *)(rawData + 3) | ((VCU_PosRlySts << 0) & 0xFF); *(UINT8 *)(rawData + 3) = *(UINT8 *)(rawData + 3) | ((VCU_PosRlyErrSts << 2) & 0xFF); *(UINT8 *)(rawData + 3) = *(UINT8 *)(rawData + 3) | ((VCU_PTCRlSts << 4) & 0xFF); *(UINT8 *)(rawData + 3) = *(UINT8 *)(rawData + 3) | ((VCU_PTCRlErrSts << 6) & 0xFF); *(UINT8 *)(rawData + 4) = *(UINT8 *)(rawData + 4) | ((VCU_StopChgCmd << 0) & 0xFF); *(UINT8 *)(rawData + 4) = *(UINT8 *)(rawData + 4) | ((VCU_HVInterlock << 2) & 0xFF); *(UINT8 *)(rawData + 5) = *(UINT8 *)(rawData + 5) | ((VCU_AssistRlySts << 4) & 0xFF); *(UINT8 *)(rawData + 5) = *(UINT8 *)(rawData + 5) | ((VCU_AssistRlyErrSts << 6) & 0xFF); *(UINT8 *)(rawData + 6) = *(UINT8 *)(rawData + 6) | ((VCU_ACRlySts << 0) & 0xFF); *(UINT8 *)(rawData + 6) = *(UINT8 *)(rawData + 6) | ((VCU_ACRlyErrSts << 2) & 0xFF); break; case 0x1803F4EF: ISO_WorkStatus = 0x0F; ISO_FaultLevel = 0x0F; ISO_PosResis = 0xFFFF; ISO_NegResis = 0xFFFF; *(UINT8 *)(rawData + 0) = *(UINT8 *)(rawData + 0) | ((ISO_WorkStatus << 0) & 0xFF); *(UINT8 *)(rawData + 0) = *(UINT8 *)(rawData + 0) | ((ISO_FaultLevel << 4) & 0xFF); *(UINT8 *)(rawData + 1) = ISO_PosResis; *(UINT8 *)(rawData + 2) = ISO_PosResis>>8; *(UINT8 *)(rawData + 3) = ISO_NegResis; *(UINT8 *)(rawData + 4) = ISO_NegResis>>8; break; case 0x18E1F4EF: if (EBC_VinMsgFlag == 0x07) { *(UINT8 *)(rawData + 0) = *(UINT8 *)(rawData + 0) | (((VIN_FrameNo + 1) << 0) & 0xFF); // VIN_FrameNo = 1,2,3; for (UINT8 i = 0; i < 7; i++) { if ((i + 7 * (VIN_FrameNo)) < sizeof(VCU_VIN)) { *(UINT8 *)(rawData + i + 1) = (VCU_VIN[i + 7 * (VIN_FrameNo)] << 0) & 0xFF; } else { *(UINT8 *)(rawData + i + 1) = 0x00; VIN_FrameNo = 0; } } VIN_FrameNo++; } break; case 0x18FF11F1: { static UINT8 Life = 0; Life = Life + 1; EBC_State = ebcd_st_ebcWork; EBC_ForbidHVOn = ebcd_flg_forbidHVOn; EBC_RequestHVOff = ebcb_flg_reqHvOff; EBC_ChgFaultFlag = 0x03; EBC_LockupFaultFlag = ebcd_flg_LockErr; EBC_ChgCnctOverTemp = 0x01; EBC_DischgHIVLFlag = ebcd_flg_dChrgLockErr; EBC_ChargeHIVLFlag = ebcd_flg_chrgLockErr; EBC_DChgCnctOverTemp = ebcd_flg_dChgCnctOverTemp; EBC_FaultLevel = ebcd_Nr_errMax; EBC_FaultCode = ebcd_Num_faultCode; EBC_ChargingStatus = ebcd_st_chargingMod; EBC_ActiveHeatReq = 0x03; EBC_AirPressure = ebcd_P_airSensor; *(UINT8 *)(rawData + 0) = *(UINT8 *)(rawData + 0) | ((EBC_State << 0) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((EBC_ForbidHVOn << 0) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((EBC_RequestHVOff << 1) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((EBC_ChgFaultFlag << 2) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((EBC_LockupFaultFlag << 3) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((EBC_ChgCnctOverTemp << 4) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((EBC_DischgHIVLFlag << 5) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((EBC_ChargeHIVLFlag << 6) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((EBC_DChgCnctOverTemp << 7) & 0xFF); *(UINT8 *)(rawData + 2) = *(UINT8 *)(rawData + 2) | ((EBC_FaultLevel << 0) & 0xFF); *(UINT8 *)(rawData + 3) = *(UINT8 *)(rawData + 3) | ((EBC_FaultCode << 0) & 0xFF); *(UINT8 *)(rawData + 5) = *(UINT8 *)(rawData + 5) | ((EBC_ChargingStatus << 0) & 0xFF); *(UINT8 *)(rawData + 5) = *(UINT8 *)(rawData + 5) | ((EBC_ActiveHeatReq << 2) & 0xFF); *(UINT8 *)(rawData + 6) = *(UINT8 *)(rawData + 6) | ((EBC_AirPressure << 0) & 0xFF); *(UINT8 *)(rawData + 7) = *(UINT8 *)(rawData + 7) | ((Life << 0) & 0xFF); break; } case 0x18FF12F1: EBC_DchgPos1Temp = ebcd_T_plugin[0]; EBC_DchgNeg1Temp = ebcd_T_plugin[1]; EBC_DchgPos2Temp = ebcd_T_plugin[2]; EBC_DchgNeg2Temp = ebcd_T_plugin[3]; EBC_ChgPos1Temp = 0xFF; //淇濈暀鍊硷紝瀹氫箟涓烘棤鏁� EBC_ChgNeg1Temp = 0xFF; //淇濈暀鍊硷紝瀹氫箟涓烘棤鏁� EBC_ChgPos2Temp = 0xFF; //淇濈暀鍊硷紝瀹氫箟涓烘棤鏁� EBC_ChgNeg2Temp = 0xFF; //淇濈暀鍊硷紝瀹氫箟涓烘棤鏁� *(UINT8 *)(rawData + 0) = *(UINT8 *)(rawData + 0) | ((EBC_ChgPos1Temp << 0) & 0xFF); *(UINT8 *)(rawData + 1) = *(UINT8 *)(rawData + 1) | ((EBC_ChgNeg1Temp << 0) & 0xFF); *(UINT8 *)(rawData + 2) = *(UINT8 *)(rawData + 2) | ((EBC_ChgPos2Temp << 0) & 0xFF); *(UINT8 *)(rawData + 3) = *(UINT8 *)(rawData + 3) | ((EBC_ChgNeg2Temp << 0) & 0xFF); *(UINT8 *)(rawData + 4) = *(UINT8 *)(rawData + 4) | ((EBC_DchgPos1Temp << 0) & 0xFF); *(UINT8 *)(rawData + 5) = *(UINT8 *)(rawData + 5) | ((EBC_DchgNeg1Temp << 0) & 0xFF); *(UINT8 *)(rawData + 6) = *(UINT8 *)(rawData + 6) | ((EBC_DchgPos2Temp << 0) & 0xFF); *(UINT8 *)(rawData + 7) = *(UINT8 *)(rawData + 7) | ((EBC_DchgNeg2Temp << 0) & 0xFF); break; default: break; } }