aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster/fsm-events.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-05-14fixed build of "momentary" example UISelene ToyKeeper1-1/+1
2020-01-30saving state of ADC / WDT refactoring before doing more changes... what ↵Selene ToyKeeper1-0/+1
changed so far: - removed LVP lowpass and thermal regulation lowpass logic; it's probably redundant now - slowed ADC deferred logic timing to 4X per second instead of 16X, because there doesn't seem to be much reason to do it any faster - reduced thermal event rate-limit to just 1 second, for more responsive regulation - added "EV_temperature_okay" signal, to help stop adjustments at an appropriate time instead of going to far - sped up sleep LVP to one measurement every 8 seconds instead of 16, to help the aux LEDs respond to voltage changes faster (effect on standby time is negligible) - make sure the WDT doesn't set the ADC channel or counter... except in standby mode
2019-06-02made button release timeout faster (384ms -> 288ms) to make light shut off ↵Selene ToyKeeper1-1/+1
sooner after 1 click
2018-11-11Made event definitions a little cleaner.Selene ToyKeeper1-32/+32
2018-11-11Fixed the sleep tick counter wrapping around to 0 instead of 32768.Selene ToyKeeper1-10/+5
2018-11-11Several fixes...Selene ToyKeeper1-3/+3
- Made momentary+lockout modes smaller and work better. - Fixed buggy timing on hold events; made ticks_since_last_event reset when it should. - Reduced ROM size by caching volatile ticks_since_last_event sometimes. - Swapped what the top Event bit means, because it makes event handlers easier to write. - Made the maximum click event keep triggering if user keeps pressing, instead of dropping everything after the limit.
2018-11-11Rewrote the event system to use a single byte for each event instead of an ↵Selene ToyKeeper1-471/+136
array of actions. Not thoroughly tested yet, not done yet, have only updated Anduril to fit, and only partially.
2018-06-26Mostly got Emisar UI working... I think. Not yet tested.Selene ToyKeeper1-0/+74
2018-06-17Changed halfsleep mode to TICK_DURING_STANDBY. Added blinking indicator LED ↵Selene ToyKeeper1-14/+13
support to Anduril.
2018-06-17Implemented halfsleep mode.Selene ToyKeeper1-0/+6
Will probably change it quite a bit though, so I'm checking in changes first. Needs to be "tick during standby" instead of "half sleep".
2018-01-24Save a few bytes by changing how PCINT is defined.Selene ToyKeeper1-2/+0
Minor comment cleaning.
2017-10-20Er, don't save_config() every frame... wait until the user lets go of the ↵Selene ToyKeeper1-3/+1
button.
2017-10-06Made HOLD_TIMEOUT and RELEASE_TIMEOUT define-able in the UI code.Selene ToyKeeper1-0/+4
2017-09-10Moved strobes from 5 clicks to "click, click, long-click".Selene ToyKeeper1-0/+21
Moved momentary mode from 6 clicks to 5 clicks.
2017-08-31Started a Meteor M43 clone UI.Selene ToyKeeper1-0/+168
So far, UI1 and battcheck both work. UI2 and UI3 and other blinkies aren't implement yet. Added 6-bar battcheck style to match Meteor (ish). Increased maximum number of clicks to 12, because WTF. If your UI needs 12 clicks, what are you even doing in life?
2017-08-27Ramp config mode actually works now...Selene ToyKeeper1-9/+13
Added EV_reenter_state event to indicate an obscuring state was popped off the stack and the underlying one is now on top again.
2017-08-27Made it easier to configure the maximum number of clicks it'll try to count ↵Selene ToyKeeper1-1/+57
in one sequence. (use #define MAX_CLICKS 5, for example) Keeps data sizes from being excessively large without having to edit FSM sources per UI.
2017-08-26Added eeprom load/save API (no wear levelling yet), verified it works in ↵Selene ToyKeeper1-0/+8
DarkHorse.
2017-08-26Added beacons/strobes to DarkHorse.Selene ToyKeeper1-0/+1
Added a way to explicitly cancel the current "nice" delay without changing state.
2017-08-25Added battcheck mode to ramping-ui. It's bigger than I had hoped. :(Selene ToyKeeper1-0/+2
Added fsm-misc.*, which currently only has interruptible blink functions in it. (for blinking out numbers and such)
2017-08-24Started on some documentation, spaghetti-monster.txt.Selene ToyKeeper1-0/+5
Added #defines for State return values: EVENT_HANDLED, EVENT_NOT_HANDLED Improved handling of delay includes. Managed mischief.
2017-08-24Added loop() to API, executes constantly.Selene ToyKeeper1-0/+3
Added nice_delay_ms() to process events while waiting, and abort on state change. Converted ramping-ui strobe to smoothly variable with party and tactical modes.
2017-08-24Made ramping UI able to toggle between smooth and discrete ramping with 4 ↵Selene ToyKeeper1-0/+13
clicks.
2017-08-24Added a ramping UI example.Selene ToyKeeper1-0/+7
Added ramping support in general.
2017-08-19Completely reorganized SpaghettiMonster code into smaller logical pieces: ↵Selene ToyKeeper1-0/+197
fsm-*.c and fsm-*.h.