|
ProtoCore v1.0.16
Deterministic, zero-heap network stack for embedded targets
|
Layer 1 (Physical) - 802.11 power management and transmit power control (PROTOCORE_ENABLE_RADIO_POWER). More...
#include "protocore_config.h"Go to the source code of this file.
Layer 1 (Physical) - 802.11 power management and transmit power control (PROTOCORE_ENABLE_RADIO_POWER).
IEEE Std 802.11-2020 is the normative source for every call here; no IETF RFC governs radio power management. 11.2.3.2 (Non-AP STA power management modes) names the two modes a non-AP STA runs in, active mode and PS mode, and 6.3.2.2 (MLME-POWERMGT.request) is the primitive that selects one. A STA in PS mode dozes and wakes for the DTIM of 11.2.3.4 (TIM types), across at most the beacon count of 9.4.1.6 (Listen Interval field). 11.7 (TPC procedures) governs transmit power in dBm, bounded by 11.7.5 (Specification of regulatory and local maximum transmit power levels).
PROTOCORE_RADIO_WIFI_PS picks the mode and PROTOCORE_RADIO_MAX_TX_DBM the cap; RadioNs::power applies both in one call, trading throughput and latency for lower average draw. The mode names are pure and host-tested; the apply and the readback go through the L1 phy contract, which reports failure when the part carries no radio backend.
The module exports one symbol, Radio. Everything in radio_power.c has internal linkage, so no name from this module reaches the library-wide symbol space and none of them can collide.
Definition in file radio_power.h.