Преглед на файлове

增加wifi接收广播判断

yidong преди 1 месец
родител
ревизия
73deaaa6f5
променени са 3 файла, в които са добавени 12 реда и са изтрити 3 реда
  1. 1 1
      BoardInterface/onechip_load_inf.h
  2. 9 0
      DriverInterface/ESP32_WROOM_32D.c
  3. 2 2
      MDK-ARM/mini7_V2.uvoptx

+ 1 - 1
BoardInterface/onechip_load_inf.h

@@ -8,7 +8,7 @@
 #define SOFT_VERSION_1  7	//软件版本号
 #define SOFT_VERSION_2  4	//软件版本号
 #define SOFT_VERSION_3  0	//软件版本号
-#define SOFT_VERSION_4  16	//软件版本号
+#define SOFT_VERSION_4  17	//软件版本号
 
 
 

+ 9 - 0
DriverInterface/ESP32_WROOM_32D.c

@@ -562,6 +562,15 @@ void WIFI_recv_deal(void)
         if(NULL != p)
 		{
             int iProcLen = DecodeNew(&uart0_massage,uart0_data,g_wifi_rx_buf, &g_wifi_rx_head,g_wifi_rx_last,WIFI_RX_BUF_SIZE);
+            /* 过滤其他设备的UDP广播: 命令为PC_CMD_SETIP且数据以"Mini7"开头(本机send_Devinf_pc广播的设备信息),
+               说明是同类设备发出的广播而非上位机下发的SETIP,丢弃不做后续处理 */
+            if(iProcLen > 0 && PC_CMD_SETIP == uart0_massage.cmd &&
+               strncmp((const char *)uart0_data, "Mini7", 5) == 0)
+            {
+                Van_Device_Printf(VAN_LOG_WIFI, "\n[WiFi] filter peer device broadcast");
+                wifi_receive_clear();
+                iProcLen = 0;   /* 标记为已过滤,跳过后续PC命令处理 */
+            }
             if (iProcLen > 0)   {                        
                 sysinf.pc_channel_recv  = PC_CONNECT_TYPE_WIFI; 
                 sysinf.pc_link_timeout = 0;

+ 2 - 2
MDK-ARM/mini7_V2.uvoptx

@@ -75,7 +75,7 @@
       <OPTFL>
         <tvExp>1</tvExp>
         <tvExpOptDlg>0</tvExpOptDlg>
-        <IsCurrentTarget>0</IsCurrentTarget>
+        <IsCurrentTarget>1</IsCurrentTarget>
       </OPTFL>
       <CpuCode>18</CpuCode>
       <DebugOpt>
@@ -429,7 +429,7 @@
       <OPTFL>
         <tvExp>1</tvExp>
         <tvExpOptDlg>0</tvExpOptDlg>
-        <IsCurrentTarget>1</IsCurrentTarget>
+        <IsCurrentTarget>0</IsCurrentTarget>
       </OPTFL>
       <CpuCode>18</CpuCode>
       <DebugOpt>