From e4ed3ff00a652f738b1cea483f8ff4abefa49c90 Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Tue, 5 Sep 2017 03:43:18 -0600 Subject: Added momentary(ish) moon mode to lockout state. Made LVP step down in smaller steps. --- spaghetti-monster/anduril/anduril.c | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'spaghetti-monster') diff --git a/spaghetti-monster/anduril/anduril.c b/spaghetti-monster/anduril/anduril.c index c27ca68..dd06160 100644 --- a/spaghetti-monster/anduril/anduril.c +++ b/spaghetti-monster/anduril/anduril.c @@ -157,7 +157,7 @@ uint8_t off_state(EventPtr event, uint16_t arg) { #endif // 4 clicks: soft lockout else if (event == EV_4clicks) { - blink_confirm(5); + blink_confirm(2); set_state(lockout_state, 0); return MISCHIEF_MANAGED; } @@ -485,12 +485,31 @@ uint8_t goodnight_state(EventPtr event, uint16_t arg) { uint8_t lockout_state(EventPtr event, uint16_t arg) { + static uint8_t ticks_spent_awake = 0; + + // momentary(ish) moon mode during lockout + // not all presses will be counted; + // it depends on what is in the master event_sequences table + uint8_t last = 0; + for(uint8_t i=0; pgm_read_byte(event + i) && (i 180) { ticks_spent_awake = 0; @@ -500,10 +519,11 @@ uint8_t lockout_state(EventPtr event, uint16_t arg) { } // 4 clicks: exit else if (event == EV_4clicks) { - blink_confirm(2); + blink_confirm(1); set_state(off_state, 0); return MISCHIEF_MANAGED; } + return EVENT_NOT_HANDLED; } @@ -841,7 +861,7 @@ void low_voltage() { // in normal mode, step down by half or turn off else if (current_state == steady_state) { if (actual_level > 1) { - set_level(actual_level >> 1); + set_level((actual_level >> 1) + (actual_level >> 2)); } else { set_state(off_state, 0); -- cgit v1.2.3