diff options
| author | Selene ToyKeeper | 2017-09-25 05:27:03 -0600 |
|---|---|---|
| committer | Selene ToyKeeper | 2017-09-25 05:27:03 -0600 |
| commit | 608ea9202f71e6267058fcaa63c91a22fea963cf (patch) | |
| tree | 6c3ca66327a4796323124cc06f76d62118028ce9 | |
| parent | Moved halfspeed thing so it'll affect goodnight mode too. (diff) | |
| download | anduril-608ea9202f71e6267058fcaa63c91a22fea963cf.tar.gz anduril-608ea9202f71e6267058fcaa63c91a22fea963cf.tar.bz2 anduril-608ea9202f71e6267058fcaa63c91a22fea963cf.zip | |
Dropped moon power another 0.5 mA.
Fixed clock speed related brightness glitch when turning on at moon mode.
Diffstat (limited to '')
| -rw-r--r-- | spaghetti-monster/anduril/anduril.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/spaghetti-monster/anduril/anduril.c b/spaghetti-monster/anduril/anduril.c index 1cc9d7c..7833f4f 100644 --- a/spaghetti-monster/anduril/anduril.c +++ b/spaghetti-monster/anduril/anduril.c @@ -37,6 +37,7 @@ #define USE_EEPROM #define EEPROM_BYTES 12 #define USE_IDLE_MODE +#define MOON_POWERSAVE // cut clock speed at very low modes for better efficiency //#define HALFSPEED_LEVEL 30 // looks good, but sounds bad #define HALFSPEED_LEVEL 14 #include "spaghetti-monster.h" @@ -962,16 +963,21 @@ void loop() { #ifdef USE_IDLE_MODE else if ((state == steady_state) + || (state == off_state) || (state == goodnight_state)) { - if (actual_level < HALFSPEED_LEVEL) { + #ifdef MOON_POWERSAVE + if (actual_level < 5) { + // run at quarter speed + CLKPR = 1<<CLKPCE; CLKPR = 2; + } + else if (actual_level < HALFSPEED_LEVEL) { // run at half speed - CLKPR = 1<<CLKPCE; - CLKPR = 1; + CLKPR = 1<<CLKPCE; CLKPR = 1; } else { // run at full speed - CLKPR = 1<<CLKPCE; - CLKPR = 0; + CLKPR = 1<<CLKPCE; CLKPR = 0; } + #endif // doze until next clock tick idle_mode(); } |
