esp_wifi/
config.rs

1#[derive(Debug)]
2#[cfg_attr(feature = "defmt", derive(defmt::Format))]
3/// Tunable parameters for the WiFi driver
4#[allow(unused)] // currently there are no ble tunables
5pub(crate) struct EspWifiConfig {
6    pub(crate) rx_queue_size: usize,
7    pub(crate) tx_queue_size: usize,
8    pub(crate) static_rx_buf_num: usize,
9    pub(crate) dynamic_rx_buf_num: usize,
10    pub(crate) static_tx_buf_num: usize,
11    pub(crate) dynamic_tx_buf_num: usize,
12    pub(crate) ampdu_rx_enable: bool,
13    pub(crate) ampdu_tx_enable: bool,
14    pub(crate) amsdu_tx_enable: bool,
15    pub(crate) rx_ba_win: usize,
16    pub(crate) max_burst_size: usize,
17    pub(crate) country_code: &'static str,
18    pub(crate) country_code_operating_class: u8,
19    pub(crate) mtu: usize,
20    pub(crate) tick_rate_hz: u32,
21    pub(crate) listen_interval: u16,
22    pub(crate) beacon_timeout: u16,
23    pub(crate) ap_beacon_timeout: u16,
24    pub(crate) failure_retry_cnt: u8,
25    pub(crate) scan_method: u32,
26}
27
28#[non_exhaustive]
29#[derive(Default)]
30pub enum PowerSaveMode {
31    None,
32    #[default]
33    Minimum,
34    Maximum,
35}
36
37impl From<PowerSaveMode> for esp_wifi_sys::include::wifi_ps_type_t {
38    fn from(s: PowerSaveMode) -> Self {
39        match s {
40            PowerSaveMode::None => esp_wifi_sys::include::wifi_ps_type_t_WIFI_PS_NONE,
41            PowerSaveMode::Minimum => esp_wifi_sys::include::wifi_ps_type_t_WIFI_PS_MIN_MODEM,
42            PowerSaveMode::Maximum => esp_wifi_sys::include::wifi_ps_type_t_WIFI_PS_MAX_MODEM,
43        }
44    }
45}