| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
| |
Fixed clock speed related brightness glitch when turning on at moon mode.
|
| | |
|
| |
|
|
|
| |
(from 24.7 uA to 0.35 uA)
|
| |
|
|
|
|
|
|
|
| |
low modes.
Adjusted default FET+1 ramp to compensate for speed bump.
Added define(s) for whether to blink at ramp floor/ceiling/channel edges.
Lowered default moon level to 1, since slower speed makes it brighter and more stable.
|
| |
|
|
|
| |
Reduced ROM size slightly by avoiding repeated access to the volatile current_state var.
|
| | |
|
| |
|
|
|
|
|
|
| |
regular functions.
(PWM, ADC, WDT all still enabled; only useful in moon mode)
Changed default ceilings in Anduril FW3A config.
|
| |
|
|
|
| |
It's in other parts of the repo, but it should be in the FSM dir too.
|
| |
|
|
| |
I touched the docs.
|
| | |
|
| |
|
|
|
|
|
| |
not really working yet.
Needs some underlying plumbing changes first, adding support for medium-length clicks.
|
| |
|
|
|
|
| |
My lights seemed to measure just a bit low, so hopefully this will help.
It bumps up reported values by 0.05V.
|
| |
|
|
|
|
| |
Made lightning storm mode look a bit more like real lightning.
Minor refactoring on how single-option config modes save state.
|
| |
|
|
|
|
|
|
|
|
| |
It was off by one, and caused actual_level to be off by one,
which caused other parts of the code to do weird things...
- end-of-ramp blink would happen repeatedly.
- ramping up went slower (or not at all, with gradual_tick on each tick)
- would sometimes trigger underheating code at moon level,
and then glide up to the minimum regulation floor
|
| | |
|
| |
|
|
|
| |
Moved momentary mode from 6 clicks to 5 clicks.
|
| |
|
|
|
|
| |
It was bouncing before, and now it's not.
(cut response magnitude in half, increased width of null zone)
|
| |
|
|
|
|
|
|
|
|
|
| |
state, and slightly smaller.
Added a bit of overflow protection since I think I saw it overflow with the prediction weight increased.
Uses immediate temperature (instead of avg) for lowpass reset, to make it less noisy at stable state.
(more trigger-happy reset switch biases it toward inaction)
Avoid using volatile var, to reduce space.
Overflow prevention also caps the maximum adjustment step, which should slightly help prevent overshooting the target.
|
| |
|
|
|
| |
Decreased gradual adjustment speed again to make thermal regulation less stair-stepped.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now actually works on turbo (was previously emitting "temp low" instead of "temp high" while in direct-drive, probably due to an overflow).
Made stepdown work based on an average of the last few temperature predictions instead of just the most recent one. (reduced noise sensitivity)
Made each temperature sample based on 8 measurements instead of 4, to reduce noise.
Made standby mode re-init thermal measurement arrays, to avoid weird behavior next time light is used.
Reduced fixed-point precision to avoid overflows.
Reduced prediction strength to encourage stepping down faster while hot.
(unfortunately also steps down later, I think, if it wasn't already hot)
Not totally happy with new algorithm, but it's the least crappy of a whole bunch of things I tried.
(for example, a PID approach with correction based mostly on I... didn't work very well)
(taking an average of the last few predictions is very similar though, and works)
(but the result is still kind of meh)
Saving this so I'll have a functional base next time I try to improve it.
|
| |
|
|
|
|
|
|
|
|
|
| |
adjustments less noticeable.
Added set_level_gradually() and gradual_tick() to ramping lib.
Not terribly happy with it yet, but it at least works in practice.
Added extra thermal regulation checks because I was running into stupid behavior in edge cases.
Increased lowest thermal stepdown level to MAX_LEVEL/3 because it was going down way too low before.
(is still pretty low, but not quite as bad)
|
| | |
|
| |
|
|
|
| |
Made LVP step down in smaller steps.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Not sure I got everything the same; will have to try UI2 on my actual Meteor to see how it works.
|
| |
|
|
|
|
|
| |
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?
|
| | |
|
| |
|
|
|
| |
Basically, took out the party strobe and added a lockout mode instead.
|
| |
|
|
|
|
| |
Made momentary.c compile again.
Updated fsm-main to use whichever delay function is available.
|
| | |
|
| |
|
|
|
| |
(was sometimes having difficulty getting out of soft lockout mode)
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
(need to leave room for a trailing 0 in the array, oops)
|
| |
|
|
| |
or not.
|
| |
|
|
|
| |
Renamed ramp_config_mode to ramp_config_state.
|
| | |
|
| |
|
|
|
|
|
| |
after connecting power.
(spurious events were detected at boot, and previously had to time out before it would respond)
|
| | |
|
| | |
|
| |
|
|
|
| |
UI idea updates.
|
| | |
|
| |
|
|
|
| |
(this makes the newly-configurable moon mode able to work on pretty much any hardware)
|
| |
|
|
|
|
|
| |
Also, set new defaults for ramping:
- ~50% power maximum
- 0.3 lm min for smooth ramping, 10 lm min for discrete ramping
|
| |
|
|
|
|
| |
Added delays around each step.
Fixed wrong number of blinks for each option.
|
| |
|
|
|
|
| |
Added EV_reenter_state event to indicate an obscuring state was popped off the stack
and the underlying one is now on top again.
|