Преглед изворни кода

【V3.0.0.21】-1.Tcp的bug修改,2.新增CAN读取内存数据操作,3.新增中断观测,4.打开认证失败故障

CHENJIE-PC\QiXiang_CHENJIE пре 3 година
родитељ
комит
6be20cf8a8
6 измењених фајлова са 26 додато и 20 уклоњено
  1. 2 2
      inc/AppConfig.h
  2. 8 2
      src/AppFunc.c
  3. 1 1
      src/AppSignal.c
  4. 2 2
      src/AppTaskMain.c
  5. 4 4
      src/AppTaskTcp.c
  6. 9 9
      src/AppTaskUart.c

+ 2 - 2
inc/AppConfig.h

@@ -2,7 +2,7 @@
  * @Author       : ChenJie
  * @Date         : 2021-10-14 09:27:15
  * @LastEditors  : ChenJie
- * @LastEditTime : 2021-10-20 18:05:45
+ * @LastEditTime : 2021-10-21 16:54:48
  * @Description  : App Config H file 配置文件,可以针对不同参数进行更改
  * @FilePath     : \PLAT\project\ec616_0h00\apps\qx_app\inc\AppConfig.h
  */
@@ -14,7 +14,7 @@
 #define DATA_MODULE_TYPE (1)           //1表示NB模块,2表示4G cat1
 #define EOLSTATE (0)                   //1表示下线检测跳过,使用默认值,0表示使用下线检测
 #define DEFAULT_SN "RLTEST00000000001" //默认上传的SN编码
-#define APPSWVERSION 0x03000014        //数据模块软件版本号
+#define APPSWVERSION 0x03000015        //数据模块软件版本号
 #define RELAYCONFIG 0                  //继电器配置
 #define TCP_ADD "iotp.fast-fun.cn"     //数据上传的地址
 #define TCP_PORT 8712                  //数据上传的端口

+ 8 - 2
src/AppFunc.c

@@ -3,7 +3,7 @@
  * @Date         : 2021-10-14 09:27:15
  * @Version      : V3.0
  * @LastEditors  : ChenJie
- * @LastEditTime : 2021-10-20 18:04:17
+ * @LastEditTime : 2021-10-21 19:04:28
  * @Description  : 应用层函数定义区,UTF-8
  * @FilePath     : \PLAT\project\ec616_0h00\apps\qx_app\src\AppFunc.c
  */
@@ -2140,7 +2140,6 @@ void UDS_Service(CAN_Msg_Type *CanRxMsg)
 	UINT32 flashStartAddr = 0x00;
 
 	static UINT32 updateDifferDataSliceCounter = 0;
-	//static UINT8 UDSSwitch = 0;
 	static UINT8 UDSBattSN[BATT_SN_LEN];
 
 	for (i = 0; i < 2; i++)
@@ -2268,6 +2267,13 @@ void UDS_Service(CAN_Msg_Type *CanRxMsg)
 						posCode = GpsFlag;
 						UDSPositiveAnswer(0x05, i, posCode); //gps satellite num(uint8), should be modified
 					}
+					else if (UDSSubService[i] == 0x0F) //read ram data  22 0F xx xx xx xx XX XX
+					{
+						UINT32 *addr = (UINT32 *)(CanRxMsg[i].Data[5] | (CanRxMsg[i].Data[4] << 8) | (CanRxMsg[i].Data[3] << 16) | (CanRxMsg[i].Data[2] << 24));
+						UINT16 size = CanRxMsg[i].Data[7] | (CanRxMsg[i].Data[6] << 8);
+						UINT32 retData = *(addr);
+						UDSPositiveAnswer(8, i, retData); // 08 78 22 0F xx xx xx xx
+					}
 					else
 					{
 						UDSNegtiveAnswer(0x05, i, 0xEE);

+ 1 - 1
src/AppSignal.c

@@ -3,7 +3,7 @@
  * @Date         : 2021-10-14 09:27:15
  * @Version      : V3.0
  * @LastEditors  : ChenJie
- * @LastEditTime : 2021-10-18 14:36:41
+ * @LastEditTime : 2021-10-21 18:59:43
  * @Description  : Global variable definition c file,此文件存放App使用到的全局变量
  * @FilePath     : \PLAT\project\ec616_0h00\apps\qx_app\src\AppSignal.c
  */

+ 2 - 2
src/AppTaskMain.c

@@ -3,7 +3,7 @@
  * @Date         : 2021-10-14 09:27:15
  * @Version      : V3.0
  * @LastEditors  : ChenJie
- * @LastEditTime : 2021-10-15 16:33:43
+ * @LastEditTime : 2021-10-21 16:47:53
  * @Description  : 主要负责:1.工作模式转换2.定时器定时3.定时保存运行数据4.异常状态重启
  * @FilePath     : \PLAT\project\ec616_0h00\apps\qx_app\src\AppTaskMain.c
  */
@@ -109,7 +109,7 @@ static void MainTask(void *arg)
             {
                 xTimerReset(work_timer, 0);
             }
-            if (TcpErrorcount >= 10 && PadInterrupt == 0x00)
+            if (TcpErrorcount >= 10 && getbit(PadInterrupt, 0) == 0x00)
             {
                 AppDataInfo.appDataModify = true;
                 AppDataInfo.SysReStartCount = AppDataInfo.SysReStartCount + 1;

+ 4 - 4
src/AppTaskTcp.c

@@ -278,7 +278,8 @@ static void TcpDataInfoAssembleSend()
             clrbit(PadInterrupt, 4);
         }
     }
-    BattSendFreq = 1;
+    BattSendFreq = 10;
+    UINT8 DebugFeq = 10;
     if (send_counter % BattSendFreq == 0 && send_counter != 0)
     {
         UINT16 ErrorTemp = 0x00;
@@ -540,7 +541,6 @@ static void TcpDataInfoAssembleSend()
             }
         }
     }
-    UINT8 DebugFeq = 1;
     if (send_counter % DebugFeq == 0)
     {
         DebugMsgtoTcpType DebugMsgInfo;
@@ -548,8 +548,8 @@ static void TcpDataInfoAssembleSend()
         UINT8 rbuf[1000];
         if (send_counter % (60 / DebugFeq) == 0)
         {
-            sprintf((char *)rbuf, "A-%x,%d,%d,%x,%x,%d,%d",
-                    battProtectState, AppDataInfo.RelayControl, chargerConnectState, PowerVoltage, BMSupdatestatus,
+            sprintf((char *)rbuf, "A-%x,%d,%d,%x,%x,%x,,%d,%d",
+                    battProtectState, AppDataInfo.RelayControl, chargerConnectState, PowerVoltage, BMSupdatestatus, PadInterrupt,
                     AppDataInfo.ExpiryTimeArray[1], AppDataInfo.ExpiryTimeArray[2]);
         }
         else if (send_counter % DebugFeq == 0)

+ 9 - 9
src/AppTaskUart.c

@@ -2,7 +2,7 @@
  * @Author       : ChenJie
  * @Date         : 2021-10-14 09:27:15
  * @LastEditors  : ChenJie
- * @LastEditTime : 2021-10-20 15:05:30
+ * @LastEditTime : 2021-10-21 19:08:59
  * @Description  : file content
  * @FilePath     : \PLAT\project\ec616_0h00\apps\qx_app\src\AppTaskUart.c
  */
@@ -69,14 +69,14 @@ static void UartTask(void *arg)
 #ifdef USING_PRINTF
 			printf("EncryptFlag:%d\n", EncryptFlag);
 #endif
-			// if(EncryptFlag==0x01)
-			// {
-			// 	ihd_st_authFaild = 0;
-			// }
-			// else
-			// {
-			// 	ihd_st_authFaild = 1;
-			// }
+			if (EncryptFlag == 0x01)
+			{
+				ihd_st_authFaild = 0;
+			}
+			else
+			{
+				ihd_st_authFaild = 1;
+			}
 			PROC_UART_STATE_SWITCH(PROCESS_UART_STATE_IDLE);
 			break;
 		}