Module duty

Module duty 

Source
Expand description

Transmit duty-cycle accounting for PROP_PHY_DUTY_NOW.

Per the spec: fifteen 16-bit bins, one per 4-minute interval, covering the past hour. Each bin counts 5 ms units of transmit time. Usage is sum(bins) * 65535 / 720000, i.e. 0-65535 maps to 0-100% of the hour.

DutyTracker is the accounting engine; DutyLedger wraps one tracker in a shared, interior-mutable form so every radio client on a device — the ULCP session and the device node — draws from the same combined budget (PROP_PHY_DUTY_LIMIT bounds their total airtime, and PROP_PHY_DUTY_NOW reports the combined figure).

Structs§

DutyExceeded
A transmit was refused because it would push combined usage past PROP_PHY_DUTY_LIMIT.
DutyLedger
The shared duty ledger: one DutyTracker plus the active limit and modulation parameters, behind a blocking mutex so it can sit in a static and be consulted from every radio client’s TX path.
DutyTracker