aboutsummaryrefslogtreecommitdiff
path: root/hw/hank/emisar-d3aa/hwdef.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-03-29d3aa: fixed voltage calculation to use 0.02V units instead of 0.025VSelene ToyKeeper1-2/+2
2024-03-29d3aa weak battery test: blink 3x instead of 2x, and omit number readoutSelene ToyKeeper1-1/+2
2024-03-26weak battery detection: use different thresholds for AA and Li-IonSelene ToyKeeper1-2/+3
(also, fixed bug where a totally empty li-ion didn't get limited)
2024-03-26d3aa: got weak battery detection actually working,Selene ToyKeeper1-4/+3
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/+9
(saving progress here so I can work on a different branch)
2024-03-11d3aa fine-tuning:Selene ToyKeeper1-3/+4
- 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/+2
2023-12-05d3aa: made it easy to switch between vddio2 and external voltage dividerSelene ToyKeeper1-9/+12
2023-11-30added initial code for emisar-d3aa torchSelene ToyKeeper1-52/+58
2023-11-24more ADC / DAC / MCU progress...Selene ToyKeeper1-14/+6
- 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-22ADC voltage: battcheck 3 digits, fixed t1616, switched back to 8-bit ↵Selene ToyKeeper1-3/+3
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-3/+9
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-0/+208
ADC doesn't work yet. No voltage, no temperature. I need to do a lot of refactoring on the ADC code. :(