39 lines
915 B
C
39 lines
915 B
C
#pragma once
|
|
|
|
#include "esp_err.h"
|
|
#include "esp_wifi.h"
|
|
#include <stdbool.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum {
|
|
WIFI_CTL_MODE_STA,
|
|
WIFI_CTL_MODE_MONITOR
|
|
} wifi_ctl_mode_t;
|
|
|
|
void wifi_ctl_init(void);
|
|
|
|
// --- Parameter Management ---
|
|
void wifi_ctl_param_set_monitor_channel(uint8_t channel);
|
|
uint8_t wifi_ctl_param_get_monitor_channel(void);
|
|
bool wifi_ctl_param_save(void);
|
|
void wifi_ctl_param_reload(void);
|
|
bool wifi_ctl_param_is_unsaved(void);
|
|
void wifi_ctl_param_clear(void);
|
|
|
|
// --- Actions ---
|
|
esp_err_t wifi_ctl_switch_to_monitor(uint8_t channel_override, wifi_bandwidth_t bandwidth);
|
|
esp_err_t wifi_ctl_switch_to_sta(wifi_band_mode_t band_mode);
|
|
void wifi_ctl_auto_monitor_start(uint8_t channel);
|
|
|
|
// --- Getters ---
|
|
wifi_ctl_mode_t wifi_ctl_get_mode(void);
|
|
uint8_t wifi_ctl_get_monitor_channel(void);
|
|
uint32_t wifi_ctl_get_monitor_frame_count(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|