Parcourir la source

1.2.1.19版本测试完成 ,增加累计数据存储功能,更改结构体不会改动起始数据

CHENJIE-PC\QiXiang_CHENJIE il y a 3 ans
Parent
commit
48db82f4ec
3 fichiers modifiés avec 25 ajouts et 19 suppressions
  1. 4 4
      inc/TcpTask.h
  2. 3 2
      inc/app.h
  3. 18 13
      src/MainTask.c

+ 4 - 4
inc/TcpTask.h

@@ -19,11 +19,11 @@ extern UINT32 TcpService;
 #define APP_EVENT_QUEUE_SIZE    (10)
 
 
-#define QX_TCP_IPADRRES				"47.97.127.222"
-#define QX_TCP_PORT					8712
-/*---------------测试IP地址-----------------------------------*/
-// #define QX_TCP_IPADRRES				"39.103.177.126"
+// #define QX_TCP_IPADRRES				"47.97.127.222"
 // #define QX_TCP_PORT					8712
+/*---------------测试IP地址-----------------------------------*/
+#define QX_TCP_IPADRRES				"39.103.177.126"
+#define QX_TCP_PORT					8712
 // #define QX_TCP_IPADRRES				"120.26.68.165"
 // #define QX_TCP_PORT					14319
 /*---------------测试IP地址END-----------------------------------*/

+ 3 - 2
inc/app.h

@@ -15,8 +15,8 @@ extern "C" {
 //全局定义声明区
 #define BMS_MANUFACTURE (1) //BMS制造商表示1-超力源,2-美顺
 #define DATA_MODULE_TYPE (1) //1表示NB模块,2表示4G cat1
-//#define BAT4830
-#define BAT6060  电池型号变化需要更改
+#define BAT4830
+//#define BAT6060  电池型号变化需要更改
 #ifdef  BAT4830
     #define BATT_CELL_VOL_NUM  (14)
     #define BATT_TEMP_NUM  (3)
@@ -87,6 +87,7 @@ typedef struct AppDataType
     UINT8  BmsDisChrgInfoSendFreq;
     UINT8  GpsChrgInfoSendFreq;
     UINT8  GpsDisChrgInfoSendFreq;
+    UINT32 CumulativeCapacity;
 }AppDataBody;
 typedef struct _AppDataHeader
 {

+ 18 - 13
src/MainTask.c

@@ -118,12 +118,12 @@ static void MainTask(void* arg)
     file = OsaFopen(APP_DATAINFO_FILE_NAME,"rb");
     OsaFseek(file, 0, SEEK_SET);
     pReadAppData  = OsaAllocZeroMemory(AppDataHr.fileBodySize+3);    
-    readCount = OsaFread(pReadAppData, AppConfigHr.fileBodySize+3, 1, file);
-    printf("AppConfigHr.fileBodySize+4 = %d\n",AppConfigHr.fileBodySize+3);
+    readCount = OsaFread(pReadAppData, AppDataHr.fileBodySize+3, 1, file);
+    printf("AppDataHr.fileBodySize+3 = %d\n",AppDataHr.fileBodySize+3);
     printf("readCount = %d\n",readCount);
-    printf("the config data = \n");
-    for (int i ;i<AppConfigHr.fileBodySize+3;i++)
-        printf("%d ",*(pReadAppData+i));
+    printf("the data = ");
+    for (int i=0 ;i<AppDataHr.fileBodySize+3;i++)
+        printf("%x(%d) ",*(pReadAppData+i),i);
     printf("\n");
     #endif
     if(AppNVMData.AppSwVersion!=APPSWVERSION)
@@ -607,7 +607,6 @@ static void appSaveDataInfo(void)
 {
     OSAFILE fp = PNULL;
     UINT32  writeCount = 0;
-    AppDataHeader    AppDataHr;   //4 bytes
     fp = OsaFopen(APP_DATAINFO_FILE_NAME, "wb");   //read & write
     if(OsaFseek(fp, 0, SEEK_SET) != 0)
 	{
@@ -624,10 +623,12 @@ static void appSaveDataInfo(void)
 		#endif
         return;
     }
-    AppDataHr.fileBodySize   = sizeof(AppDataBody); 
+    AppDataHr.fileBodySize   = sizeof(AppDataInfo); 
     AppDataHr.checkSum       = OsaCalcCrcValue((UINT8 *)&AppDataInfo, sizeof(AppDataInfo));
-
-    writeCount = OsaFwrite(&AppDataHr, sizeof(AppDataHeader), 1, fp);
+    #ifdef USING_PRINTF
+		printf(" AppDataHr.fileBodySize:%x\n",AppDataHr.fileBodySize);
+	#endif
+    writeCount = OsaFwrite(&AppDataHr, sizeof(AppDataHr), 1, fp);
     if (writeCount != 1)
     {
         #ifdef USING_PRINTF
@@ -665,12 +666,12 @@ static void LoadAppDataInfo(void)
         return;
     }
 
-    readCount = OsaFread(&AppDataHr, sizeof(AppDataHeader), 1, fp);
+    readCount = OsaFread(&AppDataHr, sizeof(AppDataHr), 1, fp);
     UINT8 readtimes=0;
     while (readCount != 1 && readtimes<=5 )
     {
         readtimes++;
-        readCount = OsaFread(&AppDataHr, sizeof(AppDataHeader), 1, fp);
+        readCount = OsaFread(&AppDataHr, sizeof(AppDataHr), 1, fp);
         osDelay(10);
     }
     if(readtimes>5)
@@ -680,7 +681,7 @@ static void LoadAppDataInfo(void)
         appSaveDataInfo();
         return;
     }
-    if(AppDataHr.fileBodySize==sizeof(AppDataBody))//结构体数据没变动,可直接读出
+    if(AppDataHr.fileBodySize==sizeof(AppDataInfo))//结构体数据没变动,可直接读出
     {
         readCount = OsaFread(pReadAppConfig, AppDataHr.fileBodySize, 1, fp);
         //crcCheck = OsaCalcCrcValue((UINT8 *)pReadAppConfig, sizeof(AppNVMData));
@@ -705,6 +706,9 @@ static void LoadAppDataInfo(void)
             //crcCheck = OsaCalcCrcValue((UINT8 *)pReadAppConfig, sizeof(AppNVMData));
         }
         appSaveDataInfo();
+        #ifdef USING_PRINTF
+            printf(" Struct update\n");
+        #endif
     }
     OsaFclose(fp);
     return;
@@ -713,12 +717,13 @@ static void LoadAppDataInfo(void)
 //无法找到文件时的第一次启动,后续不会启动此函数
 static void setDefaultAppDataInfo(void)
 {
-    memset(&AppDataInfo, 0x00, sizeof(AppDataBody));
+    memset(&AppDataInfo, 0x00, sizeof(AppDataInfo));
     AppDataInfo.appDataModify = false;
     AppDataInfo.BmsChrgInfoSendFreq = 5;
     AppDataInfo.BmsDisChrgInfoSendFreq = 30;
     AppDataInfo.GpsChrgInfoSendFreq = 30;
     AppDataInfo.GpsDisChrgInfoSendFreq = 5;
+    AppDataInfo.CumulativeCapacity = 0;
     return;
 }