This can get enabled via .equ USE_SLEEP = X
USE_SLEEP = 1 enables idle sleep
USE_SLEEP = 2 enables ADC sleep
Here some effective measurements on a tgy.inc style board:
original:
50.4mA unarmed no PWM
50.2mA unarmed with PWM (but not neutral)
48.9mA armed in Neutral
50.2ma armed in Neutral after rotating motor
1775 words
with USE_SLEEP = 1:
40.2mA unarmed no PWM
40.2mA unarmed with PWM (but not neutral)
40.2mA armed in Neutral
50.2ma armed in Neutral after rotating motor
returning to 40.2mA when in Neutral
returning to 40.2mA when unarmed (after 4-8 seconds)
1796 words
with USE_SLEEP = 2:
35.2mA unarmed no PWM
40.2mA unarmed with PWM (but not neutral)
40.2mA armed in Neutral
50.2ma armed in Neutral after rotating motor
returning to 40.2mA when in Neutral
returning to 35.2mA when unarmed (after 4-8 seconds)
1842 words
The USE_SLEEP = 2 implements a timer2 emulation via the ADC-ISR
for reduced powerconsumption (using extended conversions),
but this can not be enabled with USE_UART because there is no
wakeup from deeper sleep modes than IDLE for the UART.
For I2C ONLY it would be possible to run in an even deeper sleep mode,
that could bring us down to 29.6mA when unarmed.
This can get enabled via .equ USE_SLEEP = X USE_SLEEP = 1 enables idle sleep USE_SLEEP = 2 enables ADC sleep
Here some effective measurements on a tgy.inc style board:
The USE_SLEEP = 2 implements a timer2 emulation via the ADC-ISR for reduced powerconsumption (using extended conversions), but this can not be enabled with USE_UART because there is no wakeup from deeper sleep modes than IDLE for the UART.
For I2C ONLY it would be possible to run in an even deeper sleep mode, that could bring us down to 29.6mA when unarmed.