aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-09-27fixed factory reset (forgot one line in previous commit)Selene ToyKeeper1-0/+1
2020-09-27reworked nice_delay interrupt system and fixed some old issues:Selene ToyKeeper7-37/+38
- 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
2020-09-27fixed bug: momentary bike mode could sometimes get stuck on for a few ↵Selene ToyKeeper1-0/+1
seconds after releasing button
2020-09-25tiny clarification in the manual about memorySelene ToyKeeper1-0/+5
(committed despite being tiny, so I can do a merge in a moment)
2020-09-25reduced temperature limit for Noctigon K1-12V, to avoid overheating the ↵Selene ToyKeeper1-2/+6
boost circuit
2020-09-25removed ROM-size reduction options from larger build targets; not needed any ↵Selene ToyKeeper3-11/+0
more
2020-09-25reduced ROM size by ~58 to ~88 bytes by making lookup tables constSelene ToyKeeper1-5/+5
patch by SammysHP and Grumsel: https://gist.github.com/SammysHP/48347a770995921444a6e91b187cb55b http://budgetlightforum.com/comment/1699350#comment-1699350
2020-09-25reduced ROM 4 bytes by rearranging thermal_config_save() logic a bitSelene ToyKeeper1-7/+6
patch is from SammysHP: https://gist.github.com/SammysHP/48347a770995921444a6e91b187cb55b
2020-09-24documentation improvements:Selene ToyKeeper6-35/+122
- moved MODELS to BRANDS - added MODELS file generated from "make models" - added version check info to manual - clarified how memory options work - fixed docs for auto-lock feature - small code comment clarifications
2020-09-24reduced ROM another 24 bytes by refactoring config-mode.cSelene ToyKeeper1-16/+4
(also fixed a corner case bug with calling savefunc() with a config step of 0 if the user has frame-perfect timing) (and a bug which could have affected later revisions, calling savefunc(0,N) when invoked via click instead of hold) Patch contributed by SammysHP: https://gist.github.com/SammysHP/78af437c6723112ddfdc6b6d6b5e3022
2020-09-24fixed bug: zero clicks in ceiling config set ceiling to nonsense valueSelene ToyKeeper1-3/+3
2020-09-24re-added features to build targets which were too big beforeSelene ToyKeeper3-4/+4
2020-09-24changed menu style and moved menus from "click" events to "hold" eventsSelene ToyKeeper11-175/+180
(also reduced ROM size by 126 bytes)
2020-09-18clearer comments about "Ramp 2C" behaviors with each build optionSelene ToyKeeper1-6/+7
2020-09-18added USE_2C_MAX_TURBO option from Tom ESelene ToyKeeper2-4/+19
Makes "Ramp 2C" behave like Anduril1 instead of Anduril2. So it goes to full power turbo in the advanced UI, or ceiling in the simple UI. Otherwise, default Anduril2 behavior is for "Ramp 2C" to go to/from the ceiling level... unless already ramped up to that level in advanced mode, in which case it'll go to full turbo.
2020-09-15forgot to add hybrid memory to the documentationSelene ToyKeeper1-3/+14
2020-09-15added hybrid memory option (a.k.a. manual memory timer)Selene ToyKeeper11-12/+91
Hybrid memory is a combination of automatic and manual, depending on how long the light was off. If it was a short time, automatic mem is used. For a longer time, it resets to the manual memory level. Also tweaked some of the larger build targets again to make sure they fit in ROM.
2020-09-14added "disco" mode to RGB aux LEDs (fast random colors)Selene ToyKeeper7-16/+14
(patch to aux-leds.c contributed by SammysHP as "acid" mode) (also removed RGB config for a few lights because they were just duplicating the defaults, and were redundant)
2020-09-14reorganized code in fsm-events.* to put things in a more coherent orderSelene ToyKeeper3-87/+95
(no functional changes, but it does change the order of some code in ROM, so the compiled md5sum is different now)
2020-09-14fixed bug: ticks_since_last_event wasn't getting reset on button hold releaseSelene ToyKeeper4-8/+9
The visible symptom was: Ramp up for 1s or longer, release, wait more than 1s, then hold again. It should ramp up, but it would ramp down instead. The clause for resetting ramp_direction wasn't happening, because the EV_tick counter started at a value higher than 1s where it would normally trigger. The underlying cause was a bit complicated. Recent changes in PCINT_inner() were causing ticks_since_last_event to get set to 0 (at push_event()) and then back to its previous value (at emit_current_event()). The EV_tick counter would then start at whatever the button release event used. The fix involved removing the part of emit_current_event() where it would set ticks_since_last_event to "arg". That line was a very old bug which simply hadn't caused any visible issues until recently. Instead, it needs to set ticks_since_last_event more carefully, at other locations. Specifically, it resets to 0 now in empty_event_sequence() and one more location in the deferred WDT handler (when HOLD_TIMEOUT triggers). Additionally, push_event() was only ever used from PCINT_inner()... so I moved the tick reset logic to PCINT_inner() instead. This allows us to decrease size by about 10 bytes, since PCINT_inner() no longer needs to copy the counter before it gets reset. However, it also means push_event() should never be called from any other function.
2020-09-14fixed bug: ramp 2H at floor went up instead of staying at floorSelene ToyKeeper1-3/+3
(thanks to SammysHP for suggesting this fix)
2020-08-31added model numbers to each build target, and to version check functionSelene ToyKeeper39-2/+79
2020-08-31reduced size 18 bytes by removing unnecessary duplications of blink_once()Selene ToyKeeper2-5/+1
2020-08-31removed blink_confirm() because it's not used any moreSelene ToyKeeper2-2/+12
(only commented out though, for now)
2020-08-31removed unnecessary blink_once calls, made blink_once a bit less brightSelene ToyKeeper3-4/+1
2020-08-31made manual memory work when unlocking lightSelene ToyKeeper1-0/+5
2020-08-30steps.py: fixed python3 floating-point errorSelene ToyKeeper1-1/+1
(division of integers produces floats in python3, but not python2... so make int result explicit)
2020-08-25made text manual consistent with UI reference tableSelene ToyKeeper1-38/+54
2020-08-24set more sensible defaults for simple UI levelsSelene ToyKeeper1-2/+2
2020-08-24changed "Off 2H" to "ceil or turbo, based on simple UI active", andSelene ToyKeeper3-9/+18
changed "Full UI Ramp 2C" to "ceil or turbo, based on whether already ramped up or not"
2020-08-23attempt to fix laggy voltage readings right after waking, on FW3ASelene ToyKeeper4-11/+15
(with no sleep ticks, the voltage value never gets reset to the raw value, and instead only goes through the lowpass filter) (this fix is not yet tested... will test before uploading) (also carries a risk of messing up thermal values after being asleep, so that needs to be tested too)
2020-08-20raised ceiling levels for simple UI in each build targetSelene ToyKeeper27-26/+152
(the idea is "high but not crazy", or around 100% to 150% of thermally-sustainable level) ... and set the default steps to 5 instead of 3
2020-08-18made FF ROT66G2 and MF01-Mini build targets fit in 8192 bytes againSelene ToyKeeper2-2/+2
(they were slightly too big)
2020-08-18fixed auto-lock timings again, based on measurement averages of several lightsSelene ToyKeeper1-6/+6
(it turns out they're not very consistent)
2020-08-18fixed auto-lock timing, this time based on measurements of a D4v2 instead of ↵Selene ToyKeeper1-6/+6
just data sheets and math
2020-08-18fixed timing of auto-lock function, added SLEEP_TICKS_PER_MINUTE constantsSelene ToyKeeper2-1/+14
2020-08-18shuffled functions around to make 4C lockout and 3C battcheck againSelene ToyKeeper4-40/+62
- moved all battcheck to 3C - moved all lockout to 4C - moved all unlock to 4C/4H - moved manual mem from 4C/4H to 10C/10H - moved auto-lock from 5C/5H to 10C/10H - added ramp 4C -> lockout - added ramp 5C -> momentary - added lockout 5C -> ramp ceiling
2020-08-09remapped "Off -> 2H" to momentary ceilingSelene ToyKeeper2-4/+10
(instead of going to ceiling in ramp mode, and ramping down)
2020-08-06Added a reference table to the manual, listing all button mappingsSelene ToyKeeper1-0/+77
2020-08-06many button remappings:Selene ToyKeeper5-53/+98
- swapped lockout and battcheck - 3C/3H to exit lockout instead of 4C/4H - 4C/4H for manual mem instead of 5C/5H - 5C from ramp to momentary - 5H for sunset timer instead of 4H Also added tint ramping info to the manual.
2020-08-05documented new Anduril2 changes in anduril-manual.txtSelene ToyKeeper1-89/+218
2020-08-05changed sunset timer unit from 10m to 5mSelene ToyKeeper2-2/+2
2020-08-05moved Simple UI actions from 8C/8H -> 10C/10H... and removed ↵Selene ToyKeeper11-36/+4
USE_TENCLICK_THERMAL_CONFIG (the tenclick thermal thing isn't relevant ever since factory reset was added)
2020-08-05re-enabled voltage correction on D18 and ROT66G2, because it fits nowSelene ToyKeeper2-19/+1
(but removed aux LED support from D18, because the stock version has none)
2020-08-05organized config defaults, added some ramp options to default configSelene ToyKeeper3-18/+39
2020-08-05made lockout momentary always use lowest first, and use manual mem level on ↵Selene ToyKeeper2-18/+13
second click if enabled
2020-08-05added support for 1-step ramps in stepped ramp modeSelene ToyKeeper1-4/+11
(uses the midpoint between floor and ceiling)
2020-08-05made a couple actions use blink_once() instead of blip(), for better consistencySelene ToyKeeper2-3/+3
2020-08-05reduced rom 34 bytes by merging ramp-up code with ramp-down codeSelene ToyKeeper2-79/+10
(also removed USE_REVERSING option)
2020-08-05reduced ROM 10 bytes by cleaning up blink_confirm() callsSelene ToyKeeper6-19/+21