aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster/spaghetti-monster.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-08-26Added eeprom load/save API (no wear levelling yet), verified it works in ↵Selene ToyKeeper1-0/+6
DarkHorse.
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-2/+4
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-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.
2017-08-24Added a ramping UI example.Selene ToyKeeper1-0/+2
Added ramping support in general.
2017-08-19Completely reorganized SpaghettiMonster code into smaller logical pieces: ↵Selene ToyKeeper1-734/+17
fsm-*.c and fsm-*.h.
2017-08-19Extra debouncing in PCINT (don't emit event if push was rejected).Selene ToyKeeper1-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.
2017-08-19Fixed unreliability of short-click detection.Selene ToyKeeper1-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.
2017-08-19Added unfinished UI similar to Olight Baton series.Selene ToyKeeper1-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.
2017-08-19Renamed from RoundTable to SpaghettiMonster (FSM).Selene ToyKeeper1-2/+3
2017-08-19Added missing GPL header, fixed typo, fixed missing return.Selene ToyKeeper1-0/+23
2017-08-19Made LVP work.Selene ToyKeeper1-36/+163
Converted emit handling to an async queue, to avoid long-running interrupts. (moved potentially long parts to main()) Improved button press debouncing (was getting stuck sometimes). Added an EV_debug event for testing. Added and turned off some voltage averaging/lowpass logic.
2017-08-18First RoundTable example actually works (simple momentary 1-mode UI).Selene ToyKeeper1-135/+354
Changed how tk-attiny.h detects whether a layout was defined. Changed how tk-attiny.h detects number of PWM channels for new-style layouts. Added no-underscore versions of delay functions. Lots of RoundTable refactoring and blank-filling.
2017-08-18Some early ideas for Round Table. Nothing close to compile-able yet.Selene ToyKeeper1-0/+367