aboutsummaryrefslogtreecommitdiff
path: root/hw/hank/emisar-d4k-3ch/anduril.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2025-07-04made new settings apply to all button LEDs on lights bigger than 8K ROMSelene ToyKeeper1-1/+0
This replaces "USE_CONFIGURABLE_RGB_VOLTAGE_LEVELS" with "USE_AUX_THRESHOLD_CONFIG", which controls the brightness of button LEDs while the main LEDs are on, and during post-off voltage display. Same basic concept, but works on single-color LEDs too, and lets the user finally configure POVD thresholds. The code for this is a bit messy, but the aux LED code as a whole is pretty messy since it wasn't designed for the things it does now. The entire thing needs a refactor or rewrite someday. But not today. For now, this is just enough to make the pull request cover more use cases before merging into trunk. I've tested it on a variety of lights, but am not yet entirely comfortable with it. However, it worked on at least these: - 1-color button LED, no RGB - front RGB, 1-color button LED - front RGB, hardwired also to RGB button - RGB button, no other aux These may need extra changes, and may have extra config options which do nothing... - front RGB, no button LED - 1-color front aux, no button LED - no aux at all - attiny85 lights (some could theoretically support the new options, but none even try)
2024-04-02Add a feature to make RGB voltage configurableSiteRelEnby1-0/+1
Adds two entries to the battery voltage settings menu, the first isathreshold for switching aux to high, and the second sets a minimum level for it to be displayed, also effectively allowing the feature to be entirely disabled if not wanted.
2023-11-03moved ATTINY and MODEL_NUMBER into $target/arch and $target/model,Selene ToyKeeper1-2/+0
and updated other scripts and files accordingly
2023-11-03renamed cfg.h -> anduril.h inside source filesSelene ToyKeeper1-1/+1
2023-11-03renamed cfg.h -> anduril.h so each UI can have its own cfg (part 1)Selene ToyKeeper1-0/+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-10-27converted noctigon-m44 to use PWM+DSM instead of PWM+PFM (dynamic PWM)Selene ToyKeeper1-2/+2
(this gives better, smoother low modes and reduced flicker)
2023-10-13rewrote emisar-d4k-3ch to use delta-sigma modulation (PWM + DSM),Selene ToyKeeper1-20/+19
which gives much better resolution, especially for the 8-bit channel. Also... - set_channel_mode() aborts when going from/to the same channel, to avoid unnecessary flicker - hsv2rgb() uses 16-bit R/G/B and V now - changed default channel to All - reduced default channel modes to just A, B, C, and All - smooth ramp floor defaults to 1/150 - raised level when aux LEDs turn on high during use (for better compatibility with red main LEDs)
2023-09-22sofirn-lt1s-pro: allow configuring the blink channelSelene ToyKeeper1-1/+0
emisar-d4k-3ch: removed redundant #define
2023-08-26made bike strobe ontime configurable per build,Selene ToyKeeper1-0/+2
and made it longer on emisar-d4k-3ch because some channels don't flash fast enough
2023-08-25started splitting set_level(0) into its own set_level_zero(), andSelene ToyKeeper1-1/+1
made USE_AUX_RGB_LEDS_WHILE_ON work more like the old indicator LEDs, where it gets set automatically with set_level() Using set_level_zero() reduces space used by channel modes, and simplifies code for each mode's set_level_*() functions. I measured about 220 bytes less in the emisar-d4k-3ch build this way, while also reducing the chance of bugs.
2023-08-24added emisar-d4k-3ch buildSelene ToyKeeper1-0/+106