aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster/spaghetti-monster.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Moved pseudo_rand() into its own header, and made it gather entropy from ADC ↵Selene ToyKeeper2018-06-231-0/+2
| | | | | | | | readings to improve randomness. Adjusted candle mode to use lower bits instead of upper bits, because the lower bits are more random. (also, the lower-bit method is slightly smaller in ROM)
* Made "off" mode more vigilant about staying off.Selene ToyKeeper2017-09-091-3/+0
|
* Added eeprom load/save API (no wear levelling yet), verified it works in ↵Selene ToyKeeper2017-08-261-0/+6
| | | | DarkHorse.
* 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-2/+4
| | | | | | | 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-1/+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.
* Added a ramping UI example.Selene ToyKeeper2017-08-241-0/+2
| | | | | Added ramping support in general.
* Completely reorganized SpaghettiMonster code into smaller logical pieces: ↵Selene ToyKeeper2017-08-191-734/+17
| | | | fsm-*.c and fsm-*.h.
* Extra debouncing in PCINT (don't emit event if push was rejected).Selene ToyKeeper2017-08-191-13/+7
| | | | | | Fixed memory error in Baton -- long-press from off didn't restart at moon. Made Momentary and Baton go to sleep while light is off.
* Fixed unreliability of short-click detection.Selene ToyKeeper2017-08-191-4/+13
| | | | | | | | | (it was doing stuff like "press, release, release, timeout" so it didn't match "press, release, timeout") (it may have also been missing the exact tick it needed, so I made it use >= instead of ==, but this is theoretical and harmless if I was wrong) Made baton mode memory work a bit better for both regular and strobe modes. Made baton fast strobe pulses shorter for better motion freezing. Added USE_DELAY_ZERO option as an alternate for USE_FINE_DELAY.
* Added unfinished UI similar to Olight Baton series.Selene ToyKeeper2017-08-191-59/+103
| | | | | | | | Fixed 2nd PWM channel init. May have fixed 3rd and 4th too. Added handling for complete normal clicks, but it's kind of flaky so far. Added handling for sustained button holds. Added missing 'arg' to state change functions.
* Renamed from RoundTable to SpaghettiMonster (FSM).Selene ToyKeeper2017-08-191-0/+737