|
@@ -0,0 +1,2529 @@
|
|
|
+
|
|
|
+ * @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 = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF);
|
|
|
+ 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)(((*(UINT16 *)(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)(((*(UINT32 *)(rawData + 5)) >> 6) & 0x3FFFF);
|
|
|
+ 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)(((*(UINT16 *)(rawData + 1))) & 0xFFFF);
|
|
|
+ BMS7_MinUcellSysNr = (UINT8)(((*(UINT8 *)(rawData + 3))) & 0xFF);
|
|
|
+ BMS7_MinUcellNr = (UINT16)(((*(UINT16 *)(rawData + 4))) & 0xFFFF);
|
|
|
+ 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)(((*(UINT16 *)(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)(((*(UINT16 *)(rawData + 1))) & 0xFFFF);
|
|
|
+ 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) * 1) + (0));
|
|
|
+ BMS28_HVCmd = (UINT8)(((((*(UINT8 *)(rawData + 0)) >> 2) & 0x3) * 1) + (0));
|
|
|
+ BMS28_ChgSts = (UINT8)(((((*(UINT8 *)(rawData + 0)) >> 4) & 0x3) * 1) + (0));
|
|
|
+ BMS28_HVRelaySts = (UINT8)(((((*(UINT8 *)(rawData + 0)) >> 6) & 0x3) * 1) + (0));
|
|
|
+ BMS28_HVVolt = (UINT16)((((((*(UINT16 *)(rawData + 1) >> 8) & 0xFF) | ((*(UINT16 *)(rawData + 1) << 8) & 0xFF00) >> 0) & 0xFFFF) * 1) + (0));
|
|
|
+ BMS28_SetTemp = (UINT8)(((((*(UINT8 *)(rawData + 4)) >> 0) & 0xFF) * 1) + (0));
|
|
|
+ BMS28_Life = (UINT8)(((((*(UINT8 *)(rawData + 6)) >> 0) & 0xFF) * 1) + (0));
|
|
|
+ BMS28_CRC = (UINT8)(((((*(UINT8 *)(rawData + 7)) >> 0) & 0xFF) * 1) + (0));
|
|
|
+ BcuRxFlag[122] = 0x01;
|
|
|
+ break;
|
|
|
+ case 0x18FFC13A:
|
|
|
+ TMS_WorkStatus = (UINT8)(((((*(UINT8 *)(rawData + 0)) >> 0) & 0x3) * 1) + (0));
|
|
|
+ TMS_HVRelayST = (UINT8)(((((*(UINT8 *)(rawData + 0)) >> 2) & 0x3) * 1) + (0));
|
|
|
+ TMS_OutletTemp = (UINT8)(((((*(UINT8 *)(rawData + 1)) >> 0) & 0xFF) * 1) + (0));
|
|
|
+ TMS_InletTemp = (UINT8)(((((*(UINT8 *)(rawData + 2)) >> 0) & 0xFF) * 1) + (0));
|
|
|
+ TMS_Version = (UINT8)(((((*(UINT8 *)(rawData + 3)) >> 0) & 0xFF) * 1) + (0));
|
|
|
+ TMS_ReqPow = (UINT16)((((((*(UINT16 *)(rawData + 5) >> 8) & 0xFF) | ((*(UINT16 *)(rawData + 5) << 8) & 0xFF00) >> 0) & 0xFFFF) * 1) + (0));
|
|
|
+ TMS_ErrCode = (UINT8)(((((*(UINT8 *)(rawData + 7)) >> 0) & 0x3F) * 1) + (0));
|
|
|
+ TMS_FaultLevel = (UINT8)(((((*(UINT8 *)(rawData + 7)) >> 6) & 0x3) * 1) + (0));
|
|
|
+ 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;
|
|
|
+ TimeCounter = TimeCounter + 10;
|
|
|
+
|
|
|
+ Can涓㈠抚璇婃柇
|
|
|
+ */
|
|
|
+ for (UINT8 i = 0; i < sizeof(BcuInTable) / 4; i++)
|
|
|
+ {
|
|
|
+ if (BcuRxFlag[i] == 1)
|
|
|
+ {
|
|
|
+ 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)
|
|
|
+ {
|
|
|
+ BcuRxErrorCounter[99]++;
|
|
|
+
|
|
|
+ BcuRxErrorCounter[100]++;
|
|
|
+
|
|
|
+ BcuRxErrorCounter[118]++;
|
|
|
+
|
|
|
+ BcuRxErrorCounter[120]++;
|
|
|
+
|
|
|
+ }
|
|
|
+ if (TimeCounter % 200 == 0)
|
|
|
+ {
|
|
|
+ BcuRxErrorCounter[103]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[121]++;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ if (TimeCounter % 500 == 0)
|
|
|
+ {
|
|
|
+ BcuRxErrorCounter[0]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[1]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[2]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[3]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[4]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[5]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[6]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[7]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[8]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[9]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[10]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[11]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[12]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[13]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[14]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[15]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[16]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[17]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[18]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[19]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[20]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[21]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[22]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[23]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[24]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[25]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[26]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[27]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[28]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[29]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[30]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[31]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[32]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[33]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[34]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[35]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[36]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[37]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[38]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[39]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[40]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[41]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[42]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[43]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[44]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[45]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[46]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[47]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[48]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[49]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[50]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[51]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[52]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[53]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[54]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[55]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[56]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[57]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[58]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[59]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[60]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[61]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[62]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[63]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[64]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[65]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[66]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[67]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[68]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[69]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[70]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[71]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[72]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[73]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[74]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[75]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[76]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[77]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[78]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[79]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[80]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[81]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[82]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[83]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[84]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[85]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[86]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[87]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[88]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[89]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[90]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[91]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[92]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[93]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[94]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[95]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[96]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[97]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[98]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[101]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[102]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[104]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[105]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[106]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[107]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[108]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[109]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[110]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[111]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[112]++;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ if (TimeCounter % 1000 == 0)
|
|
|
+ {
|
|
|
+ BcuRxErrorCounter[113]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[114]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[115]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[116]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[117]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[119]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[122]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[123]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[124]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[125]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[126]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[127]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[128]++;
|
|
|
+
|
|
|
+
|
|
|
+ BcuRxErrorCounter[129]++;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ if (TimeCounter % 2000 == 0)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ if (TimeCounter % 3000 == 0)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ if (TimeCounter % 5000 == 0)
|
|
|
+ {
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+ * @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_ReqHV = VCU_HvOnOff;
|
|
|
+ VCU_DCDCSts = 0x03;
|
|
|
+ VCU_DCACSts = 0x03;
|
|
|
+ VCU_DCAPSts = 0x03;
|
|
|
+
|
|
|
+ VCU_PosRlySts = VCU_MainPosRlySts;
|
|
|
+ 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);
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+}
|