aboutsummaryrefslogtreecommitdiff
path: root/hw/hank/noctigon-k9.3/cfg.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-11-03renamed cfg.h -> anduril.h so each UI can have its own cfg (part 1)Selene ToyKeeper1-111/+0
(still need to update file contents afterward, but doing it in a separate commit so git can detect renames easier)
2023-11-02got things to compile again, renamed #includesSelene ToyKeeper1-2/+2
(also modified the build scripts to work with the new file structure)
2023-11-02reorganized project files (part 1)Selene ToyKeeper1-0/+0
(just moved files, didn't change the contents yet, and nothing will work without updating #includes and build scripts and stuff)
2023-08-07calculated new ramps for noctigon-k9.3 and emisar-2ch-fet builds,Selene ToyKeeper1-16/+16
with the regulated-to-direct-drive boundary at a more appropriate spot
2023-08-03converted all K9.3 builds and D4Sv2-tintramp-fet (now emisar-2ch-fet)Selene ToyKeeper1-41/+66
to multi-channel, and removed old K9.3 builds which aren't relevant any more, and old D4Sv2-tintramp builds
2023-04-25fixed bug behind K93_LOCKOUT_KLUDGE which could exit lockout in solid aux modeSelene ToyKeeper1-3/+0
(also reduced avg standby power by about 15 uA) (also fixed oscillating voltage mode colors, I think) The bug happened because sometimes sleep LVP would get triggered, because the ADC would read zero under some conditions. This in turn happened because the ADC needs the MCU to be at least partially awake in order to finish a measurement. So in standby mode, with the MCU only waking up very briefly to send a sleep tick and go back to sleep, the ADC required several cycles (like 375ms to 625ms) to finish a single measurement. This varied depending on how many instructions the MCU executed while it was awake. In the single-color mode, so few instructions were being executed that the ADC seemed to time out and abort its measurement, returning a zero. Then a low voltage warning was sent, which knocked the light back into "Off" mode. Adding no-op instructions inside the single-color clause was sufficient to prevent the ADC from timing out, because it kept the MCU awake just barely long enough. But it was a kludge, and it still took like half a second to finish a measurement, and the measurements were noisy. It also used more power, because it required keeping the ADC powered on far too long. This fix puts the MCU into "ADC Noise Reduction" mode instead, when a voltage measurement is needed during sleep. It reduces noise to make measurements more stable... but more importantly, it lets the measurement finish in like 0.5ms instead of 500ms. So it uses less power and isn't dependent on the number of calculations the MCU does during each "sleep tick". As a bonus, this can also measure voltage much more often, while still using less total energy than before. It was once every 8 seconds, and now it's once per second. Avg power use in aux low mode, on a D4Sv2: (avg of 30k samples each) - before: 101 uA - after: 86 uA
2023-04-17switched the rest of FSM + Anduril to use SPDX license headersSelene ToyKeeper1-0/+4
instead of full GPL headers (or all too often, nothing at all) There are a few "FIXME" entries where I'm not sure about the correct copyright.
2021-04-14aux LED config cleaning...Selene ToyKeeper1-4/+0
- use fancy blinking mode by default (define USE_OLD_BLINKING_INDICATOR if old slow mode is wanted) - remove TICK_DURING_STANDBY from all cfg-*.h files because it's enabled automatically by other features anyway (autolock, memory timer) - remove STANDBY_TICK_SPEED from cfg-*.h because all the values matched the default anyway so it was redundant - set rot66 button LED to high+blinking instead of high+off (it was only "off" because it ran out of space, and that was resolved) - enabled fancier indicator by default on fireflies-ui and rampingiosv3, since its other #define clauses were removed (not sure if those older UIs still compile, but if so, it's worth at least trying not to break it)
2021-04-13config updates for Hank (Emisar / Noctigon):Selene ToyKeeper1-1/+1
- use cycling rainbow mode by default on lights with RGB LEDs (instead of voltage, because it's better for impressing new users) - use 2C turbo instead of 2C ceiling (Anduril 1 style instead of Anduril 2 style) also some other minor housekeeping... - make all K1 models use consistent rainbow cycling speed - enable auto-lock and manual memory timer on Emisar D1v2 - remove redundant RGB config on Lume1 (it had incorrect comments anyway)
2021-01-25bug pseudo-fix: K9.3 lockout mode failed in blinking single-color modeSelene ToyKeeper1-0/+3
because of what appears to be compiler jank or a race condition or some other highly unusual issue (fixed by eating up extra clock cycles in the affected code path)
2020-12-13noctigon k9.3: default to aux RGB rainbow mode, and automatic memorySelene ToyKeeper1-2/+3
2020-10-22enabled memory timer and resetting tint after timeout on K9.3Selene ToyKeeper1-0/+4
(unsure if I'll keep it this way though, or if the old way was better)
2020-10-16added K9.3-noFET build target (for models with E21A as main LEDs)Selene ToyKeeper1-1/+1
2020-10-15made gradual_tick() work on K9.3 (via override), fixed strobe config,Selene ToyKeeper1-2/+6
made blink_once() more configurable (and more reliable on K9.3)
2020-10-14got K9.3 2nd LEDs working (and modified FSM to allow this sort of thing)Selene ToyKeeper1-0/+11
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
2020-10-14configured K9.3 cfg (mostly), assigned a model number, fixed typo in hwdefSelene ToyKeeper1-16/+17
(main LEDs work now; 2nd LEDs not yet) (aux and button LEDs work too, plus switch)
2020-10-14copied KR4 cfg to K9.3 cfgSelene ToyKeeper1-0/+0
2020-09-14added "disco" mode to RGB aux LEDs (fast random colors)Selene ToyKeeper1-3/+0
(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-08-31added model numbers to each build target, and to version check functionSelene ToyKeeper1-0/+1
2020-08-20raised ceiling levels for simple UI in each build targetSelene ToyKeeper1-1/+3
(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-05moved Simple UI actions from 8C/8H -> 10C/10H... and removed ↵Selene ToyKeeper1-3/+0
USE_TENCLICK_THERMAL_CONFIG (the tenclick thermal thing isn't relevant ever since factory reset was added)
2020-07-14merged Emisar D4v2.5 build targets with Noctigon KR4 build targetsSelene ToyKeeper1-3/+13
(because they're close enough that they can use the same code)
2020-07-12cleaned up s/ceiling/ceil/ and s/muggle_/simple_ui_/ in config filesSelene ToyKeeper1-4/+4
2020-04-27set default thermal response magnitude back to how it was before the KR4 ↵Selene ToyKeeper1-1/+2
updates, because it worked well on many hosts before...
2020-04-19added tweakable thermal_response_magnitude option, adjusted KR4 thermal ↵Selene ToyKeeper1-2/+2
vars, made KR4 rainbow mode faster
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-21added dynamic underclocking to KR4 to increase moon runtime, fixed ramp ↵Selene ToyKeeper1-13/+5
milestone levels
2020-03-20enabled soft factory reset on KR4, raised default floor to the lowest ↵Selene ToyKeeper1-1/+3
reliable level (moon level 1 flickers or doesn't work at all on some hardware)
2020-03-16removed old thermal junk and voltage_lowpass junk from cfg filesSelene ToyKeeper1-12/+0
2020-03-16added FETless KR4 build target, calibrated other KR4 therm faster level betterSelene ToyKeeper1-2/+2
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 ToyKeeper1-11/+6
(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)
2019-11-28changed voltage colors to better match Noctigon K1Selene ToyKeeper1-1/+1
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-08-06measured and adjusted D1S v2 ramp parametersSelene ToyKeeper1-2/+6
2019-08-05fixed party strobe on D1S v2, set better default aux LED modes, enabled aux ↵Selene ToyKeeper1-1/+7
LEDs in blinky modes, fixed user feedback when changing aux LED mode, refactored voltage-to-auxled-color code
2019-07-30added an early version of Emisar D1S v2 hwdef and cfg filesSelene ToyKeeper1-0/+51
(it compiles, but most likely doesn't actually work because it's far from finished)