aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster/fsm-events.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* fixed build of "momentary" example UISelene ToyKeeper2020-05-141-1/+1
|
* saving state of ADC / WDT refactoring before doing more changes... what ↵Selene ToyKeeper2020-01-301-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
* made button release timeout faster (384ms -> 288ms) to make light shut off ↵Selene ToyKeeper2019-06-021-1/+1
| | | | sooner after 1 click
* Made event definitions a little cleaner.Selene ToyKeeper2018-11-111-32/+32
|
* Fixed the sleep tick counter wrapping around to 0 instead of 32768.Selene ToyKeeper2018-11-111-10/+5
|
* Several fixes...Selene ToyKeeper2018-11-111-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.
* Rewrote the event system to use a single byte for each event instead of an ↵Selene ToyKeeper2018-11-111-471/+136
| | | | | | | array of actions. Not thoroughly tested yet, not done yet, have only updated Anduril to fit, and only partially.
* Mostly got Emisar UI working... I think. Not yet tested.Selene ToyKeeper2018-06-261-0/+74
|
* Changed halfsleep mode to TICK_DURING_STANDBY. Added blinking indicator LED ↵Selene ToyKeeper2018-06-171-14/+13
| | | | support to Anduril.
* Implemented halfsleep mode.Selene ToyKeeper2018-06-171-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".
* Save a few bytes by changing how PCINT is defined.Selene ToyKeeper2018-01-241-2/+0
| | | | | Minor comment cleaning.
* Er, don't save_config() every frame... wait until the user lets go of the ↵Selene ToyKeeper2017-10-201-3/+1
| | | | button.
* Made HOLD_TIMEOUT and RELEASE_TIMEOUT define-able in the UI code.Selene ToyKeeper2017-10-061-0/+4
|
* Moved strobes from 5 clicks to "click, click, long-click".Selene ToyKeeper2017-09-101-0/+21
| | | | | Moved momentary mode from 6 clicks to 5 clicks.
* Started a Meteor M43 clone UI.Selene ToyKeeper2017-08-311-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?
* Ramp config mode actually works now...Selene ToyKeeper2017-08-271-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.
* Made it easier to configure the maximum number of clicks it'll try to count ↵Selene ToyKeeper2017-08-271-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.
* Added eeprom load/save API (no wear levelling yet), verified it works in ↵Selene ToyKeeper2017-08-261-0/+8
| | | | DarkHorse.
* Added beacons/strobes to DarkHorse.Selene ToyKeeper2017-08-261-0/+1
| | | | | Added a way to explicitly cancel the current "nice" delay without changing state.
* Added battcheck mode to ramping-ui. It's bigger than I had hoped. :(Selene ToyKeeper2017-08-251-0/+2
| | | | | | Added fsm-misc.*, which currently only has interruptible blink functions in it. (for blinking out numbers and such)
* Started on some documentation, spaghetti-monster.txt.Selene ToyKeeper2017-08-241-0/+5
| | | | | | | Added #defines for State return values: EVENT_HANDLED, EVENT_NOT_HANDLED Improved handling of delay includes. Managed mischief.
* Added loop() to API, executes constantly.Selene ToyKeeper2017-08-241-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.
* Made ramping UI able to toggle between smooth and discrete ramping with 4 ↵Selene ToyKeeper2017-08-241-0/+13
| | | | clicks.
* Added a ramping UI example.Selene ToyKeeper2017-08-241-0/+7
| | | | | Added ramping support in general.
* Completely reorganized SpaghettiMonster code into smaller logical pieces: ↵Selene ToyKeeper2017-08-191-0/+197
fsm-*.c and fsm-*.h.