Wendal Chen 1 год назад
Родитель
Сommit
964f73eb12
1 измененных файлов с 13 добавлено и 7 удалено
  1. 13 7
      app/port/luat_wlan_raw_air101.c

+ 13 - 7
app/port/luat_wlan_raw_air101.c

@@ -22,6 +22,7 @@ extern void tls_wifi_buffer_release(bool is_apsta, u8* buffer);
 int luat_wlan_raw_write(int is_apsta, uint8_t* buff, size_t len) {
     u8* tmp = tls_wifi_buffer_acquire(len);
     if (tmp == NULL) {
+        LLOGW("tls_wifi_buffer_acquire failed, len:%d", len);
         return -1;
     }
     memcpy(tmp, buff, len);
@@ -29,17 +30,22 @@ int luat_wlan_raw_write(int is_apsta, uint8_t* buff, size_t len) {
     return 0;
 }
 
+int luat_wlan_get_mac(int id, char* mac);
+static char wlan_raw_ap_mac[6];
 int luat_wlan_raw_in(const u8 *bssid, u8 *buf, u32 buf_len) {
-    printf("pkgin %02X%02X%02X%02X%02X%02X %p %d\n", 
-        bssid[0], bssid[1], bssid[2], bssid[3], bssid[4], bssid[5], 
-        buf, buf_len);
-    l_wlan_raw_event(0, buf, buf_len); // TODO 支持AP
+    // printf("pkgin %02X%02X%02X%02X%02X%02X %p %d\n", 
+    //     bssid[0], bssid[1], bssid[2], bssid[3], bssid[4], bssid[5], 
+    //     buf, buf_len);
+    if (memcmp(bssid, wlan_raw_ap_mac, 6) != 0) {
+        l_wlan_raw_event(1, buf, buf_len); // AP数据包
+    }
+    else {
+        l_wlan_raw_event(0, buf, buf_len); // STA数据包
+    }
     return 0;
 }
 
 int luat_wlan_raw_setup(luat_wlan_raw_conf_t *conf) {
-    // if (1) {
-    //     tls_ethernet_data_rx_callback(luat_wlan_raw_in);
-    // }
+    luat_wlan_get_mac(1, wlan_raw_ap_mac);
     return 0;
 }