z8359531l 1 місяць тому
батько
коміт
2ffe7e30c9
5 змінених файлів з 75 додано та 32 видалено
  1. 3 0
      Inc/soft_p_2_c.h
  2. 0 1
      Inc/soft_terrain.h
  3. 55 15
      Src/soft_p_2_c.c
  4. 16 15
      Src/soft_terrain.c
  5. 1 1
      Src/soft_version.c

+ 3 - 0
Inc/soft_p_2_c.h

@@ -91,6 +91,9 @@ enum vklink_MSGID_SET
 	MSGID_SET_FRADAR_SN = 98,     // 设置雷达SN号
 	MSGID_SET_BRADAR_SN = 99,     // 设置雷达SN号
 	MSGID_SET_TRADAR_SN = 100,    // 设置雷达SN号
+	MSGID_SET_4DFRADAR_SN = 102,    // 设置4D雷达SN号
+	MSGID_SET_4DBRADAR_SN = 103,    // 设置4D雷达SN号
+	MSGID_SET_4DTRADAR_SN = 104,    // 设置4D雷达SN号
 };
 
 enum vklink_PMU_SEND

+ 0 - 1
Inc/soft_terrain.h

@@ -15,7 +15,6 @@ extern UAVH30 uavh30_dist;
 extern bool terrain_is_link;
 extern uint16_t terrain_height;
 extern bool F4d_send_flag;
-extern bool B4d_send_flag;
 extern bool DM4Dmsg_send_fmu;
 void can_recv_enzhao_terrain(uint32_t CanID, uint8_t data[], uint8_t len);
 

+ 55 - 15
Src/soft_p_2_c.c

@@ -696,9 +696,9 @@ void pmu_to_con_DM4DBradar_msg(void)
     msg_buf[index++] = 'K';
     msg_buf[index++] = 'Z';
     msg_buf[index++] = '1';
-     memcpy(&msg_buf[index],&DM_4DRADARMAG.angel_4DF,12);
-     index += 12;
-     msg_buf[1] = index - 6;
+    memcpy(&msg_buf[index],&DM_4DRADARMAG.angel_4DF,12);
+    index += 12;
+    msg_buf[1] = index - 6;
     crc = Get_Crc16(msg_buf, index);
     msg_buf[index++] = crc;
     msg_buf[index++] = (crc >> 8) & 0xff;
@@ -1312,11 +1312,6 @@ void pmu_to_fcu()
             pmu_to_con_DM4DFradar_data();
             F4d_send_flag = false;
         }
-        if(B4d_send_flag == true)
-        {
-            pmu_to_con_DM4DBradar_data();
-            B4d_send_flag = false;
-        }
         if(DM4Dmsg_send_fmu == true)
         {
             pmu_to_con_DM4DBradar_msg();
@@ -1930,6 +1925,51 @@ void uart_recv_con_msg()
                     pmu_set_ack(_MSGID_SET,MSGID_SET_TRADAR_SN,msgidset.content1,msgidset.content2);
                 }
                 break;
+            case MSGID_SET_4DFRADAR_SN:
+                {
+                    int radar_Sn = 0;
+                    uint8_t can_buf[8] = {0};
+
+                    radar_Sn = msgidset.content1 + (msgidset.content2 << 16);
+                    can_buf[0] = 2;
+                    memcpy(&can_buf[1],&radar_Sn,4);
+                    can_buf[7] = 7;
+                    can_send_msg_normal(can_buf,8,0xA81300);
+                    DM_f_info.get_radar_ver_flag = false;
+                    dev_obsf.regist.sn = false;
+                    pmu_set_ack(_MSGID_SET,MSGID_SET_4DFRADAR_SN,msgidset.content1,msgidset.content2);
+                }
+                break;
+            case MSGID_SET_4DBRADAR_SN:
+                {
+                    int radar_Sn = 0;
+                    uint8_t can_buf[8] = {0};
+
+                    radar_Sn = msgidset.content1 + (msgidset.content2 << 16);
+                    can_buf[0] = 2;
+                    memcpy(&can_buf[1],&radar_Sn,4);
+                    can_buf[7] = 7;
+                    can_send_msg_normal(can_buf,8,0xB81300);
+                    dev_obsb.regist.sn = false;
+                    //DM_b_info.get_radar_ver_flag = false;
+                    pmu_set_ack(_MSGID_SET,MSGID_SET_4DBRADAR_SN,msgidset.content1,msgidset.content2);
+                }
+                break;
+            case MSGID_SET_4DTRADAR_SN:
+                {
+                    int radar_Sn = 0;
+                    uint8_t can_buf[8] = {0};
+
+                    radar_Sn = msgidset.content1 + (msgidset.content2 << 16);
+                    can_buf[0] = 2;
+                    memcpy(&can_buf[1],&radar_Sn,4);
+                    can_buf[7] = 7;
+                    can_send_msg_normal(can_buf,8,0x981300);
+                    DM_ter_info.get_radar_ver_flag = false;
+                    dev_ter.regist.sn = false; //重新获取sn
+                    pmu_set_ack(_MSGID_SET,MSGID_SET_4DTRADAR_SN,msgidset.content1,msgidset.content2);
+                }
+                break;
             default:
                 break;
             }
@@ -1946,37 +1986,37 @@ void uart_recv_con_msg()
                 {
                 case 1:
                     can_buf[0] = 0XC;
-                    memcpy(&can_buf[1],&radar_msg,4);
+                    memcpy(&can_buf[1],&radar_msg,2);
                     can_buf[7] = 7;
                     can_send_msg_normal(can_buf,8,0XA81300);
                     break;
                 case 2:
                     can_buf[0] = 0XE;
-                    memcpy(&can_buf[1],&radar_msg,4);
+                    memcpy(&can_buf[1],&radar_msg,2);
                     can_buf[7] = 7;
                     can_send_msg_normal(can_buf,8,0XA81300);
                     break;
                 case 3:
                     can_buf[0] = 0XA;
-                    memcpy(&can_buf[1],&radar_msg,4);
+                    memcpy(&can_buf[1],&radar_msg,2);
                     can_buf[7] = 7;
                     can_send_msg_normal(can_buf,8,0XA81300);
                     break;
                 case 4:
                     can_buf[0] = 0XC;
-                    memcpy(&can_buf[1],&radar_msg,4);
+                    memcpy(&can_buf[1],&radar_msg,2);
                     can_buf[7] = 7;
                     can_send_msg_normal(can_buf,8,0XB81300);
                     break;
                 case 5:
                     can_buf[0] = 0XE;
-                    memcpy(&can_buf[1],&radar_msg,4);
+                    memcpy(&can_buf[1],&radar_msg,2);
                     can_buf[7] = 7;
                     can_send_msg_normal(can_buf,8,0XB81300);
                     break;
                 case 6:
-                    can_buf[0] = 0XB;
-                    memcpy(&can_buf[1],&radar_msg,4);
+                    can_buf[0] = 0XA;
+                    memcpy(&can_buf[1],&radar_msg,2);
                     can_buf[7] = 7;
                     can_send_msg_normal(can_buf,8,0XB81300);
                     break;   

+ 16 - 15
Src/soft_terrain.c

@@ -401,11 +401,9 @@ void DM_Fobs_recieved_hookfuction(uint32_t cellCanID, uint8_t data[], uint8_t le
     }
     else if (cellCanID == 0xA81301 && (data[0] == 0xA || data[0] == 0xB))
     {
-        
-            if (data[0] == 0xB)
-                DM_f_info.get_radar_rawSwitch_flag = true;
-            pmu_set_ack(_MSGID_SET, MSGID_SET_RAW_SWITCH, 0x11, data[1] + data[2] * 256);
-        
+        if (data[0] == 0xB)
+            DM_f_info.get_radar_rawSwitch_flag = true;
+        pmu_set_ack(_MSGID_SET, MSGID_SET_RAW_SWITCH, 0x11, data[1] + data[2] * 256);
     }
     else if (cellCanID == 0xA81301 && data[0] == 0x4)
     {
@@ -425,19 +423,22 @@ void DM_Fobs_recieved_hookfuction(uint32_t cellCanID, uint8_t data[], uint8_t le
         DM_4DRADARMAG.ground_filter_4DF = data[1] + data[2] * 256;
         DM4Dmsg_send_fmu = true;
     }
-    else if (cellCanID == 0xA81301 && (data[0] == 0xA || data[0] == 0xB))
+    else if (cellCanID == 0xA81302 && (data[0] == 0xA || data[0] == 0xB))
     {
         if (data[0] == 0xB)
-                DM_4DRADARMAG.get_dotcloud_switch_4DF = true;
-            DM_4DRADARMAG.dotcloud_switch_4DF = data[1] + data[2] * 256;
-            DM4Dmsg_send_fmu = true;
+            DM_4DRADARMAG.get_dotcloud_switch_4DF = true;
+        DM_4DRADARMAG.dotcloud_switch_4DF = data[1] + data[2] * 256;
+        DM4Dmsg_send_fmu = true;
+    }
+    else if(cellCanID == 0xA81302 && (data[0] == 0x1))
+    {
+
     }
 }
 int16_t B_4DRadar[3][3] = {0}; // X Y Z
 DM_4dFRADAR DM_B4d;
 int dm_4dB_i = 0;
 // DM_4DRADAR FMU_4DB_info;
-bool B4d_send_flag = false;
 uint8_t DM4dB_recv_flag = 0;
 void DM_Bobs_recieved_hookfuction(uint32_t cellCanID, uint8_t data[], uint8_t len)
 {
@@ -481,7 +482,7 @@ void DM_Bobs_recieved_hookfuction(uint32_t cellCanID, uint8_t data[], uint8_t le
                 {
                     FMU_4D_info.target_num = DM_B4d.target_num;
                     memcpy(&FMU_4D_info.buf, &DM_B4d.RawData, DM_B4d.target_num * 5);
-                    B4d_send_flag = true;
+                    F4d_send_flag = true;
                 }
             }
         }
@@ -520,10 +521,10 @@ void DM_Bobs_recieved_hookfuction(uint32_t cellCanID, uint8_t data[], uint8_t le
     }
     else if (cellCanID == 0xB81302 && (data[0] == 0xA || data[0] == 0xB))
     {
-            if (data[0] == 0xB)
-                DM_4DRADARMAG.get_dotcloud_switch_4DB = true;
-            DM_4DRADARMAG.dotcloud_switch_4DB = data[1] + data[2] * 256;
-            DM4Dmsg_send_fmu = true;
+        if (data[0] == 0xB)
+            DM_4DRADARMAG.get_dotcloud_switch_4DB = true;
+        DM_4DRADARMAG.dotcloud_switch_4DB = data[1] + data[2] * 256;
+        DM4Dmsg_send_fmu = true;
     }
     else if (cellCanID == 0xB81302 && (data[0] == 0xD || data[0] == 0xC))
     {

+ 1 - 1
Src/soft_version.c

@@ -505,7 +505,7 @@ void get_device_version_and_sn(void)
     static uint32_t circu_time = 0;
 
     if(Check_Timer_Ready(&circu_time,_2_HZ_))
-    {
+    {  
         //获取雷达版本和SN号
         get_radar_version_and_sn();