aboutsummaryrefslogtreecommitdiff
path: root/hw/hank/emisar-2ch/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-103/+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-03converted all K9.3 builds and D4Sv2-tintramp-fet (now emisar-2ch-fet)Selene ToyKeeper1-16/+14
to multi-channel, and removed old K9.3 builds which aren't relevant any more, and old D4Sv2-tintramp builds
2023-07-16fixed d4v2, kr4, m44, emisar-2ch (using new refactor),Selene ToyKeeper1-1/+3
added RGB aux channel modes to models which didn't have it
2023-07-10refactored how channel modes are defined, and converted emisar-2ch buildSelene ToyKeeper1-0/+3
2023-04-29Noctigon KR4: updated to use new channel systemSelene ToyKeeper1-12/+0
(also tweaked D4v2 build to match KR4 as much as possible) (also added Extended Simple UI to Hank's config)
2023-04-26change channel mode per config step in channel mode menuSelene ToyKeeper1-0/+1
(to show which channel mode is being edited) also, avoid setting channel mode again if it's not going to change (this prevents unnecessary flickering)
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-25updated D4Sv2-tintramp -> Emisar 2-channel build target ...Selene ToyKeeper1-0/+114
... and reworked how gradual_tick() works ... and updated LT1S Pro to use new method