aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Made "off" mode more vigilant about staying off.Selene ToyKeeper2017-09-092-4/+16
|
* Added momentary(ish) moon mode to lockout state.Selene ToyKeeper2017-09-051-4/+24
| | | | | Made LVP step down in smaller steps.
* Got the 4th PWM channel to work, ish. (channel 4 is inverted though)Selene ToyKeeper2017-09-0312-78/+81
| | | | | | | | | 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.
* Added UI2. UI2 is weird.Selene ToyKeeper2017-09-011-5/+86
| | | | | Not sure I got everything the same; will have to try UI2 on my actual Meteor to see how it works.
* Started a Meteor M43 clone UI.Selene ToyKeeper2017-08-314-1/+587
| | | | | | | 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?
* Reorganized FSM files, one dir per UI.Selene ToyKeeper2017-08-307-0/+1
|
* Added a simpler and more accurate Baton UI clone.Selene ToyKeeper2017-08-301-0/+202
| | | | | Basically, took out the party strobe and added a lockout mode instead.
* Replaced FSM_*_LAYOUT with FSM_*_DRIVER because I think it makes more sense.Selene ToyKeeper2017-08-306-5/+10
| | | | | | Made momentary.c compile again. Updated fsm-main to use whichever delay function is available.
* Updated anduril.txt to match current code.Selene ToyKeeper2017-08-301-12/+16
|
* Made event handling a bit more reliable while asleep.Selene ToyKeeper2017-08-301-1/+3
| | | | | (was sometimes having difficulty getting out of soft lockout mode)
* Added goodnight mode. Rearranged blinkies in battcheck group.Selene ToyKeeper2017-08-281-11/+58
|
* Forgot to update the UI text file for lightning storm mode.Selene ToyKeeper2017-08-281-2/+7
|
* Added lightning storm mode.Selene ToyKeeper2017-08-281-6/+70
|
* just ideas and minor cleanupSelene ToyKeeper2017-08-282-3/+16
|
* Adjusted default ramp values for general-purpose use.Selene ToyKeeper2017-08-281-3/+3
|
* Fixed a crash when user presses the button more times than the UI supports.Selene ToyKeeper2017-08-281-1/+1
| | | | | (need to leave room for a trailing 0 in the array, oops)
* Added thermal config mode... but I'm not sure if it's the right UI for this ↵Selene ToyKeeper2017-08-283-3/+45
| | | | or not.
* Added beacon mode and beacon config mode.Selene ToyKeeper2017-08-282-10/+83
| | | | | Renamed ramp_config_mode to ramp_config_state.
* UI description up-to-date now.Selene ToyKeeper2017-08-271-13/+20
|
* Fixed a bug where sometimes the light wouldn't respond for a second or so ↵Selene ToyKeeper2017-08-271-0/+4
| | | | | | | after connecting power. (spurious events were detected at boot, and previously had to time out before it would respond)
* Use different speed values for party and tactical strobes.Selene ToyKeeper2017-08-271-11/+13
|
* Fixed bug: double-click from off didn't *really* go to the top of the ramp.Selene ToyKeeper2017-08-271-1/+1
|
* Remembered to put the thermal ceiling back at a sane value.Selene ToyKeeper2017-08-272-2/+7
| | | | | UI idea updates.
* Added bike flasher.Selene ToyKeeper2017-08-272-24/+63
|
* Adjusted default 2-channel 150-step ramp to start at 1/255.Selene ToyKeeper2017-08-271-1/+6
| | | | | (this makes the newly-configurable moon mode able to work on pretty much any hardware)
* Now remembers ramp and strobe settings after battery change.Selene ToyKeeper2017-08-272-19/+48
| | | | | | | Also, set new defaults for ramping: - ~50% power maximum - 0.3 lm min for smooth ramping, 10 lm min for discrete ramping
* Made ramp config mode significantly easier to use.Selene ToyKeeper2017-08-272-59/+50
| | | | | | Added delays around each step. Fixed wrong number of blinks for each option.
* Ramp config mode actually works now...Selene ToyKeeper2017-08-274-23/+196
| | | | | | Added EV_reenter_state event to indicate an obscuring state was popped off the stack and the underlying one is now on top again.
* Reduced ROM size, simplified logic, made sure discrete ramp won't overflow ↵Selene ToyKeeper2017-08-271-53/+27
| | | | outside uint8_t range.
* Made discrete ramping to work significantly better.Selene ToyKeeper2017-08-272-22/+89
| | | | | | Added momentary mode. Can only be exited by disconnecting power. Rearranged some mappings from off to other states.
* Added TICKS_PER_SECOND because it's handy to avoid hardcoding the WDT speed ↵Selene ToyKeeper2017-08-271-0/+2
| | | | in UI code.
* Started on Anduril, a Narsil-inspired UI.Selene ToyKeeper2017-08-272-0/+532
|
* 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.
* Revert DarkHorse back to no wear-levelling.Selene ToyKeeper2017-08-261-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.
* Made wear-levelling work. Takes a bunch of extra ROM though.Selene ToyKeeper2017-08-263-21/+63
| | | | | Also, I've only tested it a tiny amount.
* Added eeprom load/save API (no wear levelling yet), verified it works in ↵Selene ToyKeeper2017-08-265-1/+179
| | | | DarkHorse.
* Avoid suspending at weird times by deferring the call to standby mode.Selene ToyKeeper2017-08-262-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.
* Fixed bug: strobes could interfere with hold-from-off next time light was used.Selene ToyKeeper2017-08-261-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.
* Made DarkHorse always start at low when holding the button, like a real ↵Selene ToyKeeper2017-08-261-24/+19
| | | | | | | ZebraLight does. (previously ramped up one mode instead of resetting to low each time)
* Forgot to handle beacon/strobe in LVP earlier.Selene ToyKeeper2017-08-261-7/+4
|
* Added beacons/strobes to DarkHorse.Selene ToyKeeper2017-08-263-7/+64
| | | | | Added a way to explicitly cancel the current "nice" delay without changing state.
* Forgot to wrap one line for making thermal regulation optional.Selene ToyKeeper2017-08-261-0/+2
|
* Added DarkHorse, a clone of the ZebraLight UI.Selene ToyKeeper2017-08-261-0/+290
| | | | | Still needs strobe, beacon, and memory which lasts across battery changes.
* Added a temperature check mode to ramping-ui, mostly for testing purposes.Selene ToyKeeper2017-08-261-0/+19
|
* Made 4bar and 8bar battcheck styles work.Selene ToyKeeper2017-08-255-5/+21
| | | | | Added LVP handling for other modes, including battcheck.
* Added battcheck mode to ramping-ui. It's bigger than I had hoped. :(Selene ToyKeeper2017-08-258-3/+209
| | | | | | 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-244-32/+285
| | | | | | | 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-247-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.
* Fixed repeating blinks at ends of ramp -- only blinks once now.Selene ToyKeeper2017-08-241-4/+10
|
* Don't send underheat warnings when LVP is active. The signals conflict.Selene ToyKeeper2017-08-241-5/+5
| | | | Also, avoid immediate thermal step-down after battery change. (init array with correctly-scaled values)