|
@@ -2,7 +2,7 @@
|
|
|
*
|
|
|
* Copy right: RL.Chen J and Zhen C
|
|
|
* File name: AppFunc.c
|
|
|
- * Description: 搴旂敤灞傚嚱鏁拌皟鐢ㄦ枃浠?
|
|
|
+ * Description: 搴旂敤灞傚嚱鏁拌皟鐢ㄦ枃锟�?
|
|
|
* History: 2021-03-15
|
|
|
*
|
|
|
****************************************************************************/
|
|
@@ -24,7 +24,7 @@ UINT8 bcc_chk(UINT8* data, UINT16 length)
|
|
|
}
|
|
|
/***********************************************************************************************************************
|
|
|
* LED鎺у埗鍑芥暟
|
|
|
- * 杈撳叆锛氳繍琛岀姸鎬?
|
|
|
+ * 杈撳叆锛氳繍琛岀姸锟�?
|
|
|
* 杈撳嚭锛歀ED鎺у埗
|
|
|
* 澶勭悊锛氭牴鎹�笉鍚岀姸鎬佽繘琛孡ED鏄剧ず
|
|
|
***********************************************************************************************************************/
|
|
@@ -42,7 +42,7 @@ void LEDDisplay(void)
|
|
|
#ifdef USING_PRINTF1
|
|
|
printf("[%d]-%d-%d-%d\n",__LINE__,LightTimer,ErrorLightTimer,battSoc);
|
|
|
#endif
|
|
|
- if(AppDataInfo.BattLock==TRUE || battSoc>100/socAccuracy)//鐢垫睜鏁村�浜庨攣瀹氱姸鎬?
|
|
|
+ if(AppDataInfo.BattLock==TRUE || battSoc>100/socAccuracy)//鐢垫睜鏁村�浜庨攣瀹氱姸锟�?
|
|
|
{
|
|
|
if(LightTimer<(UINT8)(LEDFlashPeriod*DutyRatio))
|
|
|
{
|
|
@@ -72,7 +72,7 @@ void LEDDisplay(void)
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
- else //鐢垫睜鏈��浜庨攣瀹氱姸鎬?
|
|
|
+ else //鐢垫睜鏈��浜庨攣瀹氱姸锟�?
|
|
|
{
|
|
|
if(currentState!=AppDataInfo.BattLock)
|
|
|
{
|
|
@@ -150,8 +150,8 @@ void LEDDisplay(void)
|
|
|
/***********************************************************************************************************************
|
|
|
* BMS鏁呴殰瑙g爜鍑芥暟
|
|
|
* 杈撳叆锛欱MS鏁呴殰缂栫爜
|
|
|
- * 杈撳嚭锛氱姸鎬佸弬鏁?
|
|
|
- * 澶勭悊锛氬皢BMS鏁呴殰缂栫爜渚濇�瑙d负鏍囧噯鏁呴殰鐮?
|
|
|
+ * 杈撳嚭锛氱姸鎬佸弬锟�?
|
|
|
+ * 澶勭悊锛氬皢BMS鏁呴殰缂栫爜渚濇�瑙d负鏍囧噯鏁呴殰锟�?
|
|
|
***********************************************************************************************************************/
|
|
|
static UINT8 BmsErrorDecode(UINT32 battWarningState)
|
|
|
{
|
|
@@ -178,7 +178,7 @@ static UINT8 BmsErrorDecode(UINT32 battWarningState)
|
|
|
{
|
|
|
ErrorNumTemp = 10;
|
|
|
PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
|
|
|
- //str += "ERROR锛氬瓨鍦ㄦ€荤數鍘嬭繃鏀惧憡璀︽晠闅滐紒锛乗n";鎬荤數鍘嬭繃浣?
|
|
|
+ //str += "ERROR锛氬瓨鍦ㄦ€荤數鍘嬭繃鏀惧憡璀︽晠闅滐紒锛乗n";鎬荤數鍘嬭繃锟�?
|
|
|
}
|
|
|
|
|
|
ret = ((battWarningState >> 2) & 0x01) == 1 ;
|
|
@@ -262,7 +262,7 @@ static UINT8 BmsErrorDecode(UINT32 battWarningState)
|
|
|
{
|
|
|
ErrorNumTemp = 18;
|
|
|
PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
|
|
|
- //str += "ERROR锛氬瓨鍦ㄦ俯搴﹂噰闆嗗け鏁?浼犳劅鍣ㄦ晠闅滐紒锛乗n";
|
|
|
+ //str += "ERROR锛氬瓨鍦ㄦ俯搴﹂噰闆嗗け锟�?浼犳劅鍣ㄦ晠闅滐紒锛乗n";
|
|
|
}
|
|
|
|
|
|
ret = ((battWarningState >> 17) & 0x01) == 1;
|
|
@@ -270,7 +270,7 @@ static UINT8 BmsErrorDecode(UINT32 battWarningState)
|
|
|
{
|
|
|
ErrorNumTemp = 19;
|
|
|
PutErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum),ErrorNumTemp);
|
|
|
- //str += "ERROR锛氬瓨鍦ㄧ數鍘嬮噰闆嗗け鏁?鏂�嚎鏁呴殰锛侊紒\n";
|
|
|
+ //str += "ERROR锛氬瓨鍦ㄧ數鍘嬮噰闆嗗け锟�?鏂�嚎鏁呴殰锛侊紒\n";
|
|
|
}
|
|
|
|
|
|
ret = ((battWarningState >> 18) & 0x01) == 1;
|
|
@@ -324,10 +324,10 @@ static UINT8 BmsErrorDecode(UINT32 battWarningState)
|
|
|
return 1;
|
|
|
}
|
|
|
/***********************************************************************************************************************
|
|
|
- * 鑾峰彇鏁呴殰鐮佸嚱鏁?
|
|
|
+ * 鑾峰彇鏁呴殰鐮佸嚱锟�?
|
|
|
* 杈撳叆锛氭晠闅滄暟缁勫拰闀垮害
|
|
|
- * 杈撳嚭锛氭晠闅滀唬鐮?
|
|
|
- * 澶勭悊锛氫粠鏁呴殰鏁扮粍涓�幏鍙栨晠闅滅爜锛屽苟灏嗕箣鍓嶇殑鏁呴殰鐮佸悜鍓嶇Щ鍔?
|
|
|
+ * 杈撳嚭锛氭晠闅滀唬锟�?
|
|
|
+ * 澶勭悊锛氫粠鏁呴殰鏁扮粍涓�幏鍙栨晠闅滅爜锛屽苟灏嗕箣鍓嶇殑鏁呴殰鐮佸悜鍓嶇Щ锟�?
|
|
|
***********************************************************************************************************************/
|
|
|
UINT16 GetErrorNum(UINT16 *ErrorArray,UINT8 Errorlen)
|
|
|
{
|
|
@@ -342,10 +342,10 @@ UINT16 GetErrorNum(UINT16 *ErrorArray,UINT8 Errorlen)
|
|
|
return OutNum;
|
|
|
}
|
|
|
/***********************************************************************************************************************
|
|
|
- * 鏁呴殰鐮佹敞鍏ュ嚱鏁?
|
|
|
+ * 鏁呴殰鐮佹敞鍏ュ嚱锟�?
|
|
|
* 杈撳叆锛氭晠闅滄暟缁勶紝鏁呴殰闀垮害锛屾晠闅滅爜
|
|
|
- * 杈撳嚭锛氱姸鎬?
|
|
|
- * 澶勭悊锛氬皢鏁呴殰鐮佸啓鍏ュ埌鏁呴殰鏁扮粍涓�紝濡傛灉瀛樺湪鍒欎笉鍐欏叆锛屽�鏋滃瓨鍦ㄥ垯涓嶅啓鍏?
|
|
|
+ * 杈撳嚭锛氱姸锟�?
|
|
|
+ * 澶勭悊锛氬皢鏁呴殰鐮佸啓鍏ュ埌鏁呴殰鏁扮粍涓�紝濡傛灉瀛樺湪鍒欎笉鍐欏叆锛屽�鏋滃瓨鍦ㄥ垯涓嶅啓锟�?
|
|
|
***********************************************************************************************************************/
|
|
|
UINT8 PutErrorNum(UINT16 *ErrorArray,UINT8 Errorlen,UINT16 ErrorNum)
|
|
|
{
|
|
@@ -423,7 +423,7 @@ void SaveAppData(void)
|
|
|
* 杩愯�鏁版嵁鍔犺浇鍑芥暟
|
|
|
* 杈撳叆锛氱┖
|
|
|
* 杈撳嚭锛氱┖
|
|
|
- * 澶勭悊锛氬皢杩愯�鏁版嵁杩涜�鍔犺浇锛岃嫢鏂板�浜嗘暟鎹�」锛屽垯淇濇寔鍓嶉潰鏁版嵁椤逛笉鍔?
|
|
|
+ * 澶勭悊锛氬皢杩愯�鏁版嵁杩涜�鍔犺浇锛岃嫢鏂板�浜嗘暟鎹�」锛屽垯淇濇寔鍓嶉潰鏁版嵁椤逛笉锟�?
|
|
|
***********************************************************************************************************************/
|
|
|
void LoadAppData(void)
|
|
|
{
|
|
@@ -635,17 +635,17 @@ void LoadAppConfig(void)
|
|
|
return;
|
|
|
}
|
|
|
/***********************************************************************************************************************
|
|
|
- * 閰嶇疆鏂囦欢鍒濆�鍖栧嚱鏁?
|
|
|
+ * 閰嶇疆鏂囦欢鍒濆�鍖栧嚱锟�?
|
|
|
* 杈撳叆锛氱┖
|
|
|
* 杈撳嚭锛氱┖
|
|
|
- * 澶勭悊锛氬皢鍏ㄥ眬閰嶇疆鏂囦欢杩涜�鍒濆�鍖?
|
|
|
- * 娉ㄦ剰锛氶厤缃�暟鎹�笉澧炲姞鏁版嵁椤癸紝鑻ュ�鍔犳暟鎹�」锛岄渶瑕佷慨鏀瑰姞杞藉嚱鏁?
|
|
|
+ * 澶勭悊锛氬皢鍏ㄥ眬閰嶇疆鏂囦欢杩涜�鍒濆�锟�?
|
|
|
+ * 娉ㄦ剰锛氶厤缃�暟鎹�笉澧炲姞鏁版嵁椤癸紝鑻ュ�鍔犳暟鎹�」锛岄渶瑕佷慨鏀瑰姞杞藉嚱锟�?
|
|
|
***********************************************************************************************************************/
|
|
|
static void setDefaultAppConfigData(void)
|
|
|
{
|
|
|
UINT8 i = 0;
|
|
|
memset(&AppNVMData, 0x00, sizeof(AppConfigDataType));
|
|
|
- AppNVMData.appDataModify = TRUE; //鏁版嵁鏇存敼鏍囧織浣?
|
|
|
+ AppNVMData.appDataModify = TRUE; //鏁版嵁鏇存敼鏍囧織锟�?
|
|
|
// char sn[BATT_SN_LEN];
|
|
|
// appGetSNNumSync(sn);
|
|
|
memcpy(AppNVMData.battSN,DEFAULT_SN,BATT_SN_LEN);
|
|
@@ -662,11 +662,11 @@ static void setDefaultAppConfigData(void)
|
|
|
return;
|
|
|
}
|
|
|
/***********************************************************************************************************************
|
|
|
- * 杩愯�鏁版嵁鍒濆�鍖栧嚱鏁?
|
|
|
+ * 杩愯�鏁版嵁鍒濆�鍖栧嚱锟�?
|
|
|
* 杈撳叆锛氱┖
|
|
|
* 杈撳嚭锛氱┖
|
|
|
- * 澶勭悊锛氬皢杩愯�鏁版嵁杩涜�鍒濆�鍖?
|
|
|
- * 娉�細姣忓�鍔犱竴椤规暟鎹�」锛岄渶瑕佸�鍔犻粯璁ゅ€?
|
|
|
+ * 澶勭悊锛氬皢杩愯�鏁版嵁杩涜�鍒濆�锟�?
|
|
|
+ * 娉�細姣忓�鍔犱竴椤规暟鎹�」锛岄渶瑕佸�鍔犻粯璁わ拷?
|
|
|
***********************************************************************************************************************/
|
|
|
static void setDefaultAppDataInfo(void)
|
|
|
{
|
|
@@ -698,8 +698,8 @@ static void setDefaultAppDataInfo(void)
|
|
|
/***********************************************************************************************************************
|
|
|
* Fota鍗囩骇澶勭悊鍑芥暟
|
|
|
* 杈撳叆锛氱綉缁滄帴鏀剁殑鏁版嵁锛岀綉缁滈摼鎺�D
|
|
|
- * 杈撳嚭锛?x00琛ㄧず鏁版嵁鏈�噯澶囧畬鎴愶紝0x01琛ㄧず鏁版嵁妯″潡OTA鏁版嵁鍑嗗�瀹屾垚锛?x88琛ㄧずBMS鐨凮TA鏁版嵁鍑嗗�瀹屾垚
|
|
|
- * 澶勭悊锛氬皢鎺ユ敹鐨勬暟鎹�繘琛屾牎楠岋紝鎼�繍鑷冲崌绾у尯鍩燂紝骞惰繘琛屽簲绛?
|
|
|
+ * 杈撳嚭锟�?x00琛ㄧず鏁版嵁鏈�噯澶囧畬鎴愶紝0x01琛ㄧず鏁版嵁妯″潡OTA鏁版嵁鍑嗗�瀹屾垚锟�?x88琛ㄧずBMS鐨凮TA鏁版嵁鍑嗗�瀹屾垚
|
|
|
+ * 澶勭悊锛氬皢鎺ユ敹鐨勬暟鎹�繘琛屾牎楠岋紝鎼�繍鑷冲崌绾у尯鍩燂紝骞惰繘琛屽簲锟�?
|
|
|
***********************************************************************************************************************/
|
|
|
void Fota_Func(UINT8 *DataPtr,INT32 connectId)
|
|
|
{
|
|
@@ -978,10 +978,10 @@ static UINT8 Fota_crc_chk(UINT8* data,UINT8 length)
|
|
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
- * 鍛ㄦ湡鎬ф姤鏂囨媶鍖?
|
|
|
+ * 鍛ㄦ湡鎬ф姤鏂囨媶锟�?
|
|
|
* 杈撳叆锛氭姤鏂嘔D銆乧an鎶ユ枃鏁版嵁锛堟寚閽堬級
|
|
|
- * 杈撳嚭锛?-
|
|
|
- * 澶勭悊锛氭牴鎹�笉鍚岀殑ID锛屽皢鏁版嵁杩涜�鎷嗗寘锛屽苟鏀剧疆鍒扮浉搴旂殑鍙橀噺涓?
|
|
|
+ * 杈撳嚭锟�?-
|
|
|
+ * 澶勭悊锛氭牴鎹�笉鍚岀殑ID锛屽皢鏁版嵁杩涜�鎷嗗寘锛屽苟鏀剧疆鍒扮浉搴旂殑鍙橀噺锟�?
|
|
|
***********************************************************************************************************************/
|
|
|
void DecodeFunction(UINT32 ID,UINT8* rawData)
|
|
|
{
|
|
@@ -1870,9 +1870,9 @@ void DecodeFunction(UINT32 ID,UINT8* rawData)
|
|
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
- * 鍛ㄦ湡鎬ф姤鏂囪瘖鏂?
|
|
|
+ * 鍛ㄦ湡鎬ф姤鏂囪瘖锟�?
|
|
|
* 杈撳叆锛氭姤鏂嘔D
|
|
|
- * 杈撳嚭锛?-
|
|
|
+ * 杈撳嚭锟�?-
|
|
|
* 澶勭悊锛氬懆鏈熸€ц瘖鏂瑿AN鎶ユ枃鏄�惁涓㈠け
|
|
|
***********************************************************************************************************************/
|
|
|
void canRxDiagnose(void)
|
|
@@ -2348,9 +2348,9 @@ void canRxDiagnose(void)
|
|
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
- * 鍛ㄦ湡鎬ф姤鏂囪瘖鏂?
|
|
|
+ * 鍛ㄦ湡鎬ф姤鏂囪瘖锟�?
|
|
|
* 杈撳叆锛氭姤鏂嘔D
|
|
|
- * 杈撳嚭锛?-
|
|
|
+ * 杈撳嚭锟�?-
|
|
|
* 澶勭悊锛氬懆鏈熸€ц瘖鏂瑿AN鎶ユ枃鏄�惁涓㈠け
|
|
|
***********************************************************************************************************************/
|
|
|
void canTxTest(void)
|
|
@@ -2665,7 +2665,7 @@ void canTxTest(void)
|
|
|
* 鎶ユ枃搴忓彿鏌ユ壘
|
|
|
* 杈撳叆锛氭姤鏂嘔D
|
|
|
* 杈撳嚭锛氭姤鏂嘔D鍦–OMInTable涓�殑搴忓彿
|
|
|
- * 澶勭悊锛?-
|
|
|
+ * 澶勭悊锟�?-
|
|
|
***********************************************************************************************************************/
|
|
|
UINT8 canCOMInTableIndexFind(UINT32 canID)
|
|
|
{
|
|
@@ -2683,10 +2683,10 @@ UINT8 canCOMInTableIndexFind(UINT32 canID)
|
|
|
|
|
|
|
|
|
/***********************************************************************************************************************
|
|
|
- * 鎶ユ枃闀挎椂涓㈠抚锛屾暟鎹�疆涓烘棤鏁堝€?
|
|
|
+ * 鎶ユ枃闀挎椂涓㈠抚锛屾暟鎹�疆涓烘棤鏁堬拷?
|
|
|
* 杈撳叆锛氭姤鏂嘔D
|
|
|
- * 杈撳嚭锛?-
|
|
|
- * 澶勭悊锛氭姤鏂囬暱鏃朵涪甯у悗锛屽�搴旂殑ID鐨勪俊鍙峰€间负鏃犳晥鍊?
|
|
|
+ * 杈撳嚭锟�?-
|
|
|
+ * 澶勭悊锛氭姤鏂囬暱鏃朵涪甯у悗锛屽�搴旂殑ID鐨勪俊鍙峰€间负鏃犳晥锟�?
|
|
|
***********************************************************************************************************************/
|
|
|
void canRxMsgSetInvalidValue(UINT32 ID)
|
|
|
{
|
|
@@ -3587,7 +3587,31 @@ BOOL snCodeCompare(UINT8* savedSN, UINT8* receivedSN)
|
|
|
}
|
|
|
return ret;
|
|
|
}
|
|
|
-
|
|
|
+BOOL VINCodeCompare(UINT8* saveVIN, UINT8* receivedVIN)
|
|
|
+{
|
|
|
+ BOOL ret = false;
|
|
|
+ for(int i=0;i<17;i++)
|
|
|
+ {
|
|
|
+ //the sn number should be '0'-'9' or 'a'-'z' or 'A'-'Z'
|
|
|
+ if((receivedVIN[i]>='0'&&receivedVIN[i]<='9') || (receivedVIN[i]>='a'&&receivedVIN[i]<='z')|| (receivedVIN[i]>='A'&&receivedVIN[i]<='Z'))
|
|
|
+ {
|
|
|
+ if(saveVIN[i] == receivedVIN[i]) //if they are same, we should not modify the savedSN
|
|
|
+ {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ret = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else //if the code is invalid, we should not modify the savedSN
|
|
|
+ {
|
|
|
+ ret = false;
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ret;
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
|
@@ -3621,37 +3645,37 @@ void TcpDataAssemble(UINT8 Tcptype,UINT8 *SendBuffer,UTC8TimeType UTC8TimeTcp)
|
|
|
*(SendBuffer+0x22) = (UTC8TimeTcp.hour&0xFF); //uint8 hour
|
|
|
*(SendBuffer+0x23) = (UTC8TimeTcp.minute&0xFF); //uint8 minute
|
|
|
*(SendBuffer+0x24) = (UTC8TimeTcp.second&0xFF); //uint8 second
|
|
|
- memcpy(SendBuffer+0x25,VIN,17);
|
|
|
- *(SendBuffer+0x36) = (vehicleStatus&0xFF); //uint8 整车状态
|
|
|
- *(SendBuffer+0x37) = (bmsHVOn&0xFF); //uint8 BMS上高压指令
|
|
|
- *(SendBuffer+0x38) = (currentGearPosition&0xFF); //uint8 当前挡位
|
|
|
- *(SendBuffer+0x39) = (parkingBreakStatus&0xFF); //uint8 手刹信号
|
|
|
- *(SendBuffer+0x3A) = (breakingStatus&0xFF); //uint8 制动开关
|
|
|
- *(SendBuffer+0x3B) = ((ODO>>24)&0xFF); //uint32 总里程
|
|
|
+ memcpy(SendBuffer+0x25,AppDataInfo.VIN,17);
|
|
|
+ *(SendBuffer+0x36) = (vehicleStatus&0xFF); //uint8 锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x37) = (bmsHVOn&0xFF); //uint8 BMS锟较革拷压指锟斤拷
|
|
|
+ *(SendBuffer+0x38) = (currentGearPosition&0xFF); //uint8 锟斤拷前锟斤拷位
|
|
|
+ *(SendBuffer+0x39) = (parkingBreakStatus&0xFF); //uint8 锟斤拷刹锟脚猴拷
|
|
|
+ *(SendBuffer+0x3A) = (breakingStatus&0xFF); //uint8 锟狡讹拷锟斤拷锟斤拷
|
|
|
+ *(SendBuffer+0x3B) = ((ODO>>24)&0xFF); //uint32 锟斤拷锟斤拷锟�
|
|
|
*(SendBuffer+0x3C) = ((ODO>>16)&0xFF);
|
|
|
*(SendBuffer+0x3D) = ((ODO>>8)&0xFF);
|
|
|
*(SendBuffer+0x3E) = (ODO&0xFF);
|
|
|
*(SendBuffer+0x3F) = (dcdcWorkStatus&0xFF); //uint8 DCDC状态
|
|
|
- *(SendBuffer+0x40) = (numOfChrgableSubsys&0xFF); //uint8 可充电子系统数
|
|
|
- *(SendBuffer+0x41) = (chrgableSubsysCode&0xFF); //uint8 可充电储能子系统号
|
|
|
- *(SendBuffer+0x42) = (maxTempSubsysCode&0xFF); //uint8 最高温度子系统号
|
|
|
- *(SendBuffer+0x43) = (maxTempCellCode&0xFF); //uint8 最高温度探针单体代号
|
|
|
- *(SendBuffer+0x44) = (minTempSubsysCode&0xFF); //uint8 最低温度子系统号
|
|
|
- *(SendBuffer+0x45) = (minTempCellCode&0xFF); //uint8 最低温度探针子系统代号
|
|
|
- *(SendBuffer+0x46) = (maxVolSubsysCode&0xFF); //uint8 最高电压电池子系统号
|
|
|
- *(SendBuffer+0x47) = ((maxVolCellCode>>8)&0xFF); //uint16 最高电压电池单体代号
|
|
|
+ *(SendBuffer+0x40) = (numOfChrgableSubsys&0xFF); //uint8 锟缴筹拷锟斤拷锟较低筹拷锟�
|
|
|
+ *(SendBuffer+0x41) = (chrgableSubsysCode&0xFF); //uint8 锟缴筹拷绱�拷锟斤拷锟较低筹拷锟�
|
|
|
+ *(SendBuffer+0x42) = (maxTempSubsysCode&0xFF); //uint8 锟斤拷锟斤拷露锟斤拷锟较低筹拷锟�
|
|
|
+ *(SendBuffer+0x43) = (maxTempCellCode&0xFF); //uint8 锟斤拷锟斤拷露锟教斤拷氲ワ拷锟斤拷锟斤拷
|
|
|
+ *(SendBuffer+0x44) = (minTempSubsysCode&0xFF); //uint8 锟斤拷锟斤拷露锟斤拷锟较低筹拷锟�
|
|
|
+ *(SendBuffer+0x45) = (minTempCellCode&0xFF); //uint8 锟斤拷锟斤拷露锟教斤拷锟斤拷锟较低筹拷锟斤拷锟�
|
|
|
+ *(SendBuffer+0x46) = (maxVolSubsysCode&0xFF); //uint8 锟斤拷叩锟窖癸拷锟斤拷锟斤拷系统锟斤拷
|
|
|
+ *(SendBuffer+0x47) = ((maxVolCellCode>>8)&0xFF); //uint16 锟斤拷叩锟窖癸拷锟截碉拷锟斤拷锟斤拷锟�
|
|
|
*(SendBuffer+0x48) = (maxVolCellCode&0xFF);
|
|
|
- *(SendBuffer+0x49) = (minVolSubsysCode&0xFF); //uint8 最低电压电池子系统号
|
|
|
- *(SendBuffer+0x4A) = ((minVoCelllCode>>8)&0xFF); //uint16 最低电压电池单体代号
|
|
|
+ *(SendBuffer+0x49) = (minVolSubsysCode&0xFF); //uint8 锟斤拷偷锟窖癸拷锟斤拷锟斤拷系统锟斤拷
|
|
|
+ *(SendBuffer+0x4A) = ((minVoCelllCode>>8)&0xFF); //uint16 锟斤拷偷锟窖癸拷锟截碉拷锟斤拷锟斤拷锟�
|
|
|
*(SendBuffer+0x4B) = (minVoCelllCode&0xFF);
|
|
|
- *(SendBuffer+0x4C) = (ebcStatus&0xFF); //uint8 换电控制器状态
|
|
|
- *(SendBuffer+0x4D) = (ebcAskHVOn&0xFF); //uint8 禁止高压上电
|
|
|
- *(SendBuffer+0x4E) = (ebcAskHVOff&0xFF); //uint8 请求高压下电
|
|
|
- *(SendBuffer+0x4F) = (retainLockSignal&0xFF); //uint8 锁紧机构锁止信号
|
|
|
- *(SendBuffer+0x50) = (dischargeLockSignal&0xFF); //uint8 放电互锁信号
|
|
|
- *(SendBuffer+0x51) = (chargeLockSignal&0xFF); //uint8 充电互锁信号
|
|
|
- *(SendBuffer+0x52) = (chargeFlag&0xFF); //uint8 充电标志位
|
|
|
- *(SendBuffer+0x53) = ((vcuDCVol>>8)&0xFF); //uint16 电机控制器直流母线电压
|
|
|
+ *(SendBuffer+0x4C) = (ebcStatus&0xFF); //uint8 锟斤拷锟斤拷锟斤拷锟斤拷锟阶刺�
|
|
|
+ *(SendBuffer+0x4D) = (ebcAskHVOn&0xFF); //uint8 锟斤拷止锟斤拷压锟较碉拷
|
|
|
+ *(SendBuffer+0x4E) = (ebcAskHVOff&0xFF); //uint8 锟斤拷锟斤拷锟窖癸拷碌锟�
|
|
|
+ *(SendBuffer+0x4F) = (retainLockSignal&0xFF); //uint8 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷止锟脚猴拷
|
|
|
+ *(SendBuffer+0x50) = (dischargeLockSignal&0xFF); //uint8 锟脚电互锟斤拷锟脚猴拷
|
|
|
+ *(SendBuffer+0x51) = (chargeLockSignal&0xFF); //uint8 锟斤拷缁ワ拷锟斤拷藕锟�
|
|
|
+ *(SendBuffer+0x52) = (chargeFlag&0xFF); //uint8 锟斤拷锟斤拷志位
|
|
|
+ *(SendBuffer+0x53) = ((vcuDCVol>>8)&0xFF); //uint16 锟斤拷锟斤拷锟斤拷锟斤拷锟街憋拷锟侥革拷叩锟窖�
|
|
|
*(SendBuffer+0x54) = (vcuDCVol&0xFF);
|
|
|
*(SendBuffer+0x55) = bcc_chk(SendBuffer,0x55);
|
|
|
break;
|
|
@@ -3683,55 +3707,55 @@ void TcpDataAssemble(UINT8 Tcptype,UINT8 *SendBuffer,UTC8TimeType UTC8TimeTcp)
|
|
|
*(SendBuffer+0x24) = (UTC8TimeTcp.second&0xFF); //uint8 second
|
|
|
*(SendBuffer+0x25) = (csq&0xFF); //uint8 csq
|
|
|
*(SendBuffer+0x26) = (bmsStatus&0xFF); //uint8 BMS状态
|
|
|
- *(SendBuffer+0x27) = (chrgConctStatus&0xFF); //uint8 充电连接状态
|
|
|
- *(SendBuffer+0x28) = (bmsErrClass&0xFF); //uint8 BMS故障等级
|
|
|
- *(SendBuffer+0x29) = (bmsErrNum&0xFF); //uint8 BMS故障码
|
|
|
- *(SendBuffer+0x2A) = (highVolPwrDwnReq&0xFF); //uint8 下高压请求
|
|
|
- *(SendBuffer+0x2B) = (chrgStatus&0xFF); //uint8 充电状态
|
|
|
+ *(SendBuffer+0x27) = (chrgConctStatus&0xFF); //uint8 锟斤拷锟斤拷锟斤拷锟阶刺�
|
|
|
+ *(SendBuffer+0x28) = (bmsErrClass&0xFF); //uint8 BMS锟斤拷锟较等硷拷
|
|
|
+ *(SendBuffer+0x29) = (bmsErrNum&0xFF); //uint8 BMS锟斤拷锟斤拷锟斤拷
|
|
|
+ *(SendBuffer+0x2A) = (highVolPwrDwnReq&0xFF); //uint8 锟铰革拷压锟斤拷锟斤拷
|
|
|
+ *(SendBuffer+0x2B) = (chrgStatus&0xFF); //uint8 锟斤拷锟阶刺�
|
|
|
*(SendBuffer+0x2C) = (battSoc&0xFF); //uint8 SOC
|
|
|
- *(SendBuffer+0x2D) = (battSOH&0xFF); //uint8 电池SOH
|
|
|
- *(SendBuffer+0x2E) = ((packTotalVol>>8)&0xFF); //uint16 电池总电压
|
|
|
+ *(SendBuffer+0x2D) = (battSOH&0xFF); //uint8 锟斤拷锟絊OH
|
|
|
+ *(SendBuffer+0x2E) = ((packTotalVol>>8)&0xFF); //uint16 锟斤拷锟斤拷艿锟窖�
|
|
|
*(SendBuffer+0x2F) = (packTotalVol&0xFF);
|
|
|
- *(SendBuffer+0x30) = ((packTotalCurr>>8)&0xFF); //uint16 电池总电流
|
|
|
+ *(SendBuffer+0x30) = ((packTotalCurr>>8)&0xFF); //uint16 锟斤拷锟斤拷艿锟斤拷锟�
|
|
|
*(SendBuffer+0x31) = (packTotalCurr&0xFF);
|
|
|
- *(SendBuffer+0x32) = ((insulationR>>8)&0xFF); //uint16 绝缘电阻
|
|
|
+ *(SendBuffer+0x32) = ((insulationR>>8)&0xFF); //uint16 锟斤拷缘锟斤拷锟斤拷
|
|
|
*(SendBuffer+0x33) = (insulationR&0xFF);
|
|
|
- *(SendBuffer+0x34) = (mainPosRlyStatus&0xFF); //uint8 主正继电器开闭状态
|
|
|
- *(SendBuffer+0x35) = (preRlyStatus&0xFF); //uint8 预充继电器开闭状态
|
|
|
- *(SendBuffer+0x36) = (mainNegRlyStatus&0xFF); //uint8 总负继电器开闭状态
|
|
|
- *(SendBuffer+0x37) = (thrRlyStatus&0xFF); //uint8 三合一继电器开闭状态
|
|
|
- *(SendBuffer+0x38) = (ptc1RlyStatus&0xFF); //uint8 PTC1继电器开闭状态
|
|
|
- *(SendBuffer+0x39) = (airCondRlyStatus&0xFF); //uint8 空调继电器开闭状态
|
|
|
- *(SendBuffer+0x3A) = (dcChrg1PosRlyStatus&0xFF); //uint8 快充1正继电器开闭状态
|
|
|
- *(SendBuffer+0x3B) = (dcChrg1NegRlyStatus&0xFF); //uint8 快充1负继电器开闭状态
|
|
|
- *(SendBuffer+0x3C) = (dcChrg2PosRlyStatus&0xFF); //uint8 快充2正继电器开闭状态
|
|
|
- *(SendBuffer+0x3D) = (dcChrg2NegRlyStatus&0xFF); //uint8 快充2负继电器开闭状态
|
|
|
- *(SendBuffer+0x3E) = (heatPosRlyStatus&0xFF); //uint8 加热正继电器开闭状态
|
|
|
- *(SendBuffer+0x3F) = (heatNegRlyStatus&0xFF); //uint8 加热负继电器开闭状态
|
|
|
- *(SendBuffer+0x40) = (coolRlyStatus&0xFF); //uint8 水冷继电器开闭状态
|
|
|
- *(SendBuffer+0x41) = (ptc2RlyStatus&0xFF); //uint8 PTC2继电器开闭状态
|
|
|
- *(SendBuffer+0x42) = (mainPosRlyErrStatus&0xFF); //uint8 主正继电器故障状态
|
|
|
- *(SendBuffer+0x43) = (preRlyErrStatus&0xFF); //uint8 预充继电器故障状态
|
|
|
- *(SendBuffer+0x44) = (mainNegRlyErrStatus&0xFF); //uint8 总负继电器故障状态
|
|
|
- *(SendBuffer+0x45) = (thrRlyErrStatus&0xFF); //uint8 三合一继电器故障状态
|
|
|
- *(SendBuffer+0x46) = (ptc1RlyErrStatus&0xFF); //uint8 PTC1电器故障状态
|
|
|
- *(SendBuffer+0x47) = (airCondRlyErrStatus&0xFF); //uint8 空调电器故障状态
|
|
|
- *(SendBuffer+0x48) = (dcChrg1PosRlyErrStatus&0xFF); //uint8 快充1正电器故障状态
|
|
|
- *(SendBuffer+0x49) = (dcChrg1NegRlyErrStatus&0xFF); //uint8 快充1负电器故障状态
|
|
|
- *(SendBuffer+0x4A) = (dcChrg2PosRlyErrStatus&0xFF); //uint8 快充2正电器故障状态
|
|
|
- *(SendBuffer+0x4B) = (dcChrg2NegRlyErrStatus&0xFF); //uint8 快充2负电器故障状态
|
|
|
- *(SendBuffer+0x4C) = (heatPosRlyErrStatus&0xFF); //uint8 加热正电器故障状态
|
|
|
- *(SendBuffer+0x4D) = (heatNegRlyErrStatus&0xFF); //uint8 加热负电器故障状态
|
|
|
- *(SendBuffer+0x4E) = (coolRlyErrStatus&0xFF); //uint8 水冷电器故障状态
|
|
|
- *(SendBuffer+0x4F) = (ptc2RlyErrStatus&0xFF); //uint8 PTC2电器故障状态
|
|
|
- *(SendBuffer+0x50) = ((CELL_NUM>>8)&0xFF); //uint16 单体电池总数
|
|
|
+ *(SendBuffer+0x34) = (mainPosRlyStatus&0xFF); //uint8 锟斤拷锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x35) = (preRlyStatus&0xFF); //uint8 预锟斤拷痰锟斤拷锟斤拷锟斤拷锟阶刺�
|
|
|
+ *(SendBuffer+0x36) = (mainNegRlyStatus&0xFF); //uint8 锟杰革拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x37) = (thrRlyStatus&0xFF); //uint8 锟斤拷锟斤拷一锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x38) = (ptc1RlyStatus&0xFF); //uint8 PTC1锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x39) = (airCondRlyStatus&0xFF); //uint8 锟秸碉拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x3A) = (dcChrg1PosRlyStatus&0xFF); //uint8 锟斤拷锟�1锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x3B) = (dcChrg1NegRlyStatus&0xFF); //uint8 锟斤拷锟�1锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x3C) = (dcChrg2PosRlyStatus&0xFF); //uint8 锟斤拷锟�2锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x3D) = (dcChrg2NegRlyStatus&0xFF); //uint8 锟斤拷锟�2锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x3E) = (heatPosRlyStatus&0xFF); //uint8 锟斤拷锟斤拷锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x3F) = (heatNegRlyStatus&0xFF); //uint8 锟斤拷锟饺革拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x40) = (coolRlyStatus&0xFF); //uint8 水锟斤拷痰锟斤拷锟斤拷锟斤拷锟阶刺�
|
|
|
+ *(SendBuffer+0x41) = (ptc2RlyStatus&0xFF); //uint8 PTC2锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x42) = (mainPosRlyErrStatus&0xFF); //uint8 锟斤拷锟斤拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x43) = (preRlyErrStatus&0xFF); //uint8 预锟斤拷痰锟斤拷锟斤拷锟斤拷锟阶刺�
|
|
|
+ *(SendBuffer+0x44) = (mainNegRlyErrStatus&0xFF); //uint8 锟杰革拷锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x45) = (thrRlyErrStatus&0xFF); //uint8 锟斤拷锟斤拷一锟教碉拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x46) = (ptc1RlyErrStatus&0xFF); //uint8 PTC1锟斤拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x47) = (airCondRlyErrStatus&0xFF); //uint8 锟秸碉拷锟斤拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x48) = (dcChrg1PosRlyErrStatus&0xFF); //uint8 锟斤拷锟�1锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x49) = (dcChrg1NegRlyErrStatus&0xFF); //uint8 锟斤拷锟�1锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x4A) = (dcChrg2PosRlyErrStatus&0xFF); //uint8 锟斤拷锟�2锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x4B) = (dcChrg2NegRlyErrStatus&0xFF); //uint8 锟斤拷锟�2锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x4C) = (heatPosRlyErrStatus&0xFF); //uint8 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x4D) = (heatNegRlyErrStatus&0xFF); //uint8 锟斤拷锟饺革拷锟斤拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x4E) = (coolRlyErrStatus&0xFF); //uint8 水锟斤拷锟斤拷锟斤拷锟斤拷锟阶刺�
|
|
|
+ *(SendBuffer+0x4F) = (ptc2RlyErrStatus&0xFF); //uint8 PTC2锟斤拷锟斤拷锟斤拷锟斤拷状态
|
|
|
+ *(SendBuffer+0x50) = ((CELL_NUM>>8)&0xFF); //uint16 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷
|
|
|
*(SendBuffer+0x51) = (CELL_NUM&0xFF);
|
|
|
for(UINT16 index = 0; index < CELL_NUM;index++)
|
|
|
{
|
|
|
*(SendBuffer+0x52+ index*2) = ((battCellU[index]>>8)&0xFF);
|
|
|
*(SendBuffer+0x52+ index*2 +1) = ((battCellU[index])&0xFF);
|
|
|
}
|
|
|
- *(SendBuffer+0x352) = (CELL_TEMP_NUM&0xFF); //uint8 可充电储能温度探针个数
|
|
|
+ *(SendBuffer+0x352) = (CELL_TEMP_NUM&0xFF); //uint8 锟缴筹拷绱�拷锟斤拷露锟教斤拷锟斤拷锟斤拷
|
|
|
memcpy(SendBuffer+0x353,battCellTemp,CELL_TEMP_NUM);
|
|
|
*(SendBuffer+0x393) = bcc_chk(SendBuffer,0x393);
|
|
|
break;
|
|
@@ -3761,43 +3785,43 @@ void TcpDataAssemble(UINT8 Tcptype,UINT8 *SendBuffer,UTC8TimeType UTC8TimeTcp)
|
|
|
*(SendBuffer+0x22) = (UTC8TimeTcp.hour&0xFF); //uint8 hour
|
|
|
*(SendBuffer+0x23) = (UTC8TimeTcp.minute&0xFF); //uint8 minute
|
|
|
*(SendBuffer+0x24) = (UTC8TimeTcp.second&0xFF); //uint8 second
|
|
|
- *(SendBuffer+0x25) = ((accChrgAh>>24)&0xFF); //uint32 累计充入Ah数
|
|
|
+ *(SendBuffer+0x25) = ((accChrgAh>>24)&0xFF); //uint32 锟桔计筹拷锟斤拷Ah锟斤拷
|
|
|
*(SendBuffer+0x26) = ((accChrgAh>>16)&0xFF);
|
|
|
*(SendBuffer+0x27) = ((accChrgAh>>8)&0xFF);
|
|
|
*(SendBuffer+0x28) = (accChrgAh&0xFF);
|
|
|
- *(SendBuffer+0x29) = ((accDischrgAh>>24)&0xFF); //uint32 累计放出Ah数
|
|
|
+ *(SendBuffer+0x29) = ((accDischrgAh>>24)&0xFF); //uint32 锟桔计放筹拷Ah锟斤拷
|
|
|
*(SendBuffer+0x2A) = ((accDischrgAh>>16)&0xFF);
|
|
|
*(SendBuffer+0x2B) = ((accDischrgAh>>8)&0xFF);
|
|
|
*(SendBuffer+0x2C) = (accDischrgAh&0xFF);
|
|
|
- *(SendBuffer+0x2D) = ((accChrgkWh>>24)&0xFF); //uint32 累计充入kWh数
|
|
|
+ *(SendBuffer+0x2D) = ((accChrgkWh>>24)&0xFF); //uint32 锟桔计筹拷锟斤拷kWh锟斤拷
|
|
|
*(SendBuffer+0x2E) = ((accChrgkWh>>16)&0xFF);
|
|
|
*(SendBuffer+0x2F) = ((accChrgkWh>>8)&0xFF);
|
|
|
*(SendBuffer+0x30) = (accChrgkWh&0xFF);
|
|
|
- *(SendBuffer+0x31) = ((accDischrgkWh>>24)&0xFF); //uint32 累计放出kWh数
|
|
|
+ *(SendBuffer+0x31) = ((accDischrgkWh>>24)&0xFF); //uint32 锟桔计放筹拷kWh锟斤拷
|
|
|
*(SendBuffer+0x32) = ((accDischrgkWh>>16)&0xFF);
|
|
|
*(SendBuffer+0x33) = ((accDischrgkWh>>8)&0xFF);
|
|
|
*(SendBuffer+0x34) = (accDischrgkWh&0xFF);
|
|
|
- *(SendBuffer+0x35) = ((accRecvryChrgAh>>24)&0xFF); //uint32 累计动能回馈充入Ah数
|
|
|
+ *(SendBuffer+0x35) = ((accRecvryChrgAh>>24)&0xFF); //uint32 锟桔计讹拷锟杰伙拷锟斤拷锟斤拷锟斤拷Ah锟斤拷
|
|
|
*(SendBuffer+0x36) = ((accRecvryChrgAh>>16)&0xFF);
|
|
|
*(SendBuffer+0x37) = ((accRecvryChrgAh>>8)&0xFF);
|
|
|
*(SendBuffer+0x38) = (accRecvryChrgAh&0xFF);
|
|
|
- *(SendBuffer+0x39) = ((accRecvryChrgkWh>>24)&0xFF); //uint32 累计动能回馈充入kWh数
|
|
|
+ *(SendBuffer+0x39) = ((accRecvryChrgkWh>>24)&0xFF); //uint32 锟桔计讹拷锟杰伙拷锟斤拷锟斤拷锟斤拷kWh锟斤拷
|
|
|
*(SendBuffer+0x3A) = ((accRecvryChrgkWh>>16)&0xFF);
|
|
|
*(SendBuffer+0x3B) = ((accRecvryChrgkWh>>8)&0xFF);
|
|
|
*(SendBuffer+0x3C) = (accRecvryChrgkWh&0xFF);
|
|
|
- *(SendBuffer+0x3D) = ((accStationChrgAh>>24)&0xFF); //uint32 累计换电站充入Ah数
|
|
|
+ *(SendBuffer+0x3D) = ((accStationChrgAh>>24)&0xFF); //uint32 锟桔计伙拷锟斤拷站锟斤拷锟斤拷Ah锟斤拷
|
|
|
*(SendBuffer+0x3E) = ((accStationChrgAh>>16)&0xFF);
|
|
|
*(SendBuffer+0x3F) = ((accStationChrgAh>>8)&0xFF);
|
|
|
*(SendBuffer+0x40) = (accStationChrgAh&0xFF);
|
|
|
- *(SendBuffer+0x41) = ((accStationChrgkWh>>24)&0xFF); //uint32 累计换电站充入kWh数
|
|
|
+ *(SendBuffer+0x41) = ((accStationChrgkWh>>24)&0xFF); //uint32 锟桔计伙拷锟斤拷站锟斤拷锟斤拷kWh锟斤拷
|
|
|
*(SendBuffer+0x42) = ((accStationChrgkWh>>16)&0xFF);
|
|
|
*(SendBuffer+0x43) = ((accStationChrgkWh>>8)&0xFF);
|
|
|
*(SendBuffer+0x44) = (accStationChrgkWh&0xFF);
|
|
|
- *(SendBuffer+0x45) = ((accGunChrgAh>>24)&0xFF); //uint32 累计插枪充电充入Ah数
|
|
|
+ *(SendBuffer+0x45) = ((accGunChrgAh>>24)&0xFF); //uint32 锟桔计诧拷枪锟斤拷锟斤拷锟斤拷Ah锟斤拷
|
|
|
*(SendBuffer+0x46) = ((accGunChrgAh>>16)&0xFF);
|
|
|
*(SendBuffer+0x47) = ((accGunChrgAh>>8)&0xFF);
|
|
|
*(SendBuffer+0x48) = (accGunChrgAh&0xFF);
|
|
|
- *(SendBuffer+0x49) = ((accGunChrgkWh>>24)&0xFF); //uint32 累计插枪充电充入kWh数
|
|
|
+ *(SendBuffer+0x49) = ((accGunChrgkWh>>24)&0xFF); //uint32 锟桔计诧拷枪锟斤拷锟斤拷锟斤拷kWh锟斤拷
|
|
|
*(SendBuffer+0x4A) = ((accGunChrgkWh>>16)&0xFF);
|
|
|
*(SendBuffer+0x4B) = ((accGunChrgkWh>>8)&0xFF);
|
|
|
*(SendBuffer+0x4C) = (accGunChrgkWh&0xFF);
|