Przeglądaj źródła

版本号:2.1.0.15,新增基站信息上传,修改版本信息发送错误的bug,修改均衡位置不对bug

CHENJIE-PC\QiXiang_CHENJIE 3 lat temu
rodzic
commit
dea84361fc
4 zmienionych plików z 19 dodań i 9 usunięć
  1. 2 0
      inc/TcpTask.h
  2. 1 1
      inc/app.h
  3. 1 1
      src/GpsTask.c
  4. 15 7
      src/TcpTask.c

+ 2 - 0
inc/TcpTask.h

@@ -104,6 +104,8 @@ typedef struct _GPSInfoType
 	UINT8	latitude[4];
 	UINT8	longitude[4];
 	UINT8   AccMileage[4];
+	UINT8   Tac[2];
+	UINT8 	CellId[4];
 	
 }GPSInfoType;
 typedef struct GPSMsgtoTcpType

+ 1 - 1
inc/app.h

@@ -52,7 +52,7 @@ extern "C" {
 #define	DRVSWVERSION		0x01050000     //驱动层版本号V1.4.0.0  驱动层1.5.0.0,增加了三轴
 //#define	APPSWVERSION		0x01020209     
 //#define	APPSWVERSION		0x02000103
-#define	APPSWVERSION		0x0201000E
+#define	APPSWVERSION		0x0201000F
 //--------------------------------------------------------------------------------
 
 #define APP_CONFIG_FILE_LATEST_VERSION 0

+ 1 - 1
src/GpsTask.c

@@ -66,7 +66,7 @@ static void GpsTask(void* arg)
     while(1)
     {
         //char temp[] = "$GNRMC,082626.000,A,2939.91801,N,10637.09500,E,0.543,30.254,261120,,,A,V*17";
-        osStatus_t ret = osMessageQueueGet(norGpsHandle, &msg, 0, osWaitForever);
+        osStatus_t ret = osMessageQueueGet(norGpsHandle, &msg, 0, 1000);
         if(ret==0)
         {
             if (msg.dataPtr)

+ 15 - 7
src/TcpTask.c

@@ -387,7 +387,10 @@ static void TcpDataInfoAssembleSend()
 		
 		BattToTcpInfo.battInfo.battSOC = battSOC;
 		BattToTcpInfo.battInfo.battSOH = battSOH;
-		memcpy(BattToTcpInfo.battInfo.batCellBalenceState,&battBalanceoInfo,4);
+        BattToTcpInfo.battInfo.batCellBalenceState[0] = (battBalanceoInfo>>24)&0xFF;
+        BattToTcpInfo.battInfo.batCellBalenceState[1] = (battBalanceoInfo>>16)&0xFF;
+        BattToTcpInfo.battInfo.batCellBalenceState[2] = (battBalanceoInfo>>8)&0xFF;
+        BattToTcpInfo.battInfo.batCellBalenceState[3] = battBalanceoInfo&0xFF;
 		BattToTcpInfo.battInfo.battCellNum= BATT_CELL_VOL_NUM ;
 
 		for(i=0;i<BATT_CELL_VOL_NUM;i++)
@@ -429,6 +432,9 @@ static void TcpDataInfoAssembleSend()
     if(send_counter%GpsSendFreq==0)
     {
         GPSMsgtoTcpType GpsToTcpInfo;
+        UINT16 Tac = 0;
+        UINT32 CellId = 0;
+        appGetLocationInfoSync(&Tac,&CellId);
         osStatus_t result = osMutexAcquire(GpsMutex, osWaitForever);
         appGetSystemTimeUtcSync(&TimeStracture);
         year=(TimeStracture.UTCtimer1&0xffff0000)>>16;
@@ -461,6 +467,12 @@ static void TcpDataInfoAssembleSend()
         GpsToTcpInfo.gpsInfo.msgCollectionTimeUTC[4] = UTC8TimeTcp.minute & 0xFF;						    //mins
         GpsToTcpInfo.gpsInfo.msgCollectionTimeUTC[5] = UTC8TimeTcp.second & 0xFF;
         memcpy((UINT8 *)&GpsToTcpInfo.gpsInfo.locateMark, GpsData,sizeof(GpsData));
+        GpsToTcpInfo.gpsInfo.Tac[0] = Tac>>8;
+        GpsToTcpInfo.gpsInfo.Tac[1] = Tac;
+        GpsToTcpInfo.gpsInfo.CellId[0] = CellId>>24;
+        GpsToTcpInfo.gpsInfo.CellId[1] = CellId>>16;
+        GpsToTcpInfo.gpsInfo.CellId[2] = CellId>>8;
+        GpsToTcpInfo.gpsInfo.CellId[3] = CellId;
         GpsToTcpInfo.CRC = bcc_chk((UINT8 *)&GpsToTcpInfo, sizeof(GPSMsgtoTcpType)-1 );
         osMutexRelease(GpsMutex);
         //if(GpsToTcpInfo.gpsInfo.locateMark==0x01)
@@ -550,7 +562,7 @@ static void TcpDataInfoAssembleSend()
         VerMsgToTcpInfo.VerInfo.BmsInfo = BMS_INFO;
         VerMsgToTcpInfo.VerInfo.DataModuleType = DATA_MODULE_TYPE;
         VerMsgToTcpInfo.CRC = bcc_chk((UINT8 *)&VerMsgToTcpInfo, sizeof(VerMsgToTcpInfo)-1 );
-        if(UartBattInfoRecvFlag==TRUE&&NB_Fota_update_flag==FALSE)
+        if(NB_Fota_update_flag==FALSE)
         {
             len = tcpipConnectionSend(socContext.id, (UINT8 *)&VerMsgToTcpInfo, sizeof(VerMsgToTcpInfo), 0, 0, 0);
             if(len>0)
@@ -559,15 +571,11 @@ static void TcpDataInfoAssembleSend()
             }
             else
             {
+                send_counter = 0;
                 TcpSendLen = 0xFE & TcpSendLen;
                 sendQueueMsg(QMSG_ID_NW_IP_SUSPEND, 0);
             }
         }
-        else
-        {
-            send_counter = 1;
-            return;
-        }
     }
     if(send_counter==0)//发送本次文件中的调试信息
     {