소스 검색

[V0.0.1.4] 修改4G上传的电压电流长度变为自适应

LAPTOP-KB7QFH2U\ChenJie-PC 2 년 전
부모
커밋
76020bf98f
2개의 변경된 파일9개의 추가작업 그리고 9개의 파일을 삭제
  1. 4 4
      .settings/language.settings.xml
  2. 5 5
      src/AppTaskUart1.c

+ 4 - 4
.settings/language.settings.xml

@@ -5,7 +5,7 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="78452478683048187" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="322312694927359922" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>
@@ -16,7 +16,7 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="78452478683048187" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="322312694927359922" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>
@@ -27,7 +27,7 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="78452478683048187" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="322312694927359922" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>
@@ -38,7 +38,7 @@
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
 			<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="78452478683048187" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+			<provider class="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" console="false" env-hash="322312694927359922" id="com.freescale.s32ds.cross.gnu.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT S32DS Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
 				<language-scope id="org.eclipse.cdt.core.g++"/>
 			</provider>

+ 5 - 5
src/AppTaskUart1.c

@@ -871,7 +871,7 @@ void TcpDataEncode(uint32 *PtrSendAddr, uint16 *SendLen)
 		{
 			BMS_Mode = 1;
 		}
-		*SendLen = 0x54 + BMS_CELL_MAX_NUM * 2 + BMS_TEMP_MAX_NUM;
+		*SendLen = 0x54 + min(BMS_CellTotal,BMS_CELL_MAX_NUM)*2 + min(BMS_TempTotal,BMS_TEMP_MAX_NUM);
 		SendBuffer = malloc(*SendLen);
 		*(SendBuffer + 0) = TCP_START_SYM1;
 		*(SendBuffer + 1) = TCP_START_SYM2;
@@ -879,7 +879,7 @@ void TcpDataEncode(uint32 *PtrSendAddr, uint16 *SendLen)
 		*(SendBuffer + 3) = TCP_ANS_SYM;
 		memcpy(SendBuffer + 4, TcpbattSN, BATT_SN_LEN);
 		*(SendBuffer + 0x15) = (TCP_ENCPT_DISABLE & 0xFF); // uint8	TCP_ENCPT_DISABLE
-		uint16 DataLen = 0x3B + BMS_CELL_MAX_NUM * 2 + BMS_TEMP_MAX_NUM;
+		uint16 DataLen = 0x3B + min(BMS_CellTotal,BMS_CELL_MAX_NUM)*2 + min(BMS_TempTotal,BMS_TEMP_MAX_NUM);
 		*(SendBuffer + 0x16) = ((DataLen >> 8) & 0xFF); // uint16	DataLen
 		*(SendBuffer + 0x17) = (DataLen & 0xFF);
 		*(SendBuffer + 0x18) = ((UTC8TimeTcp.year) & 0xFF);	   // uint8	year
@@ -932,9 +932,9 @@ void TcpDataEncode(uint32 *PtrSendAddr, uint16 *SendLen)
 			*(SendBuffer + 0x52 + index * 2) = ((BMS_CellVolt[index] >> 8) & 0xFF);
 			*(SendBuffer + 0x52 + index * 2 + 1) = ((BMS_CellVolt[index]) & 0xFF);
 		}
-		*(SendBuffer + 0x352) = (BMS_TempTotal & 0xFF); //  uint8	PACK中电芯温度点(探针)的总数目
-		memcpy(SendBuffer + 0x353, BMS_CellTemp, min(BMS_TempTotal,BMS_TEMP_MAX_NUM));
-		*(SendBuffer + 0x393) = bcc_chk(SendBuffer, 0x393);
+		*(SendBuffer + 0x52 + min(BMS_CellTotal,BMS_CELL_MAX_NUM)*2) = (BMS_TempTotal & 0xFF); //  uint8	PACK中电芯温度点(探针)的总数目
+		memcpy(SendBuffer + 0x53 + min(BMS_CellTotal,BMS_CELL_MAX_NUM)*2, BMS_CellTemp, min(BMS_TempTotal,BMS_TEMP_MAX_NUM));
+		*(SendBuffer + 0x53 + min(BMS_CellTotal,BMS_CELL_MAX_NUM)*2 + min(BMS_TempTotal,BMS_TEMP_MAX_NUM)) = bcc_chk(SendBuffer, 0x53 + min(BMS_CellTotal,BMS_CELL_MAX_NUM)*2 + min(BMS_TempTotal,BMS_TEMP_MAX_NUM));
 		*PtrSendAddr = (uint32)SendBuffer;
 		break;
 	}