aboutsummaryrefslogtreecommitdiff
path: root/fsm/states.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-11-02got things to compile again, renamed #includesSelene ToyKeeper1-2/+2
(also modified the build scripts to work with the new file structure)
2023-11-02reorganized project files (part 1)Selene ToyKeeper1-0/+0
(just moved files, didn't change the contents yet, and nothing will work without updating #includes and build scripts and stuff)
2023-04-17switched the rest of FSM + Anduril to use SPDX license headersSelene ToyKeeper1-21/+4
instead of full GPL headers (or all too often, nothing at all) There are a few "FIXME" entries where I'm not sure about the correct copyright.
2023-03-28just whitespace / commentsSelene ToyKeeper1-1/+1
2020-09-27reworked nice_delay interrupt system and fixed some old issues:Selene ToyKeeper1-0/+8
- added set_state_deferred(), to avoid timing issues when changing state in loop() (fixes bug where first button press after version check was sometimes ignored, and similar issue after battcheck in simple UI) - reduced chance of eating first button press after simple UI's battcheck, because it spent an extra second waiting after finishing the readout, and it wasn't intuitive for a single click to go from "post-battcheck darkness" to "off" during that period - made interrupt_nice_delays() happen every time the state changes, instead of having nice_delay() explicitly check for state changes while it waits... (because the explicit check was buggy and used more ROM) - made nice_delay_ms() abort immediately when interrupt is set, instead of waiting 1ms before it even checks for the interrupt condition... this makes aborted animations end a lot faster, with less visible flickering - made blink_num() smaller and simpler, because changes listed above make it possible - slightly changed order of events in main(), to accommodate for changes above - fixed issue where battcheck would keep trying to blink out numbers while the user was holding 10H for voltage config mode - ... and reduced ROM size by about 38 bytes
2018-11-11Rewrote the event system to use a single byte for each event instead of an ↵Selene ToyKeeper1-2/+2
array of actions. Not thoroughly tested yet, not done yet, have only updated Anduril to fit, and only partially.
2017-09-03Got the 4th PWM channel to work, ish. (channel 4 is inverted though)Selene ToyKeeper1-4/+7
Moved go_to_suspend thing into main() instead of making each UI handle that during loop(). Made default_state() optional. Fixed bug where battcheck and other number readouts could interfere with the state which interrupted them. (they would sometimes turn the LED off after the new state had already started) Updated darkhorse's moon levels to match new ramp on D4 hardware.
2017-08-27Ramp config mode actually works now...Selene ToyKeeper1-6/+7
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-23Added thermal regulation to SpaghettiMonster / Baton.Selene ToyKeeper1-0/+2
Made some LVP values configurable. Removed high_temperature() / low_temperature() shortcuts for now.
2017-08-19Completely reorganized SpaghettiMonster code into smaller logical pieces: ↵Selene ToyKeeper1-0/+108
fsm-*.c and fsm-*.h.