aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-08-26Revert DarkHorse back to no wear-levelling.Selene ToyKeeper1-15/+15
It's smaller, and WL is probably not needed for this UI. I only converted it as a test, and it worked, so ... woot.
2017-08-26Made wear-levelling work. Takes a bunch of extra ROM though.Selene ToyKeeper3-21/+63
Also, I've only tested it a tiny amount.
2017-08-26Added eeprom load/save API (no wear levelling yet), verified it works in ↵Selene ToyKeeper5-1/+179
DarkHorse.
2017-08-26Avoid suspending at weird times by deferring the call to standby mode.Selene ToyKeeper2-24/+32
Turned strobe into a function to avoid repeating code, and made it tolerate interruption better. Got rid of delay after battcheck, since it caused problems if the user didn't wait long enough before trying to turn the light back on.
2017-08-26Fixed bug: strobes could interfere with hold-from-off next time light was used.Selene ToyKeeper1-20/+24
(because it'd enter standby mode during the strobe pulse, then continue the flow at next activation by turning the light off) Replaced bare return values with ones defined in the FSM library.
2017-08-26Made DarkHorse always start at low when holding the button, like a real ↵Selene ToyKeeper1-24/+19
ZebraLight does. (previously ramped up one mode instead of resetting to low each time)
2017-08-26Forgot to handle beacon/strobe in LVP earlier.Selene ToyKeeper1-7/+4
2017-08-26Added beacons/strobes to DarkHorse.Selene ToyKeeper3-7/+64
Added a way to explicitly cancel the current "nice" delay without changing state.
2017-08-26Forgot to wrap one line for making thermal regulation optional.Selene ToyKeeper1-0/+2
2017-08-26Added DarkHorse, a clone of the ZebraLight UI.Selene ToyKeeper1-0/+290
Still needs strobe, beacon, and memory which lasts across battery changes.
2017-08-26Added a temperature check mode to ramping-ui, mostly for testing purposes.Selene ToyKeeper1-0/+19
2017-08-25Made 4bar and 8bar battcheck styles work.Selene ToyKeeper5-5/+21
Added LVP handling for other modes, including battcheck.
2017-08-25Added battcheck mode to ramping-ui. It's bigger than I had hoped. :(Selene ToyKeeper8-3/+209
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 ToyKeeper4-32/+285
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 ToyKeeper7-35/+84
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-24Fixed repeating blinks at ends of ramp -- only blinks once now.Selene ToyKeeper1-4/+10
2017-08-24Don't send underheat warnings when LVP is active. The signals conflict.Selene ToyKeeper1-5/+5
Also, avoid immediate thermal step-down after battery change. (init array with correctly-scaled values)
2017-08-24Set default brightness to max 7135 level.Selene ToyKeeper1-9/+16
Made thermal regulation adjust proportional to how far above/below the target range the light is. Replaced turn-on blinks with single shorter/dimmer blip.
2017-08-24Made ramping UI able to toggle between smooth and discrete ramping with 4 ↵Selene ToyKeeper2-5/+40
clicks.
2017-08-24Added a ramping UI example.Selene ToyKeeper6-6/+404
Added ramping support in general.
2017-08-23Added thermal regulation to SpaghettiMonster / Baton.Selene ToyKeeper4-9/+206
Made some LVP values configurable. Removed high_temperature() / low_temperature() shortcuts for now.
2017-08-23Made Baton a little easier to read:Selene ToyKeeper1-12/+13
Renamed set_mode() to set_level(). Replaced sizeof() thingy with a MAX_LEVEL define.
2017-08-23Added LVP to Baton UI. Was super easy.Selene ToyKeeper1-1/+13
2017-08-19Added missing returns, made strobe-from-off use memorized strobe speed,Selene ToyKeeper1-2/+5
set initial brightness to ~10lm after battery change.
2017-08-19Baton: Strobe should be full-power.Selene ToyKeeper1-3/+3
2017-08-19Completely reorganized SpaghettiMonster code into smaller logical pieces: ↵Selene ToyKeeper15-734/+1128
fsm-*.c and fsm-*.h.
2017-08-19Extra debouncing in PCINT (don't emit event if push was rejected).Selene ToyKeeper3-29/+17
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 momentary UI (API changed a little).Selene ToyKeeper1-1/+1
2017-08-19Improved memory handling in FSM Baton.Selene ToyKeeper1-22/+36
Improved brightness ramp. (lower low) Added double-click to/from turbo in steady modes. Moved strobes to triple-click.
2017-08-19Fixed unreliability of short-click detection.Selene ToyKeeper2-10/+24
(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 ToyKeeper2-59/+260
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 ToyKeeper3-0/+848