| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
| |
made blink_once() more configurable (and more reliable on K9.3)
|
| |
|
|
|
|
|
|
| |
added a way to include per-model code overrides
added an override mechanism for logic inside set_level()
wrote K9.3's set_level() function
added TINT_RAMP_TOGGLE_ONLY mode for tint ramping
|
| |
|
|
|
|
| |
(main LEDs work now; 2nd LEDs not yet)
(aux and button LEDs work too, plus switch)
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
seconds after releasing button
|
| |\ |
|
| | |
| |
| |
| | |
boost circuit
|
| | |
| |
| |
| |
| | |
(committed despite being tiny, so I can do a merge in a moment)
|
| | |
| |
| |
| | |
more
|
| | |
| |
| |
| |
| |
| |
| | |
patch by SammysHP and Grumsel:
https://gist.github.com/SammysHP/48347a770995921444a6e91b187cb55b
http://budgetlightforum.com/comment/1699350#comment-1699350
|
| | |
| |
| |
| |
| |
| | |
patch is from SammysHP:
https://gist.github.com/SammysHP/48347a770995921444a6e91b187cb55b
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(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
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
(also reduced ROM size by 126 bytes)
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| | |
(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)
|
| |\|
| |
| |
| |
| | |
(and other build targets which don't use sleep ticks during standby)
|
| | |
| |
| |
| |
| | |
(division of integers produces floats in python3, but not python2... so make int result explicit)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
(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)
|
| | |
| |
| |
| |
| |
| | |
(no functional changes, but it does change the order of some code in ROM,
so the compiled md5sum is different now)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| | |
(thanks to SammysHP for suggesting this fix)
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
(only commented out though, for now)
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
changed "Full UI Ramp 2C" to "ceil or turbo, based on whether already ramped up or not"
|
| | |
| |
| |
| |
| |
| | |
(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
|
| | |
| |
| |
| |
| | |
(they were slightly too big)
|
| | |
| |
| |
| |
| | |
(it turns out they're not very consistent)
|
| | |
| |
| |
| | |
just data sheets and math
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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
|
| | |
| |
| |
| |
| | |
(instead of going to ceiling in ramp mode, and ramping down)
|
| | | |
|