aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* reorganized code in fsm-events.* to put things in a more coherent orderSelene ToyKeeper2020-09-143-87/+95
| | | | | | (no functional changes, but it does change the order of some code in ROM, so the compiled md5sum is different now)
* fixed bug: ticks_since_last_event wasn't getting reset on button hold releaseSelene ToyKeeper2020-09-144-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.
* fixed bug: ramp 2H at floor went up instead of staying at floorSelene ToyKeeper2020-09-141-3/+3
| | | | | (thanks to SammysHP for suggesting this fix)
* added model numbers to each build target, and to version check functionSelene ToyKeeper2020-08-3139-2/+79
|
* reduced size 18 bytes by removing unnecessary duplications of blink_once()Selene ToyKeeper2020-08-312-5/+1
|
* removed blink_confirm() because it's not used any moreSelene ToyKeeper2020-08-312-2/+12
| | | | | (only commented out though, for now)
* removed unnecessary blink_once calls, made blink_once a bit less brightSelene ToyKeeper2020-08-313-4/+1
|
* made manual memory work when unlocking lightSelene ToyKeeper2020-08-311-0/+5
|
* made text manual consistent with UI reference tableSelene ToyKeeper2020-08-251-38/+54
|
* set more sensible defaults for simple UI levelsSelene ToyKeeper2020-08-241-2/+2
|
* changed "Off 2H" to "ceil or turbo, based on simple UI active", andSelene ToyKeeper2020-08-243-9/+18
| | | | | changed "Full UI Ramp 2C" to "ceil or turbo, based on whether already ramped up or not"
* raised ceiling levels for simple UI in each build targetSelene ToyKeeper2020-08-2027-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
* made FF ROT66G2 and MF01-Mini build targets fit in 8192 bytes againSelene ToyKeeper2020-08-182-2/+2
| | | | | (they were slightly too big)
* fixed auto-lock timings again, based on measurement averages of several lightsSelene ToyKeeper2020-08-181-6/+6
| | | | | (it turns out they're not very consistent)
* fixed auto-lock timing, this time based on measurements of a D4v2 instead of ↵Selene ToyKeeper2020-08-181-6/+6
| | | | just data sheets and math
* fixed timing of auto-lock function, added SLEEP_TICKS_PER_MINUTE constantsSelene ToyKeeper2020-08-182-1/+14
|
* shuffled functions around to make 4C lockout and 3C battcheck againSelene ToyKeeper2020-08-184-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
* remapped "Off -> 2H" to momentary ceilingSelene ToyKeeper2020-08-092-4/+10
| | | | | (instead of going to ceiling in ramp mode, and ramping down)
* Added a reference table to the manual, listing all button mappingsSelene ToyKeeper2020-08-061-0/+77
|
* many button remappings:Selene ToyKeeper2020-08-065-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.
* documented new Anduril2 changes in anduril-manual.txtSelene ToyKeeper2020-08-051-89/+218
|
* changed sunset timer unit from 10m to 5mSelene ToyKeeper2020-08-052-2/+2
|
* moved Simple UI actions from 8C/8H -> 10C/10H... and removed ↵Selene ToyKeeper2020-08-0511-36/+4
| | | | | | | USE_TENCLICK_THERMAL_CONFIG (the tenclick thermal thing isn't relevant ever since factory reset was added)
* re-enabled voltage correction on D18 and ROT66G2, because it fits nowSelene ToyKeeper2020-08-052-19/+1
| | | | | (but removed aux LED support from D18, because the stock version has none)
* organized config defaults, added some ramp options to default configSelene ToyKeeper2020-08-053-18/+39
|
* made lockout momentary always use lowest first, and use manual mem level on ↵Selene ToyKeeper2020-08-052-18/+13
| | | | second click if enabled
* added support for 1-step ramps in stepped ramp modeSelene ToyKeeper2020-08-051-4/+11
| | | | | (uses the midpoint between floor and ceiling)
* made a couple actions use blink_once() instead of blip(), for better consistencySelene ToyKeeper2020-08-052-3/+3
|
* reduced rom 34 bytes by merging ramp-up code with ramp-down codeSelene ToyKeeper2020-08-052-79/+10
| | | | | (also removed USE_REVERSING option)
* reduced ROM 10 bytes by cleaning up blink_confirm() callsSelene ToyKeeper2020-08-056-19/+21
|
* fixed bug: main LEDs stayed on while setting aux LED color in lockout modeSelene ToyKeeper2020-08-011-1/+1
|
* removed cfg-*.THIS, added by accident a while ago... oopsSelene ToyKeeper2020-07-312-118/+0
|
* 3 build targets were too big... fixed by turning off voltage calibration ↵Selene ToyKeeper2020-07-313-1/+10
| | | | mode on those.
* Block the auto-lock function in Simple UI.Selene ToyKeeper2020-07-311-3/+9
|
* Block the sunset timer in Simple UI.Selene ToyKeeper2020-07-311-0/+5
|
* made Emisar D18 build fit in ROM again (it was 6 bytes over; now it's 8 ↵Selene ToyKeeper2020-07-311-1/+1
| | | | bytes under)
* made simple UI's ramp configurable, and fixed bug where it wouldn't remember ↵Selene ToyKeeper2020-07-313-8/+23
| | | | if simple UI was enabled
* added a voltage calibration / correction function, 7C from battcheck to ↵Selene ToyKeeper2020-07-317-2/+64
| | | | configure
* fixed bug: sunset timer didn't adjust MCU clock speed at low levels,Selene ToyKeeper2020-07-312-3/+6
| | | | | so the moon level was way too dim and used too much power also fixed some sunset timer comments
* added auto-lock function, mostly contributed by SammysHPSelene ToyKeeper2020-07-319-5/+104
| | | | | | (5C in lockout mode to configure it, 5H to turn it off, similar to UI for manual memory)
* made ramping "bump" the sunset timer up a little if it's near the deadlineSelene ToyKeeper2020-07-302-3/+11
|
* fixed bug: 4H from lockout to ramp would immediately activate the sunset timerSelene ToyKeeper2020-07-301-0/+3
|
* fixed bug: ramp mode acted strange if ramp level was changed after turning ↵Selene ToyKeeper2020-07-301-0/+13
| | | | | | | on sunset timer (it kept trying to adjust based on the original brightness, instead of the new brightness)
* fixed bug where light would shut itself off immediately if sunset timer was ↵Selene ToyKeeper2020-07-301-0/+7
| | | | | | | | aborted and then light was turned back on (turn light on, enable sunset timer, turn light off, turn light back on... it would then turn itself off immediately, but it shouldn't)
* moved sunset bump from 3C to 4H, fixed candle sunset behavior (was ↵Selene ToyKeeper2020-07-302-25/+28
| | | | overflowing / wrapping around)
* replaced "goodnight / sunset mode" with sunset timer, which works in both ↵Selene ToyKeeper2020-07-308-130/+155
| | | | | | | | candle mode and regular ramp mode (not finished, but wanted to check in the code before continuing) (still needs the button mappings adjusted to avoid collision with 3C for change-ramp-style)
* reduced ROM another 12+6 bytes with more non-volatile varsSelene ToyKeeper2020-07-302-3/+3
| | | | | (because they don't need to be volatile any more)
* reduced ROM size 56 bytes by making actual_level non-volatileSelene ToyKeeper2020-07-291-1/+1
| | | | | (seems unnecessary now; doesn't change in the middle of an event handler any more)
* reduced ROM 42 bytes by making "emissions" non-volatileSelene ToyKeeper2020-07-291-1/+3
| | | | | (doesn't seem to be needed any more, ever since the IRQ rewrite a few months ago)
* reduced ROM size slightly by making strobe vars non-volatileSelene ToyKeeper2020-07-284-10/+8
| | | | | (they didn't need to be; it was just wasting bytes)