aboutsummaryrefslogtreecommitdiff
path: root/hw/hank/emisar-d3aa/hwdef.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2026-02-23added &hank-kr1aa build for new Emisar / Noctigon KR1AASelene ToyKeeper1-7/+15
It's the same as &hank-emisar-d3aa, but needed some minor tweaks: - wait longer before measuring the battery, because it's hard to tighten the tailcap fast enough - ramp adjustments to compensate for slightly different "gear ratio"
2025-06-04emisar-d3aa: reduced preflash by changing timing of power enable stepsSelene ToyKeeper1-8/+23
After testing on every device I can, and getting several users to also test this, it appears to reduce and sometimes completely eliminate preflash on most devices... and the cases where it wasn't reported to help, at least it didn't make things worse. Some units apparently just can't get the flash eliminated completely, despite trying lots of things. Instead of turning the chips on and then waiting 4ms, it now turns the preflash absorber on, waits ~0.6ms, sets misc params, then turns the boost chip on, then waits ~0.6ms, then turns the preflash absorber off. This seems to work best on li-ion power, where on my devices it completely eliminates any preflash. There is still a very mild flash on AA though, which I wasn't able to get rid of. But it's like... 0.003 lm for just a few milliseconds, really not bad. Even in the worst case reported by a user, based on the video they took, it looks like just 0.01 lm for a few milliseconds.
2024-03-29d3aa: fixed voltage calculation to use 0.02V units instead of 0.025VSelene ToyKeeper1-5/+3
2024-03-29d3aa weak battery test: blink 3x instead of 2x, and omit number readoutSelene ToyKeeper1-4/+12
2024-03-26weak battery detection: use different thresholds for AA and Li-IonSelene ToyKeeper1-10/+14
(also, fixed bug where a totally empty li-ion didn't get limited)
2024-03-26d3aa: got weak battery detection actually working,Selene ToyKeeper1-34/+50
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 ToyKeeper1-0/+64
(saving progress here so I can work on a different branch)
2024-03-11d3aa fine-tuning:Selene ToyKeeper1-11/+3
- 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 ToyKeeper1-1/+1
2023-12-05d3aa: made it easy to switch between vddio2 and external voltage dividerSelene ToyKeeper1-0/+2
2023-11-30added initial code for emisar-d3aa torchSelene ToyKeeper1-1/+1
2023-11-22ADC voltage: battcheck 3 digits, fixed t1616, switched back to 8-bit ↵Selene ToyKeeper1-8/+8
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 ToyKeeper1-0/+13
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 ToyKeeper1-8/+23
ADC doesn't work yet. No voltage, no temperature. I need to do a lot of refactoring on the ADC code. :(
2023-11-02got things to compile again, renamed #includesSelene ToyKeeper1-1/+1
(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-12misc comments, spacing, documentationSelene ToyKeeper1-1/+1
2023-10-03new light / driver: HDR boost driver by thefreemanSelene ToyKeeper1-0/+90
(works well in a FW3A host)