Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parsing data from moving-baseline RTK GPS #2

Open
kaklik opened this issue Aug 8, 2020 · 2 comments
Open

Parsing data from moving-baseline RTK GPS #2

kaklik opened this issue Aug 8, 2020 · 2 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@kaklik
Copy link
Member

kaklik commented Aug 8, 2020

Sources compiled the gpsd from http:https://download-mirror.savannah.gnu.org/releases/gpsd/gpsd-3.21.tar.gz
The process was smooth until the moment when I want to decode the UBX-NAV-RELPOSNED message from my NEO-M8P receiver. I am constantly getting the following error from ubxtool.

UBX-NAV-RELPOSNED:
  Bad Length 40

An interesting fact is that the source code contains a little different failure message format string. The def nav_relposned(self, buf): from ubxtool source contains the following:

        else:
            # WTF?
            return "  Bad Length %d version %u combination" % (m_len, u[0])

There is also an condition check for message lenght smaller or exactly 40 bytes length elif (0 == u[0] and 40 <= m_len):

Screenshot from 2020-08-08 09-40-27

@kaklik kaklik added bug Something isn't working help wanted Extra attention is needed labels Aug 8, 2020
@kaklik
Copy link
Member Author

kaklik commented Jun 10, 2021

I just tested if the new release fix that.

Unfortunately do not.
https://gitlab.com/gpsd/gpsd/-/issues/140

@kaklik
Copy link
Member Author

kaklik commented Jul 12, 2021

Pokusil jsem se vytvořit skript, který má z GNSS přijímačů na střeše

  • /dev/ttyACM0 - Base přijímač
  • /dev/ttyACM1 - Rover 1
  • /dev/ttyACM2 - Rover 2

Vytvořit výpis podle kterého by bylo možné rozpoznat, že celý systém funguje správně. Base přijímač je totiž potřeba zinicializovat použitím

export PYTHONPATH=/usr/local/lib/python3/dist-packages/
ubxtool -d SURVEYIN3 -f /dev/ttyACM0

Pak je možné pomocí příkazů

$ ubxtool -f /dev/ttyACM2
UBX-NAV-RELPOSNED:
  version 0 reserved1 0 refStationId 0 iTOW 152612000
  relPosN -414 relPosE -213 relPosD -88
  relPosHPN -40 relPosHPE -74 relPosHPD -21 reserved2 0
  accN 104729 accE 40727 accD 114204 flags x27


$ ubxtool -f /dev/ttyACM1
UBX-NAV-RELPOSNED:
  version 0 reserved1 0 refStationId 0 iTOW 152705250
  relPosN -878 relPosE -320 relPosD -125
  relPosHPN -73 relPosHPE -71 relPosHPD -93 reserved2 0
  accN 54452 accE 39194 accD 113055 flags x27

Zkontrolovat, že výpisy jsou nenulové. Problém je v tom, že je to pro konstrolu přístorů v terénu dost náročný proces. Bohužel při pokusu o filtraci výstupu a zápis obou příkazů permanentně do jednoho skriptu jsem narazil na problém, že gpsd python knihovna je nedopsána a aktuálně neumožňuje filtraci podle typu zprávy z GNSS přijímače.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
Development

No branches or pull requests

1 participant