| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
(saving progress here so I can work on a different branch)
|
| |
|
|
|
|
|
|
|
|
|
| |
to prevent corrupt data
This was enabled on more build targets before, but the *_ENABLE_PIN
definition names changed and the eeprom code didn't, so it was not
compiled in for a few months on some lights which probably needed it.
To fix that, it's now enabled by default on everything bigger than
attiny85, since it doesn't really hurt anything if it's enabled when
not needed.
|
| |
|
|
|
| |
(it used raw ADC units instead of cooked Kelvin units ...
... which was only noticeable on hardware which has different ADC units)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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. :(
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Phew, that's a lot of changes! And there's still a lot more to do...
|
| |
|
|
|
| |
Based on techniques suggested by DurvalMenezes here:
https://github.com/ToyKeeper/anduril/pull/4
|
| | |
|
| |
|
|
| |
to get them out of the root dir, and to start cleaning up mcu/arch code
|
| |
|
|
| |
(also modified the build scripts to work with the new file structure)
|
|
|
(just moved files, didn't change the contents yet,
and nothing will work without updating #includes and build scripts and stuff)
|