aboutsummaryrefslogtreecommitdiff
path: root/fsm (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-11-28fsm/adc: removed dead codeSelene ToyKeeper1-57/+32
2023-11-22ADC voltage: battcheck 3 digits, fixed t1616, switched back to 8-bit ↵Selene ToyKeeper2-20/+31
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-2/+29
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-19started refactoring fsm/adc.*, but need a checkpoint before continuingSelene ToyKeeper2-24/+14
2023-11-19moved prevent_reboot_loop() and some other junk out of fsm/main.cSelene ToyKeeper1-47/+3
2023-11-19temporary fix for aux LEDs on avrdd; needs proper refactoringSelene ToyKeeper1-3/+6
2023-11-10refactor checkpoint: splitting MCU-specific code into arch/$MCU.[ch]Selene ToyKeeper10-366/+47
Phew, that's a lot of changes! And there's still a lot more to do...
2023-11-07made build fail if eeprom data bigger than MCU's eeprom sizeSelene ToyKeeper2-22/+41
Based on techniques suggested by DurvalMenezes here: https://github.com/ToyKeeper/anduril/pull/4
2023-11-03renamed tk*.h in file contents, and deleted unused filesSelene ToyKeeper1-2/+2
2023-11-03renamed tk*.h to arch/*.h or fsm/*.h (part 1)Selene ToyKeeper1-0/+26
to get them out of the root dir, and to start cleaning up mcu/arch code
2023-11-02got things to compile again, renamed #includesSelene ToyKeeper8-707/+33
(also modified the build scripts to work with the new file structure)
2023-11-02reorganized project files (part 1)Selene ToyKeeper31-0/+4681
(just moved files, didn't change the contents yet, and nothing will work without updating #includes and build scripts and stuff)
If you find this content useful please consider a small donation via bitcoin: bitcoin:1mxKyQsHHugqRxPKgwaA7wUwJEGCNthn2?amount=0.001&message=Donation Scraping git contents via cgit is very resource intensive. The continued hosting of these git repositories is entirely financed by your bitcoin contributions. For donations of a least 1 mBTC you include your IP address in the message of your bitcoin donation. This will remove this message in the future for requests from your IP, which will significantly reduce token usage. In any case, any contributions to bitcoin address 1mxKyQsHHugqRxPKgwaA7wUwJEGCNthn2 are very welcome. Thanks in advance for you contribution to a self-sustaining ecosystem.