12#if PC_ENABLE_RADIO_POWER
17const char *pc_radio_ps_name(uint8_t mode)
21 case pc_radio_ps::PC_PS_MIN_MODEM:
23 case pc_radio_ps::PC_PS_MAX_MODEM:
25 case pc_radio_ps::PC_PS_NONE:
39 if (mode == pc_radio_ps::PC_PS_MIN_MODEM)
43 if (mode == pc_radio_ps::PC_PS_MAX_MODEM)
58void pc_radio_power_apply(
void)
61#if PC_RADIO_MAX_TX_DBM > 0
66uint8_t pc_radio_ps_get(
void)
71 return pc_radio_ps::PC_PS_MIN_MODEM;
75 return pc_radio_ps::PC_PS_MAX_MODEM;
77 return pc_radio_ps::PC_PS_NONE;
80void pc_radio_busy_hold(
void)
82 if (s_busy.held++ == 0)
88void pc_radio_busy_release(
void)
90 if (s_busy.held > 0 && --s_busy.held == 0)
92 pc_radio_power_apply();
98void pc_radio_power_apply(
void)
101uint8_t pc_radio_ps_get(
void)
103 return pc_radio_ps::PC_PS_NONE;
105void pc_radio_busy_hold(
void)
110void pc_radio_busy_release(
void)
pc_phy_ps pc_phy_ps_get(void)
Read the active power-save mode (PC_PHY_PS_NONE when unsupported).
bool pc_phy_tx_power_set(int8_t)
Cap transmit power.
bool pc_phy_ps_set(pc_phy_ps)
Apply a power-save mode.
Layer 1 (Physical) - link bring-up and live egress-interface reporting.
pc_phy_ps
Radio power-save mode, in the library's own vocabulary.
@ PC_PHY_PS_MIN_MODEM
Wake on every DTIM beacon.
@ PC_PHY_PS_NONE
Radio always on: lowest latency, highest average draw.
@ PC_PHY_PS_MAX_MODEM
Wake on a longer listen interval: lowest draw, highest latency.
#define PC_RADIO_WIFI_PS
WiFi modem-sleep mode: 0 = none (max perf), 1 = min modem, 2 = max modem.
#define PC_RADIO_MAX_TX_DBM
Max TX power cap in dBm (2..20); 0 = leave the platform default.
WiFi radio power controls (PC_ENABLE_RADIO_POWER).