From 45e3a7758046536754f073c42ac27dc737e69fab Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Tue, 26 Sep 2017 16:47:44 -0600 Subject: Added dynamic underclocking to FSM, instead of doing it manually in Anduril. --- spaghetti-monster/fsm-events.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'spaghetti-monster/fsm-events.c') diff --git a/spaghetti-monster/fsm-events.c b/spaghetti-monster/fsm-events.c index 5448feb..e965224 100644 --- a/spaghetti-monster/fsm-events.c +++ b/spaghetti-monster/fsm-events.c @@ -116,8 +116,26 @@ inline void interrupt_nice_delays() { nice_delay_interrupt = 1; } // 1: normal completion uint8_t nice_delay_ms(uint16_t ms) { StatePtr old_state = current_state; + /* // delay_zero() implementation + if (ms == 0) { + CLKPR = 1< 0) { + #ifdef USE_DYNAMIC_UNDERCLOCKING + // underclock MCU to save power + CLKPR = 1< 0) { + // underclock MCU to save power + CLKPR = 1<