z8359531l 1 місяць тому
батько
коміт
7bdb19e2d1
4 змінених файлів з 13 додано та 8 видалено
  1. 2 2
      Inc/soft_terrain.h
  2. 1 1
      Inc/soft_water_device.h
  3. 8 3
      Src/soft_terrain.c
  4. 2 2
      Src/soft_water_device.c

+ 2 - 2
Inc/soft_terrain.h

@@ -99,7 +99,7 @@ typedef struct
   union dm_byte byte7;
 
 
-  uint8_t buf[240];
+  uint8_t buf[150];
 }DM_RADAR;
 #pragma pack()
 
@@ -108,7 +108,7 @@ typedef struct
   uint8_t pack_num;
   uint8_t target_num;
 
-  uint8_t buf[256 * 5];
+  uint8_t buf[150 * 5];
 }DM_4DRADAR;
 extern DM_4DRADAR FMU_4D_info; 
 

+ 1 - 1
Inc/soft_water_device.h

@@ -288,7 +288,7 @@ typedef struct
     uint8_t MajorConfMSG1UPHZ;
     uint8_t MajorConfInstAngle;
 } _EscLinkDevice;
-extern _EscLinkDevice EscMsg[4+1];
+extern _EscLinkDevice EscMsg[3];
 typedef enum
 {
     SETESCID_INIT  = 0,

+ 8 - 3
Src/soft_terrain.c

@@ -98,8 +98,7 @@ void can_recv_enzhao_terrain(uint32_t CanID, uint8_t data[], uint8_t len)
 
 
 //电目雷达
-DM_RADAR DM_T_info,FMU_DM_info;
-DM_RADAR DM_F_info;
+DM_RADAR DM_T_info,FMU_DM_info; //原始数据
 uint8_t dm_i = 0;
 uint8_t DM_recv_flag = 0;
 uint8_t DM4d_recv_flag = 0;
@@ -118,6 +117,8 @@ void DM_terrain_recieved_hookfuction(uint32_t cellCanID,uint8_t data[], uint8_t
         if(DM_T_info.byte7.flag.head != 0 ) //头
         {
             memcpy(&DM_T_info.target_num,&data[0],7);
+            if( DM_T_info.target_num > 30 )
+                    DM_T_info.target_num = 30;
             dm_i = 0;
             if(DM_T_info.target_num == 0 && DM_recv_flag == 0)
             {
@@ -234,6 +235,8 @@ void DM_Fobs_recieved_hookfuction(uint32_t cellCanID,uint8_t data[], uint8_t len
         if (DM_T_info.byte7.flag.head != 0) // 头
         {
             memcpy(&DM_T_info.target_num, &data[0], 7);
+            if( DM_T_info.target_num > 30 )
+                    DM_T_info.target_num = 30;
             dm_i = 0;
             if (DM_T_info.target_num == 0 && DM_recv_flag == 0)
             {
@@ -280,13 +283,15 @@ void DM_Fobs_recieved_hookfuction(uint32_t cellCanID,uint8_t data[], uint8_t len
     if (cellCanID == 0XA01310)
     {
         DM_4dstatus.connect_status = COMP_NORMAL;
-        DM_status.recv_time = HAL_GetTick();
+        DM_4dstatus.recv_time = HAL_GetTick();
         Dev.Part_radarF.facid = FAC_DM_RF_4D;
 
         DM_F4d.byte7.frame_flag = data[7];
 
         if (DM_F4d.byte7.flag.head != 0) // 头
         {
+            if(DM_F4d.target_num > 130)
+                DM_F4d.target_num = 130;
             memcpy(&DM_F4d.target_num, &data[0], 7);
             dm_4df_i = 0;
         }

+ 2 - 2
Src/soft_water_device.c

@@ -606,7 +606,7 @@ void uavcan_equipment_power_BatteryInfo_decode(uint8_t *recv_buf, uint32_t len,
  **/
 HWTail rawcmdTail = {0};
 HWTail setIDTail = {0};
-_EscLinkDevice EscMsg[4 + 1];
+_EscLinkDevice EscMsg[3];
 void HobbywingCanRecvHookFunction(uint32_t id, uint8_t *recv_buf, uint8_t len)
 {   
     //去掉NODEID
@@ -651,7 +651,7 @@ void HobbywingCanRecvHookFunction(uint32_t id, uint8_t *recv_buf, uint8_t len)
 
     _EscLinkDevice *EscPtr = NULL;
 
-    if ( SrcNodeID >= 1 && SrcNodeID <= 4 )
+    if ( SrcNodeID >= 1 && SrcNodeID <= 2 )
     {
         EscPtr = &EscMsg[SrcNodeID];
     }