15. Low Duty-Cycle Command¶
Configures periodic receiver operation to reduce average power consumption. The receiver wakes briefly to check for an FSK transmission and extends its on-time while the Data Quality Detector (DQD) indicates a good signal.
Register Fields¶
Bits |
Name |
Meaning |
API |
|---|---|---|---|
7:1 |
|
Duty-cycle parameter D |
|
0 |
|
Low duty-cycle enable |
The setters listed in the register field table above directly configure
fields in the Low Duty-Cycle Command. The setters and reset function update
staged configuration without communicating with the radio. Use
rfm12_apply_to_radio() to write the staged settings.
The Wake-Up Timer Command determines the cycle period. The nominal duty
cycle is (2 * D + 1) / M * 100%, where M is the wake-up timer
multiplier configured by rfm12_set_wakeup_timer(). This calculation
requires a nonzero multiplier.
Note
Low duty-cycle operation requires er to be cleared and ew to be
set in the Power Management Command. Stage these settings with
rfm12_set_receiver_enable() and
rfm12_set_wakeup_timer_enable(), respectively, and apply them
along with the duty-cycle configuration. The radio does not generate
wake-up timer interrupts in this mode.
Allow enough receiver on-time for the crystal oscillator, synthesizer, and PLL to start and for DQD to recognize valid data. An on-time that is too short can prevent reception even when the incoming signal is good.
Command Functions¶
rfm12_set_low_duty_cycle_d()¶
-
RFM12_result_t rfm12_set_low_duty_cycle_d(RFM12_t *dev, RFM12_low_duty_cycle_d_t d)¶
Stage the low duty-cycle parameter D.
The setter accepts values from 0 through 127. Pass the raw D field, not a percentage; the resulting duty cycle also depends on the wake-up timer multiplier M.
- Parameters:
dev – RFM12 radio instance.
d – Duty-cycle parameter D, from 0 through 127.
- Returns:
RFM12_OKon success, or an appropriateRFM12_result_terror.
rfm12_set_low_duty_cycle_enable()¶
-
RFM12_result_t rfm12_set_low_duty_cycle_enable(RFM12_t *dev, RFM12_enable_t enable)¶
Stage the low duty-cycle enable setting.
The wake-up timer and Power Management Command settings must also be configured for periodic receiver operation as described above.
- Parameters:
dev – RFM12 radio instance.
enable – Enable or disable low duty-cycle operation.
- Returns:
RFM12_OKon success, or an appropriateRFM12_result_terror.
rfm12_reset_low_duty_cycle()¶
-
RFM12_result_t rfm12_reset_low_duty_cycle(RFM12_t *dev)¶
Reset the staged Low Duty-Cycle Command values to their defaults.
This function does not communicate with the radio. The changed settings are written to the radio by
rfm12_apply_to_radio().- Parameters:
dev – RFM12 radio instance.
- Returns:
RFM12_OKon success, or an appropriateRFM12_result_terror.