aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-03-26Noctigon KR4 needed tighter/faster thermal response, and Hank wants RGB ↵Selene ToyKeeper1-1/+3
rainbow to be default instead of voltage mode.
2020-03-26made thermal regulation use a smaller target window, and prioritize cooling moreSelene ToyKeeper1-3/+3
2020-03-21added dynamic underclocking to KR4 to increase moon runtime, fixed ramp ↵Selene ToyKeeper2-15/+11
milestone levels
2020-03-21fixed potential eeprom corruption after turning boost/opamp chip on/offSelene ToyKeeper1-0/+16
(some boost chips can make power unstable for a few ms, so we have to wait before accessing eeprom)
2020-03-20enabled soft factory reset on KR4, raised default floor to the lowest ↵Selene ToyKeeper2-2/+4
reliable level (moon level 1 flickers or doesn't work at all on some hardware)
2020-03-20added reboot() support for tiny1634Selene ToyKeeper1-8/+10
2020-03-16removed old thermal junk and voltage_lowpass junk from cfg filesSelene ToyKeeper3-29/+0
2020-03-16fixed calc_voltage_divider() (use 10-bit calibration values, not 8-bit)Selene ToyKeeper1-1/+1
2020-03-16fixed a few things in ramping-ui, rampingiosv3, and werner's UISelene ToyKeeper3-14/+13
(just copied a few updates from anduril, particularly regarding FSM's "temperature" variable)
2020-03-16merged some misc fixes from pakutrai, cleaned up comments, removed unused ↵Selene ToyKeeper15-87/+18
symbols
2020-03-16increased blink speed slightly, and added a library function to blink out ↵Selene ToyKeeper1-3/+25
16-bit numbers
2020-03-16added FETless KR4 build target, calibrated other KR4 therm faster level betterSelene ToyKeeper2-2/+47
2020-03-16deleted commented-out WDT code from previous revisionSelene ToyKeeper1-7/+0
(had only saved it so there would be a note in history about why it's gone)
2020-03-16cleaned up WDT ADC timer code slightly, and removed a bit of redundant codeSelene ToyKeeper1-6/+8
2020-03-16reduced regulation jitter by biasing errors toward zero by a constant amount,Selene ToyKeeper1-1/+14
which mostly impacts small errors (and reduces jitter during the flat phase of regulation) while leaving large errors pretty much unaffected... also, made acceptable thermal window smaller to make up for this new extra tolerance
2020-03-15the ADC sample count doesn't need to be 16-bit any more, and isn't really a ↵Selene ToyKeeper2-3/+4
count any more... ... just a boolean flag for whether this is the first sample or a later sample (so I changed it and reduced the ROM size by ~28 bytes)
2020-03-15removed dead comments and dead codeSelene ToyKeeper1-28/+2
2020-03-15replaced temperature_timer (which wasn't even being used) with a variable ↵Selene ToyKeeper1-27/+43
delay between warnings, so large warnings can remain frequent while small warnings are separated by more time, based on a cumulative error counter which must pass a threshold before the next warning is sent (this is producing good test results so far on D4v2 and D4Sv2)
2020-03-13tried to make thermal code a bit less twitchy...Selene ToyKeeper3-13/+19
it regulates really fast on D4, but once it's stable, the adjustments are too large
2020-03-06FET ramp was too steep; slowed it down by 50% (20 steps -> 30 steps)Selene ToyKeeper1-11/+10
2020-03-06KR4: added FET channel, measured output, calibrated rampSelene ToyKeeper1-2/+10
2020-03-05initial support for Noctigon KR4Selene ToyKeeper3-0/+76
(not complete, but far enough that it installs and runs) New hardware support features: - allow using PCINT other than 0 (PCINT1, PCINT2, etc) - option to ignore voltage ADC while the button is pressed (because my prototype shorts the voltage divider to 0 while the button is down)
2020-02-28went back to continuous lowpass because it had the best noise reductionSelene ToyKeeper2-52/+74
(also, now treating smoothed ADC values as 11-bit, with the lowest 5 bits chopped off to eliminate noise)
2020-02-05brute force method for reducing ADC noise -- average a ridiculous number of ↵Selene ToyKeeper2-20/+14
samples (because, for some reason, even though 64 samples is plenty in a test program, it ends up being extremely erratic when used inside Anduril... and I'm not sure why) also, use 15-bit ADC values instead of 16 bits, in the temperature logic (to help protect against integer overflows) ... but this code still doesn't work well. It regulates down *very* fast, and then gradually rises until the next extra-fast drop-down. :( ... also, tempcheck mode sometimes changes by 4-5 C between readouts, which is worrisome. ... and factory reset is still broken.
2020-02-05still doesn't work, but at least it's a bit less broken than before...Selene ToyKeeper1-8/+12
(ceiling value was all wrong, and the response magnitude was way too big) (also, temperatures here are unsigned, since freezing is about 270 in ADC units)
2020-02-05first pass at a smaller simpler thermal regulation algorithm...Selene ToyKeeper1-75/+52
... doesn't work well, but I'm saving it so I can experiment with other methods and maybe revert back later.
2020-02-05replaced Anduril's gradual adjustment speed code with a smaller simpler versionSelene ToyKeeper1-43/+17
2020-02-03mention the maximum allowed temperature in the manualSelene ToyKeeper1-1/+1
2020-01-30saving state of ADC / WDT refactoring before doing more changes... what ↵Selene ToyKeeper5-76/+59
changed so far: - removed LVP lowpass and thermal regulation lowpass logic; it's probably redundant now - slowed ADC deferred logic timing to 4X per second instead of 16X, because there doesn't seem to be much reason to do it any faster - reduced thermal event rate-limit to just 1 second, for more responsive regulation - added "EV_temperature_okay" signal, to help stop adjustments at an appropriate time instead of going to far - sped up sleep LVP to one measurement every 8 seconds instead of 16, to help the aux LEDs respond to voltage changes faster (effect on standby time is negligible) - make sure the WDT doesn't set the ADC channel or counter... except in standby mode
2020-01-30switched to a pseudo-rolling-average method to reduce noise, set prescaler ↵Selene ToyKeeper1-8/+13
back to 64
2020-01-29increased effective ADC resolution by switching from continuous-lowpass to ↵Selene ToyKeeper1-64/+43
sum-of-discrete-window method
2020-01-29remove truncation noise by adding 0.5 to each resultSelene ToyKeeper1-24/+22
(keeps stable values within ~0.46 to ~0.54 range, so truncated result has no noise)
2020-01-29rewrote ADC code to use a continuous lowpass system on all measurements, to ↵Selene ToyKeeper5-130/+194
eliminate noise and maybe increase precision (thermal code still needs to be rewritten though)
2019-12-17fixed too-slow thermal response (was introduced in the irq-refactor branch)Selene ToyKeeper1-5/+8
2019-12-11added support for Fireflies ROT66 G2 and PL47 G2Selene ToyKeeper2-0/+109
2019-12-04added a compile-time flag to enable/disable momentary mode (suggested by Agro)Selene ToyKeeper1-1/+18
2019-12-04fixed compile errors to handle a couple USE_ flags better:Selene ToyKeeper1-2/+8
- beacon mode off (suggested by Agro) - tenclick shortcut on with thermal regulation off
2019-12-03added a FW3A build with the FET turned off completelySelene ToyKeeper1-0/+36
2019-12-03adjusted lantern tint ramping power correction again, based on measurements ↵Selene ToyKeeper1-1/+1
of the previous attempt
2019-11-29adjusted BLF Lantern (Sofirn LT1) tint ramping power correction factor to ↵Selene ToyKeeper2-1/+8
match production units (also made the factor configurable per build target)
2019-11-28changed voltage colors to better match Noctigon K1Selene ToyKeeper2-5/+5
2019-11-25renamed Emisar D1S V2 -> Noctigon K1Selene ToyKeeper1-3/+4
2019-11-25increased Noctigon K1's default temperature limit to 55 CSelene ToyKeeper1-0/+4
2019-11-25calibrated Noctigon K1, changed voltage divider calibration values to 10-bit ↵Selene ToyKeeper1-1/+1
(was 8-bit before)
2019-11-24enabled muggle mode again in all build targets, since it fits nowSelene ToyKeeper4-23/+0
2019-11-20made the button LED turn off in momentary mode, instead of staying on foreverSelene ToyKeeper1-2/+7
2019-11-20fixed unintentional wakeup right after going to sleepSelene ToyKeeper1-2/+2
(by enabling the PCINT slightly sooner, before setting its "handled" flag)
2019-11-19Mateminco MF01S can fit muggle mode again, barelySelene ToyKeeper1-3/+3
2019-11-19reduced build size by a few bytesSelene ToyKeeper2-3/+3
2019-11-19the Q8 can just barely fit muggle mode againSelene ToyKeeper1-3/+3