aboutsummaryrefslogtreecommitdiff
path: root/hw (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-04-02Add a feature to make RGB voltage configurableSiteRelEnby9-0/+9
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.
2024-03-29d3aa: fixed voltage calculation to use 0.02V units instead of 0.025VSelene ToyKeeper2-7/+5
2024-03-29d3aa weak battery test: blink 3x instead of 2x, and omit number readoutSelene ToyKeeper3-5/+18
2024-03-27increased voltage precision from 0.025V to 0.02VSelene ToyKeeper4-9/+9
(so 0 to 255 now goes from 0.00V to 5.10V)
2024-03-26weak battery detection: use different thresholds for AA and Li-IonSelene ToyKeeper2-12/+17
(also, fixed bug where a totally empty li-ion didn't get limited)
2024-03-26d3aa: got weak battery detection actually working,Selene ToyKeeper2-38/+53
and not letting the magic smoke out of updi adapters any more (probably) The alkaline detection might be a little too lenient though; it could potentially fail to activate limits when the cell is completely full or stronger than an average alkaline. One of my test cells measured at 72 / 75, so if it was just a little stronger it'd pass... but most alkalines I tried were in the 40 to 60 range and failed easily. OTOH, if I make it easier to fail, it's likely to trip on normal li-ion cells, and I don't want that. So as a future enhancement idea, maybe it should have a smaller sag threshold for AA and a larger threshold for li-ion. That would reduce false negatives for AA, while still preventing false positives for li-ion.
2024-03-25dammit, got alkaline detection half working and then my flashing adapter diedSelene ToyKeeper2-0/+73
(saving progress here so I can work on a different branch)
2024-03-11d3aa fine-tuning:Selene ToyKeeper3-46/+35
- new ramp - production style config defaults (simple mode, Hank config) - candle tuning - fixed way-too-fast thermal regulation (might still be a bit fast, but it's a lot better)
2024-03-04d3aa: fixed voltage measurementSelene ToyKeeper3-4/+5
2024-02-02thefreeman-avr32dd20-devkit: enable boost bypass at boot, so AA/NiMH can bootSelene ToyKeeper1-0/+1
2024-01-30avr32dd20-devkit: use unimplemented "CH" pin as a boost bypass controlSelene ToyKeeper2-2/+33
For 3V LEDs on a boost/buck dual fuel driver, this allows routing power around the boost converter in li-ion mode, to reduce resistance and increase maximum output. The AA/NiMH mode is unaffected, and boosts as normal.
2024-01-21Add Fireflies PL47G2-219 variant.jim-p2-0/+14
Same as PL47G2 but with FET PWM levels safe for 219 emitters. Same as difference between PL47 and PL47-219. PL47G2 base allows low mode for aux LEDs, PL47 does not.
2024-01-10added "emisar-2ch-fet-joined" build, for D4S w/ lighted switchSelene ToyKeeper5-0/+511
(it's an odd case with a 2 channel driver which only uses 1 set of LEDs)
2023-12-17documented FW3X swapped pins betterSelene ToyKeeper1-3/+7
2023-12-17documented Wurkkos TS25/TS11/FC13 distinctionsSelene ToyKeeper3-0/+38
2023-12-15use BLIP_LEVEL instead of 0 for "blip"sSelene ToyKeeper1-0/+1
This helps when using a regulator which doesn't like being turned off and back on quickly.
2023-12-10fw3x: reduced pulsing on low modesSelene ToyKeeper1-2/+2
2023-12-05d3aa: made it easy to switch between vddio2 and external voltage dividerSelene ToyKeeper2-9/+14
2023-12-03updated MODELS, bin/models.py, and hw/BRANDS...Selene ToyKeeper1-1/+5
- changed column order to (model, mcu, name) - changed column sizes (auto-sized w/ 2 spaces between columns) - made it handle hex digits in model numbers - reserved 1900 to 2199 for years only, not model numbers - noted gChart and thefreeman sharing a brand ID
2023-12-03fw3x: document how it ships with the wrong fuse values, and how to fix itSelene ToyKeeper1-0/+5
2023-11-30emisar-d3aa: new model number, since this is a new product lineSelene ToyKeeper1-1/+1
The 0144 model number is reserved for the successor to the Meteor M44. This is Hank's first AA light, so it's assigned as 0161: - 01: Emisar - 6: product line 6 - 1: model 1
2023-11-30added initial code for emisar-d3aa torchSelene ToyKeeper5-0/+450
2023-11-30sofirn-lt1s-pro: disable memory timer and extended simple UI by defaultSelene ToyKeeper1-3/+3
(users complained, and extended simple UI probably needs to be off by default in all factory builds anyway)
2023-11-30added a build target for FW3X with manually-fixed RGB aux wiringSelene ToyKeeper3-3/+21
2023-11-28fixed FW3X thermal regulationSelene ToyKeeper2-4/+7
It had no minimum thermal stepdown defined, so it used MAX_7135 by default, which was level 149/150 ... thus virtually no regulation. I also made it easier to switch between internal and external temperature sensors by just commenting out a few lines in the hwdef.h.
2023-11-28FW3X: fixed external temperature sensorSelene ToyKeeper2-7/+41
(the MCU's internal sensor works too, but external is a bit better I guess?)
2023-11-27FW3X: multiple upgrades...Selene ToyKeeper4-54/+132
- upgraded to DSM: lower lows, *much* smoother ramp - made lows more efficient with underclocking - fixed party strobe being too blurry - calibrated UI speed / bogomips multiplier - added readme to document this hardware's multiple quirks
2023-11-27fw3x: fixed swapped red+blue, fixed battery measurements, added police color ↵Selene ToyKeeper2-13/+29
strobe
2023-11-27fixed ADC on sp10-proSelene ToyKeeper1-2/+5
2023-11-27fixed ADC on attiny85 and related buildsSelene ToyKeeper3-4/+19
(also enabled smooth steps on BLF GT, but had to remove stuff to make room)
2023-11-27fixed ADC on attiny1634 and related buildsSelene ToyKeeper11-291/+49
2023-11-24more ADC / DAC / MCU progress...Selene ToyKeeper10-151/+96
- fixed t1616 Vref values getting clobbered sometimes, wrapped setting those in a #define'd function for ease and consistency - moved some DAC definitions from hw/ to arch/ to reduce repetition - fixed thefreeman's other builds - switched from PWM_TOPS to PWM2_LEVELS (I'm trying to phase out _TOPS)
2023-11-22avr32dd20-devkit: make the defaults a bit more dev friendlySelene ToyKeeper1-1/+5
(realtime voltage colors, and no simple UI by default)
2023-11-22ADC voltage: battcheck 3 digits, fixed t1616, switched back to 8-bit ↵Selene ToyKeeper4-22/+21
internal volt unit Before this branch, `voltage` was 6 bits: Volts * 10 A couple patches ago, I upgraded it to 16 bits: 65535 * Volts / 10.24 That costs too much extra ROM on attiny85 though, for extra precision it doesn't even use... so I switched back to an 8-bit value. It's still more precise than before though: Volts * 40 ... and battcheck displays an extra digit now, on devices with ROM for it. ... and battcheck waits a second to get a more accurate measurement before displaying the first value. It has *much* less variation between first and later readings now. Also: - got t1616 builds working again (tested fc13 and thefreeman-boost-fwaa) - upgraded t1616 voltage and temp to 12-bit (10 bits + 4x oversampling) - removed expensive temp conversion from t1616 ADC interrupt - recalibrated t1616 bogomips again; runs faster after interrupt fix - increased t1616 internal VDD measurement resolution by 36% (1.5V Vref, not 1.1V) - fixed sloppy setting of Vref bits I still need to test / update other t1616 builds, and fix all the t85 + t1634 code and build targets.
2023-11-21got ADC voltage+temp working on avrdd... but broke all other builds/MCUsSelene ToyKeeper2-3/+22
This patch changes the ADC code to use two internal standard units, and everything else must convert to these units: - FSM Volts: centiVolts << 6 (range 0 to 10.24 V per cell) - FSM Kelvin: Kelvin << 6 (range 0 to 1024 K) UI-level voltage is still "Volts * 10", and temperature is still Celsius. FSM expects functions to be provided, to convert from the hardware's raw ADC measurements to these internal units: `voltage_raw2cooked()` and `temp_raw2cooked()`. Defaults will be provided by arch/*.[ch] for each MCU type, or the hwdef can make its own. Anyway, gotta go fix all the other MCUs and builds now. :(
2023-11-19added *unfinished* support for avr32dd20, plus a build target for a dev kitSelene ToyKeeper5-0/+453
ADC doesn't work yet. No voltage, no temperature. I need to do a lot of refactoring on the ADC code. :(
2023-11-19thefreeman/boost*: define Vref values more explicitly without magic numbersSelene ToyKeeper4-18/+22
2023-11-19missed a "include -> HWDEF_H" conversion earlierSelene ToyKeeper1-1/+2
2023-11-10refactor checkpoint: splitting MCU-specific code into arch/$MCU.[ch]Selene ToyKeeper36-128/+54
Phew, that's a lot of changes! And there's still a lot more to do...
2023-11-05fixed intentional error, because CI build-fail test worked correctlySelene ToyKeeper1-1/+1
2023-11-05help CI detect build failuresSelene ToyKeeper1-1/+1
made 'make' and 'build-all.sh' exit with an error on fail, so CI can hopefully detect it... and added an intentional source bug to make it fail for testing purposes
2023-11-04added missing noctigon-k9.3 files hidden by an overzealous .gitignore ruleSelene ToyKeeper4-0/+4
2023-11-04@hank-*-boost: reduced ripple on low modesSelene ToyKeeper2-4/+8
by raising MCU clock speed to half at levels 2+ instead of the previous value of 1/4th speed I tried full speed too, which makes ripple much smaller and faster... but it also causes a big jump in brightness between levels 1 and 2. My lux meter shows ~350 at 1/150 or ~500 at 2/150, but at half speed it's ~650 at 2/150, and at full speed it's ~1100 at 2/150. So I went for a happy medium to balance ripple, brightness, and runtime.
2023-11-04@hank-*-boost: fixed flicker while holding button at moonSelene ToyKeeper1-0/+2
@hank-noctigon-kr4-boost, @hank-noctigon-k1-boost, @hank-noctigon-dm11-boost (0216, 0253, 0273)
2023-11-03renamed tk*.h in file contents, and deleted unused filesSelene ToyKeeper3-3/+3
2023-11-03moved ATTINY and MODEL_NUMBER into $target/arch and $target/model,Selene ToyKeeper203-187/+101
and updated other scripts and files accordingly
2023-11-03moved variant builds under their parent, like "d4-219" -> "d4/219"Selene ToyKeeper38-16/+16
2023-11-03renamed cfg.h -> anduril.h inside source filesSelene ToyKeeper51-52/+52
2023-11-03renamed cfg.h -> anduril.h so each UI can have its own cfg (part 1)Selene ToyKeeper72-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 ToyKeeper128-177/+177
(also modified the build scripts to work with the new file structure)