UBLOX Decode() message throws errors about unexpected symbols
Opened this issue · 0 comments
punov commented
Reference to the code:
https://github.com/Hivemapper/gnss-controller/blob/main/message/decoder.go
Problem description:
Decoder gets into state when it throws "unexpected symbol" messages for every other read.
Usage:
ubxDecoder := ublox.NewDecoder(stream)
go func() {
for {
if d.IsTerminating() || d.IsTerminated() {
done <- d.Err()
break
}
if err != nil {
if err == io.EOF {
done <- nil
break
}
fmt.Println("WARNING: error decoding ubx", err)
continue
}
...
}
}()
return done
Example:
WARNING: error decoding ubx Expected ED found ?C (message "$\x16\xfc@\xfe\x84\a0.A\x007\x14_a\x02\x00\xd0\xf0\xcc0\bx\x00\xdd <\x10\xc80!h\xcc\xfc\x00\x9d\xb3\x10\x81\x00\x00\x00D@\x00!\xa0\x00\x00\xa8\x00\x80\x00\x00\x04c!\x80rfN#\xf8@ <X\xf0t\x8aH\xfc\xf8\xcc\xfc\f\xf2\x80p\x00\xf8P\xa88\xadh\xcc\xfe\x12\b\x80T\x01\x04\x10\x10\x00\x00\x18\x00\x00\x00,\b\x14\x88\x00\x84@\x01#ň\xa4\x84\xfc)\x00'\x84xt(X\xfch\xcc\xfc\x8cr\x004\x014!\x00\x01\x15\x00\x92\x88\xa0T\x15B!\x10`\x00\b\xb4\b\x00,\b\x14\x10\x00\x84$\x00b\xc4\fN\x16\xfc\x8c!N\x04\x1a\x0e\x1e\x10\x00\a')\x05\x02&<j\x00U\f\x8e\x84\x82\xfa\u0088\x8b\x83\x18B\xc2BDB %)\b\t\t\f\b\r\"\x02B!\xe0rf\xc4J\xfc\x18!J\x10\xfa\xb8\xa4X8xH8\bp@h\x80x\x00H\xc8(\b\xfe\x12\xe0\xb1P\x01\x00\x10\b`\x00\b\x00\b\x00,\b\x04\x88\x00\x00\x00\x01c\x80\xc08\x16\xfc\x9c!J\x10_P\x00I\xa9\xe0@\xa9\xe2p@x\x80x\x00DH(\x88\xfe\x00\xdc\x10\x11`\x80!\x10% \x00\x88@\xa0\x02\xc2 JHJ@ :\x03\b\x88\xb4\aA\x00'@80PX\xfch\xcc8\bx\xc0\xb8\x00\xfc\x00\xc8\xc8x\xcc\xfc\x00N\x14\x11`\x801\x84% \x00\x88@\xa0\x02\u00a0JHJ@\x00(\xc3\x00\x8c\x96\xd6\xc2A\x007\x15\xa8\xe0\x00\xc8\xfc\xe8\xcc\xfc\f8@8\x00u@(\xc4hL\xfe\x00\x9d\x1f\x11`\x801\x04%@\x00\x18\x00\x10\x00\x84\b\x04\x88\x00\x84D")
WARNING: error decoding ubx invalid NMEA frame