mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-08-02 05:57:47 +00:00
51 lines
889 B
Go
51 lines
889 B
Go
package main
|
|
|
|
import (
|
|
"machine"
|
|
"time"
|
|
|
|
"tinygo.org/x/drivers/gps"
|
|
)
|
|
|
|
func main() {
|
|
println("GPS UART Example")
|
|
machine.UART1.Configure(machine.UARTConfig{BaudRate: 9600})
|
|
ublox := gps.NewUART(machine.UART1)
|
|
parser := gps.NewParser()
|
|
var fix gps.Fix
|
|
for {
|
|
s, err := ublox.NextSentence()
|
|
if err != nil {
|
|
println(err)
|
|
continue
|
|
}
|
|
|
|
fix, err = parser.Parse(s)
|
|
if err != nil {
|
|
println(err)
|
|
continue
|
|
}
|
|
if fix.Valid {
|
|
print(fix.Time.Format("15:04:05"))
|
|
print(", lat=")
|
|
print(fix.Latitude)
|
|
print(", long=")
|
|
print(fix.Longitude)
|
|
print(", altitude=", fix.Altitude)
|
|
print(", satellites=", fix.Satellites)
|
|
if fix.Speed != 0 {
|
|
print(", speed=")
|
|
print(fix.Speed)
|
|
}
|
|
if fix.Heading != 0 {
|
|
print(", heading=")
|
|
print(fix.Heading)
|
|
}
|
|
println()
|
|
} else {
|
|
println("No fix")
|
|
}
|
|
time.Sleep(200 * time.Millisecond)
|
|
}
|
|
}
|