Skip to content

Commit 188bf98

Browse files
committed
Show battery voltage on splash screen
1 parent 752778f commit 188bf98

File tree

3 files changed

+31
-1
lines changed

3 files changed

+31
-1
lines changed

Diff for: src/extras_nano-33-ble.go

+8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
package main
44

5+
import "errors"
6+
7+
var errNoBattery = errors.New("no battery")
8+
59
func initExtras() {
610
// nop
711
}
12+
13+
func batteryVoltage() (float64, error) {
14+
return 0, errNoBattery
15+
}

Diff for: src/extras_xiao-ble.go

+16
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,25 @@ import "machine"
1515

1616
var (
1717
pinChargeCurrent = machine.P0_13
18+
pinRead = machine.P0_14
19+
pinVoltage = machine.P0_31
20+
21+
adc machine.ADC
1822
)
1923

2024
func initExtras() {
2125
pinChargeCurrent.Configure(machine.PinConfig{Mode: machine.PinOutput})
2226
pinChargeCurrent.Low() // enable charging at high current, 100mA
27+
28+
// Shall keep this low while reading voltage
29+
pinRead.Configure(machine.PinConfig{Mode: machine.PinOutput})
30+
31+
// Battery sensor pin
32+
adc = machine.ADC{Pin: pinVoltage}
33+
adc.Configure(machine.ADCConfig{})
34+
}
35+
36+
func batteryVoltage() (float64, error) {
37+
pinRead.Low()
38+
return float64(adc.Get()) / 7050, nil
2339
}

Diff for: src/main.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package main
22

33
import (
44
"math"
5+
"strconv"
56
"time"
67

78
"github.com/ysoldak/HeadTracker/src/display"
@@ -60,7 +61,12 @@ func init() {
6061

6162
func main() {
6263

63-
d.AddText(0, "Head Tracker")
64+
batVolts, err := batteryVoltage()
65+
batString := ""
66+
if err == nil {
67+
batString = strconv.FormatFloat(batVolts, 'f', 2, 64) + "V"
68+
}
69+
d.AddText(0, "Head Tracker "+batString)
6470
d.AddText(1, Version+" @ysoldak")
6571

6672
// warm up IMU (1 sec)

0 commit comments

Comments
 (0)