aboutsummaryrefslogtreecommitdiff
path: root/hw (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-09-22cherry-picked hank-lume-x1 code from ↵Selene ToyKeeper8-0/+597
https://github.com/loneoceans/anduril/commit/d83ebb75dab8c462b7efa841bccc00a136ff15a2 The [PR](https://github.com/ToyKeeper/anduril/pull/37) has a lot of other stuff in it, so I'm just picking out the parts needed for this particular light, and leaving the rest for later. Will need further edits before merging into trunk.
2024-08-21merged SammysHP's fix for TS10 lower-Vf LEDs, reverted my fixSelene ToyKeeper3-2/+17
(they are now two separate build targets)
2024-08-20wurkkos-ts10-rgbaux: limit max power to 200/255, at Wurkkos's requestSelene ToyKeeper1-1/+2
(because otherwise the light destroys its own LEDs at full power)
2024-08-04Add Wurkkos TS10 RGB with reduced FET outputSammysHP2-0/+16
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