diff --git a/src/wifiscan.cpp b/src/wifiscan.cpp index fca54e2a..621c8494 100644 --- a/src/wifiscan.cpp +++ b/src/wifiscan.cpp @@ -27,10 +27,11 @@ IRAM_ATTR void wifi_sniffer_packet_handler(void *buff, void wifi_sniffer_init(void) { wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); - cfg.nvs_enable = 0; // we don't need any wifi settings from NVRAM + cfg.nvs_enable = 0; // we don't need any wifi settings from NVRAM cfg.wifi_task_core_id = 0; // we want wifi task running on core 0 wifi_promiscuous_filter_t filter = { - .filter_mask = WIFI_PROMIS_FILTER_MASK_MGMT}; // we need only MGMT frames + // .filter_mask = WIFI_PROMIS_FILTER_MASK_MGMT}; // only MGMT frames + .filter_mask = WIFI_PROMIS_FILTER_MASK_ALL}; // we use all frames // esp_event_loop_init(NULL, NULL); // ESP_ERROR_CHECK(esp_event_loop_init(event_handler, NULL)); @@ -56,9 +57,10 @@ void ChannelSwitchIRQ() { } // Wifi channel rotation task -void switchWifiChannel(void * parameter) { +void switchWifiChannel(void *parameter) { while (1) { - // task is remaining in block state waiting for channel switch timer interrupt event + // task is remaining in block state waiting for channel switch timer + // interrupt event xSemaphoreTake(xWifiChannelSwitchSemaphore, portMAX_DELAY); // rotates variable channel 1..WIFI_CHANNEL_MAX channel = (channel % WIFI_CHANNEL_MAX) + 1;