Add battery voltage reading to web UI, apply fixed VBAT multiplier, closes #3
This commit is contained in:
@@ -20,8 +20,10 @@ void initBatteryADC() {
|
||||
float readBatteryVoltage() {
|
||||
// 8 quick reads, no delay() calls, no analogReference() change
|
||||
int32_t raw=0; for (int i=0; i<8; i++) raw += analogRead(PIN_VBAT_READ); raw /= 8;
|
||||
// Seeed XIAO nRF52840 Sense: 1MΩ + 510kΩ voltage divider on VBAT → multiply by 1510/510
|
||||
return (raw / 4096.0f) * 3.0f * (1510.0f / 510.0f);
|
||||
// Seeed XIAO nRF52840 Sense: 1MΩ + 510kΩ voltage divider on VBAT.
|
||||
// Theoretical ratio is 1510/510 = 2.961, but real resistor tolerances
|
||||
// shift the actual ratio. Calibrated: 3.90V actual / 3.78V reported → ×1.0317.
|
||||
return (raw / 4096.0f) * 3.0f * (1510.0f / 510.0f) * 1.0317f;
|
||||
}
|
||||
|
||||
int batteryPercent(float v) {
|
||||
|
||||
Reference in New Issue
Block a user