mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-08-04 15:07:46 +00:00
5df96c8138
* gps: buxfixes and refactoring of API to separate device from parser Signed-off-by: deadprogram <ron@hybridgroup.com> * gps: simplify time parser Signed-off-by: deadprogram <ron@hybridgroup.com> * gps: add support for RMC sentences Signed-off-by: deadprogram <ron@hybridgroup.com> * gps: small renaming to remove reduntant use of word GPS Signed-off-by: deadprogram <ron@hybridgroup.com>
43 lines
742 B
Go
43 lines
742 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)
|
|
println()
|
|
} else {
|
|
println("No fix")
|
|
}
|
|
time.Sleep(200 * time.Millisecond)
|
|
}
|
|
}
|