Quellcode durchsuchen

美顺GPS测试,只开启GPS功能,版本号1.0.0.5

CHENJIE-PC\QiXiang_CHENJIE vor 3 Jahren
Ursprung
Commit
880ce2b59a
8 geänderte Dateien mit 90 neuen und 70 gelöschten Zeilen
  1. 1 0
      inc/Signal.h
  2. 2 2
      inc/app.h
  3. 10 0
      src/GpsTask.c
  4. 40 43
      src/MainTask.c
  5. 1 0
      src/Signal.c
  6. 12 2
      src/TcpTask.c
  7. 3 3
      src/app.c
  8. 21 20
      src/bsp_custom.c

+ 1 - 0
inc/Signal.h

@@ -54,3 +54,4 @@ extern UINT8 	TcpSendLen;
 
 extern osMutexId_t Error_Mutex;
 
+extern UINT8 GsensorEnable;

+ 2 - 2
inc/app.h

@@ -16,7 +16,7 @@ extern "C" {
 #define BMS_MANUFACTURE (2) //BMS制造商表示1-超力源,2-美顺
 #define DATA_MODULE_TYPE (1) //1表示NB模块,2表示4G cat1
 #define BMS_INFO  (1)       //1-1表示超力源4830,1-2表示超力源6060,2-1表示美顺6455
-#define EOLSTATE (0) //1标识下线检测跳过,使用默认值
+#define EOLSTATE (1) //1标识下线检测跳过,使用默认值
 
 #if  BMS_MANUFACTURE==1
     #if BMS_INFO==1
@@ -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		0x0201000B
+#define	APPSWVERSION		0x01010000
 //--------------------------------------------------------------------------------
 
 #define APP_CONFIG_FILE_LATEST_VERSION 0

+ 10 - 0
src/GpsTask.c

@@ -90,9 +90,19 @@ static void GpsTask(void* arg)
                     if (strcmp(databuffer[1],"V")==0|strcmp(databuffer[2],"V")==0)
                     {
                         memset(GpsData,0x00,sizeof(GpsData));
+                        NetSocDisplay(LED_SOC_0,LED_TURN_OFF);
+                        NetSocDisplay(LED_SOC_1,LED_TURN_OFF);
+                        NetSocDisplay(LED_SOC_2,LED_TURN_OFF);
+                        NetSocDisplay(LED_SOC_3,LED_TURN_OFF);
+                        FaultDisplay(LED_TURN_ON);
                     }
                     else if (strcmp(databuffer[2],"A")==0)
                     {
+                        NetSocDisplay(LED_SOC_0,LED_TURN_ON);
+                        NetSocDisplay(LED_SOC_1,LED_TURN_ON);
+                        NetSocDisplay(LED_SOC_2,LED_TURN_ON);
+                        NetSocDisplay(LED_SOC_3,LED_TURN_ON);
+                        FaultDisplay(LED_TURN_OFF);
                         GpsData[0] = 0x01;//有效,东经,北纬写定
                         GpsData[1] = 03;//卫星数目写入1
                         strdel(databuffer[3],'.');

+ 40 - 43
src/MainTask.c

@@ -36,7 +36,7 @@
 extern UINT8 	UDSSwitch;
 extern volatile bool NB_Fota_update_flag;
 extern volatile bool BMS_Fota_update_flag;
-CHAR defaultBattSN[BATT_SN_LEN] = "RLTEST00000000001";//未进行下线检测的默认SN
+CHAR defaultBattSN[BATT_SN_LEN] = "MSTEST00000000001";//未进行下线检测的默认SN
 //全局变量
 UINT32 Timer_count;//每100ms加1
 volatile BOOL Sleep_flag = false;//睡眠标志位
@@ -163,11 +163,6 @@ static void MainTask(void* arg)
 	AdcSendReq(ADC_REQ_BITMAP_VBAT_CALI,&param,1,ADC_GET_RESULT_TIMOUT);						
 	AdcSendReq(ADC_REQ_BITMAP_INRES_CALI,&param,1,ADC_GET_RESULT_TIMOUT);
 	
-	NetSocDisplay(LED_SOC_0,LED_TURN_OFF);
-	NetSocDisplay(LED_SOC_1,LED_TURN_OFF);
-	NetSocDisplay(LED_SOC_2,LED_TURN_OFF);
-	NetSocDisplay(LED_SOC_3,LED_TURN_OFF);
-	FaultDisplay(LED_TURN_OFF);
     PROC_MAIN_STATE_SWITCH(PROCESS_STATE_IDLE);
     while(true)
     {
@@ -212,48 +207,50 @@ static void MainTask(void* arg)
                     PROC_MAIN_STATE_SWITCH(PROCESS_STATE_SLEEP);
                     break;
                 }
-                else
-                {   
-                    switch (i)
-                    {
-                        case FAST_CHARGE_TEMP:
-                         NB_ADC_Get(&adcValue,FAST_CHARGE_TEMP);
-                         fastChargeTemp = LookUpRTtable(adcValue);
-                        break;
-                        case NORMAL_CHARGE_TEMP:
-                            NB_ADC_Get(&adcValue,NORMAL_CHARGE_TEMP);
-                            normalChargeTemp = LookUpRTtable(adcValue);
-                        break;
-                        case OTHER_TEMP_1:
-                            NB_ADC_Get(&adcValue,OTHER_TEMP_1);
-                            heatTemp1 = LookUpRTtable(adcValue);                      
-                        break;
-                        case OTHER_TEMP_2:
-                            NB_ADC_Get(&adcValue,OTHER_TEMP_2);
-                            heatTemp2 = LookUpRTtable(adcValue);                       
-                        break;
-                        case  VBAT:
-                            NB_ADC_Get(&adcValue,VBAT);                        
-                            i = 0;
-                        break;
-                        default:
-                            i=0;
-                            break;
-                    }
-                    i++;   
-                }
+                // else
+                // {   
+                //     switch (i)
+                //     {
+                //         case FAST_CHARGE_TEMP:
+                //          NB_ADC_Get(&adcValue,FAST_CHARGE_TEMP);
+                //          fastChargeTemp = LookUpRTtable(adcValue);
+                //         break;
+                //         case NORMAL_CHARGE_TEMP:
+                //             NB_ADC_Get(&adcValue,NORMAL_CHARGE_TEMP);
+                //             normalChargeTemp = LookUpRTtable(adcValue);
+                //         break;
+                //         case OTHER_TEMP_1:
+                //             NB_ADC_Get(&adcValue,OTHER_TEMP_1);
+                //             heatTemp1 = LookUpRTtable(adcValue);                      
+                //         break;
+                //         case OTHER_TEMP_2:
+                //             NB_ADC_Get(&adcValue,OTHER_TEMP_2);
+                //             heatTemp2 = LookUpRTtable(adcValue);                       
+                //         break;
+                //         case  VBAT:
+                //             NB_ADC_Get(&adcValue,VBAT);                        
+                //             i = 0;
+                //         break;
+                //         default:
+                //             i=0;
+                //             break;
+                //     }
+                //     i++;   
+                // }
                 #ifdef USING_PRINTF1
                     printf("TcpService:%d,UDSSwitch:%d,BMS_Fota_update_flag:%d,battWorkState:%d,Can_Msg_Enble:%d\r\n",TcpService,UDSSwitch,BMS_Fota_update_flag,battWorkState,Can_Msg_Enble);
                 #endif	
-                if(TcpService!=0x00||UDSSwitch==1||BMS_Fota_update_flag||battWorkState!=0||Can_Msg_Enble==true)
-                {
-                    xTimerReset(work_timer,0);
-                    Can_Msg_Enble = false;
-                }
-                if(BattChrgEndFlag)
+                // if(TcpService!=0x00||UDSSwitch==1||BMS_Fota_update_flag||battWorkState!=0||Can_Msg_Enble==true)
+                // {
+                //     xTimerReset(work_timer,0);
+                //     Can_Msg_Enble = false;
+                // }
+                // if(BattChrgEndFlag)
+                if(GsensorEnable)
                 {
-                    xTimerChangePeriod(work_timer,AppNVMData.chargEndWorkTime*60*1000 / portTICK_RATE_MS,0);
+                    //xTimerChangePeriod(work_timer,AppNVMData.chargEndWorkTime*60*1000 / portTICK_RATE_MS,0);
                     xTimerReset(work_timer,0);
+                    GsensorEnable = FALSE;
                 }
                 break;
             }

+ 1 - 0
src/Signal.c

@@ -78,6 +78,7 @@ UINT32	battWarningState = 0xFFFFFFFF;
 UINT32	nbSwVersion = 0xFFFFFFFF;
 UINT32	battBalanceoInfo = 0xFFFFFFFF;
 
+UINT8 GsensorEnable = 0x00;
 //Tcp
 UINT8 	TcpSendLen = 0;
 

+ 12 - 2
src/TcpTask.c

@@ -273,7 +273,8 @@ static void TcpDataInfoAssembleSend()
     UTC8TimeType UTC8TimeTcp;
 	int i = 0;
 	INT8 len = -1;
-    WorkState = battWorkState;
+    // WorkState = battWorkState;
+    WorkState = 0x01;
     if(WorkState==0x00 && WorkFlag==0x01)
     {
         if(send_counter%(RUN_END_DELAY/5)==0)
@@ -311,6 +312,14 @@ static void TcpDataInfoAssembleSend()
             GpsSendFreq = AppDataInfo.GpsChrgInfoSendFreq/5;
             break;
     }    
+    if(GsensorEnable)
+    {
+        GpsSendFreq = AppDataInfo.GpsDisChrgInfoSendFreq*2/5;
+    }
+    else
+    {
+        GpsSendFreq = AppDataInfo.GpsChrgInfoSendFreq/5;
+    }
     if(send_counter%BattSendFreq==0)
     {
         BattMsgtoTcpType BattToTcpInfo;
@@ -550,7 +559,8 @@ 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(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)

+ 3 - 3
src/app.c

@@ -34,10 +34,10 @@ void appInit(void *arg)
     	printf("%s[%d]\r\n",__FUNCTION__, __LINE__);
     #endif
     MainTaskInit(arg);
-    AdcTaskInit();
-    UartTaskInit(arg);
+    //AdcTaskInit();
+    //UartTaskInit(arg);
     GpsTaskInit();
-	CANTaskInit(arg);
+	//CANTaskInit(arg);
     TcpTaskInit(arg);
 }
 //主函数入口

+ 21 - 20
src/bsp_custom.c

@@ -19,6 +19,7 @@ extern uint8_t lockoutState;
 #endif
 extern UINT8 Lockstatus;
 extern BOOL Can_Msg_Enble;
+extern UINT8 GsensorEnable;
 void GPR_SetUartClk(void)
 {
     GPR_ClockDisable(GPR_UART0FuncClk);
@@ -235,33 +236,33 @@ void Pad2_WakeupIntHandler(void)
 void Pad3_WakeupIntHandler(void)
 {
     if(slpManExtIntPreProcess(PadWakeup3_IRQn)==false)
+    {
         return;
-
-    // add custom code below //
-#ifdef USING_PRINTF1
-	printf("[%d]PadWakeup3_IRQn\r\n",__LINE__);
-// #else	
-//     ECOMM_TRACE(UNILOG_PLA_APP, pad3_Wk, P_SIG, 0, "PadWakeup3_IRQn");
-#endif
-
- 	
-
-
-
+    }
+    else
+    {
+        #ifdef USING_PRINTF
+	        printf("[%d]PadWakeup3_IRQn\r\n",__LINE__);
+        #endif
+        GsensorEnable = TRUE;
+        return;
+    }
 }
 
 void Pad4_WakeupIntHandler(void)
 {
     if(slpManExtIntPreProcess(PadWakeup4_IRQn)==false)
+    {
         return;
-    // add custom code below //
-#ifdef USING_PRINTF1
-	printf("[%d]PadWakeup3_IRQn\r\n",__LINE__);
-// #else	
-
-//     ECOMM_TRACE(UNILOG_PLA_APP, pad4_Wk, P_SIG, 0, "PadWakeup4_IRQn");
-#endif
-
+    }
+    else
+    {
+        #ifdef USING_PRINTF
+	        printf("[%d]PadWakeup4_IRQn\r\n",__LINE__);
+        #endif
+        GsensorEnable = TRUE;
+        return;
+    }
 }
 
 void Pad5_WakeupIntHandler(void)