aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster (unfollow)
Commit message (Collapse)AuthorFilesLines
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
2020-08-01fixed bug: main LEDs stayed on while setting aux LED color in lockout modeSelene ToyKeeper1-1/+1
2020-07-31removed cfg-*.THIS, added by accident a while ago... oopsSelene ToyKeeper2-118/+0
2020-07-313 build targets were too big... fixed by turning off voltage calibration ↵Selene ToyKeeper3-1/+10
mode on those.
2020-07-31Block the auto-lock function in Simple UI.Selene ToyKeeper1-3/+9
2020-07-31Block the sunset timer in Simple UI.Selene ToyKeeper1-0/+5
2020-07-31made Emisar D18 build fit in ROM again (it was 6 bytes over; now it's 8 ↵Selene ToyKeeper1-1/+1
bytes under)
2020-07-31made simple UI's ramp configurable, and fixed bug where it wouldn't remember ↵Selene ToyKeeper3-8/+23
if simple UI was enabled
2020-07-31added a voltage calibration / correction function, 7C from battcheck to ↵Selene ToyKeeper7-2/+64
configure
2020-07-31fixed bug: sunset timer didn't adjust MCU clock speed at low levels,Selene ToyKeeper2-3/+6
so the moon level was way too dim and used too much power also fixed some sunset timer comments
2020-07-31added auto-lock function, mostly contributed by SammysHPSelene ToyKeeper9-5/+104
(5C in lockout mode to configure it, 5H to turn it off, similar to UI for manual memory)
2020-07-30made ramping "bump" the sunset timer up a little if it's near the deadlineSelene ToyKeeper2-3/+11
2020-07-30fixed bug: 4H from lockout to ramp would immediately activate the sunset timerSelene ToyKeeper1-0/+3
2020-07-30fixed bug: ramp mode acted strange if ramp level was changed after turning ↵Selene ToyKeeper1-0/+13
on sunset timer (it kept trying to adjust based on the original brightness, instead of the new brightness)
2020-07-30fixed bug where light would shut itself off immediately if sunset timer was ↵Selene ToyKeeper1-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)
2020-07-30moved sunset bump from 3C to 4H, fixed candle sunset behavior (was ↵Selene ToyKeeper2-25/+28
overflowing / wrapping around)
2020-07-30replaced "goodnight / sunset mode" with sunset timer, which works in both ↵Selene ToyKeeper8-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)
2020-07-30reduced ROM another 12+6 bytes with more non-volatile varsSelene ToyKeeper2-3/+3
(because they don't need to be volatile any more)