aboutsummaryrefslogtreecommitdiff
path: root/fsm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* use low aux for chan-aux level 0Andrew Slotnick2024-04-172-8/+8
|
* fixed incorrect temperature history for a few seconds after wakingSelene ToyKeeper2023-11-282-13/+11
| | | | | (it used raw ADC units instead of cooked Kelvin units ... ... which was only noticeable on hardware which has different ADC units)
* fsm/adc: removed dead codeSelene ToyKeeper2023-11-281-57/+32
|
* ADC voltage: battcheck 3 digits, fixed t1616, switched back to 8-bit ↵Selene ToyKeeper2023-11-222-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.
* got ADC voltage+temp working on avrdd... but broke all other builds/MCUsSelene ToyKeeper2023-11-211-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. :(
* started refactoring fsm/adc.*, but need a checkpoint before continuingSelene ToyKeeper2023-11-192-24/+14
|
* moved prevent_reboot_loop() and some other junk out of fsm/main.cSelene ToyKeeper2023-11-191-47/+3
|
* temporary fix for aux LEDs on avrdd; needs proper refactoringSelene ToyKeeper2023-11-191-3/+6
|
* refactor checkpoint: splitting MCU-specific code into arch/$MCU.[ch]Selene ToyKeeper2023-11-1010-366/+47
| | | | Phew, that's a lot of changes! And there's still a lot more to do...
* made build fail if eeprom data bigger than MCU's eeprom sizeSelene ToyKeeper2023-11-072-22/+41
| | | | | Based on techniques suggested by DurvalMenezes here: https://github.com/ToyKeeper/anduril/pull/4
* renamed tk*.h in file contents, and deleted unused filesSelene ToyKeeper2023-11-031-2/+2
|
* renamed tk*.h to arch/*.h or fsm/*.h (part 1)Selene ToyKeeper2023-11-031-0/+26
| | | | to get them out of the root dir, and to start cleaning up mcu/arch code
* got things to compile again, renamed #includesSelene ToyKeeper2023-11-028-707/+33
| | | | (also modified the build scripts to work with the new file structure)
* reorganized project files (part 1)Selene ToyKeeper2023-11-0231-0/+4681
(just moved files, didn't change the contents yet, and nothing will work without updating #includes and build scripts and stuff)