Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@

module periph.io/x/cmd

go 1.22.6
go 1.23.0

toolchain go1.24.1

require (
golang.org/x/image v0.19.0
periph.io/x/conn/v3 v3.7.1
golang.org/x/image v0.25.0
periph.io/x/conn/v3 v3.7.2
periph.io/x/d2xx v0.1.1
periph.io/x/devices/v3 v3.7.1
periph.io/x/host/v3 v3.8.2
periph.io/x/devices/v3 v3.7.4
periph.io/x/host/v3 v3.8.3
)

require github.com/jonboulle/clockwork v0.4.0 // indirect
require github.com/jonboulle/clockwork v0.5.0 // indirect
20 changes: 10 additions & 10 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4=
github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc=
golang.org/x/image v0.19.0 h1:D9FX4QWkLfkeqaC62SonffIIuYdOk/UE2XKUBgRIBIQ=
golang.org/x/image v0.19.0/go.mod h1:y0zrRqlQRWQ5PXaYCOMLTW2fpsxZ8Qh9I/ohnInJEys=
periph.io/x/conn/v3 v3.7.1 h1:tMjNv3WO8jEz/ePuXl7y++2zYi8LsQ5otbmqGKy3Myg=
periph.io/x/conn/v3 v3.7.1/go.mod h1:c+HCVjkzbf09XzcqZu/t+U8Ss/2QuJj0jgRF6Nye838=
github.com/jonboulle/clockwork v0.5.0 h1:Hyh9A8u51kptdkR+cqRpT1EebBwTn1oK9YfGYbdFz6I=
github.com/jonboulle/clockwork v0.5.0/go.mod h1:3mZlmanh0g2NDKO5TWZVJAfofYk64M7XN3SzBPjZF60=
golang.org/x/image v0.25.0 h1:Y6uW6rH1y5y/LK1J8BPWZtr6yZ7hrsy6hFrXjgsc2fQ=
golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs=
periph.io/x/conn/v3 v3.7.2 h1:qt9dE6XGP5ljbFnCKRJ9OOCoiOyBGlw7JZgoi72zZ1s=
periph.io/x/conn/v3 v3.7.2/go.mod h1:Ao0b4sFRo4QOx6c1tROJU1fLJN1hUIYggjOrkIVnpGg=
periph.io/x/d2xx v0.1.1 h1:LHp+u+qAWLB5THrTT/AzyjdvfUhllvDF5wBJP7uvn+U=
periph.io/x/d2xx v0.1.1/go.mod h1:rLM321G11Fc14Pp088khBkmXb70Pxx/kCPaIK7uRUBc=
periph.io/x/devices/v3 v3.7.1 h1:BsExlfYJlZUZoawzpMF7ksgC9f1eBAdqvKRCGvb+VYw=
periph.io/x/devices/v3 v3.7.1/go.mod h1:ezQOe8WknDaMbKZXVwQUQkIauyLyJshwAHkIohHXA94=
periph.io/x/host/v3 v3.8.2 h1:ayKUDzgUCN0g8+/xM9GTkWaOBhSLVcVHGTfjAOi8OsQ=
periph.io/x/host/v3 v3.8.2/go.mod h1:yFL76AesNHR68PboofSWYaQTKmvPXsQH2Apvp/ls/K4=
periph.io/x/devices/v3 v3.7.4 h1:g9CGKTtiXS9iyDFDba4sr9pYde4dy+ZCKRPuKpKJdKo=
periph.io/x/devices/v3 v3.7.4/go.mod h1:FqFG9RotW2aCkfIlAes3qxziwgjRTncTMS5cSOcizNg=
periph.io/x/host/v3 v3.8.3 h1:v90ozCFDWgEyfNElZ+JnOvq0jAdW0vmgjCUy8dYXDds=
periph.io/x/host/v3 v3.8.3/go.mod h1:uKrIpfXjELwHkwGBNe6aos//XiQ/3uxDa1P2BmLV6Ok=
37 changes: 25 additions & 12 deletions mpu9250/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ import (
"log"
"time"

"periph.io/x/conn/v3/i2c"
"periph.io/x/conn/v3/i2c/i2creg"

"periph.io/x/conn/v3/gpio/gpioreg"
"periph.io/x/host/v3"

Expand All @@ -19,6 +22,8 @@ import (
)

var (
ifType = flag.String("iftype", "spi", "Interface Type (spi, i2c)")
i2cAddr = flag.Int("i2caddr", 0x68, "I2C Address - Default 0x68")
accRes = flag.String("accRes", "2", "Acceleration resolution (2, 4, 8, 16G)")
continuous = flag.Bool("cont", false, "Continuous read")
sensitivity int
Expand All @@ -44,16 +49,28 @@ func main() {
if _, err := host.Init(); err != nil {
log.Fatal("Error initializing host", err)
}
cs := gpioreg.ByName("8")
if cs == nil {
log.Fatal("Can't initialize CS pin")

var t *mpu9250.Transport
var err error

if *ifType == "spi" {
cs := gpioreg.ByName("8")
if cs == nil {
log.Fatal("Can't initialize CS pin")
}
t, err = mpu9250.NewSpiTransport("", cs)
} else {
var bus i2c.Bus
bus, err = i2creg.Open("")
if err == nil {
t, err = mpu9250.NewI2cTransport(bus, uint16(*i2cAddr))
}
}
t, err := mpu9250.NewSpiTransport("", cs)
if err != nil {
log.Fatal("Can't initialize SPI bus ", err)
log.Fatalf("Can't initialize %s bus: %s", *ifType, err)
}

dev, err := mpu9250.New(t)
dev, err := mpu9250.New(*t)
if err != nil {
log.Fatal(err)
}
Expand All @@ -75,15 +92,11 @@ func main() {

st, err := dev.SelfTest()
if err != nil {
log.Fatal("Self test failed", err)
log.Fatal("Self test failed: ", err)
}

if err = dev.Calibrate(); err != nil {
log.Fatal("Can't calibrate", err)
}

if err != nil {
log.Fatal("Can't render self-test ", err)
log.Fatal("Can't calibrate: ", err)
}

fmt.Printf("Accelerometer Deviation: X: %.2f%%, Y: %.2f%%, Z:%.2f%%\n", st.AccelDeviation.X, st.AccelDeviation.Y, st.AccelDeviation.Z)
Expand Down