BadElf / gps-sdk

The official SDK for developers to use Bad Elf GPS accessories on iOS, Android, and Windows devices.
BSD 3-Clause "New" or "Revised" License
31 stars 13 forks source link

Accuracy values information #8

Closed McFlyssss closed 1 year ago

McFlyssss commented 1 year ago

New Issue Checklist

Issue Description

We are adding support for bad elf devices to an iOS app. We successfully connect using EAAccessoryManager and parse the nmea messages.

During QA, the team has realised that the accuracy values that appear on the device screen do not match the values we parse from the nmea messages. In fact, the only parameter that seems to provide such information is the hdop in GGA sentences.

We are wondering if there is any specific message we are missing to parse or process we are not aware of. We'd like to be able to match the values on screen, otherwise users may end up confused.

Complete output from your IDE, including the stack trace, if available.

N/A

ENVIRONMENT

Please fill out the complete configuration of your setup below. This will help Bad Elf Engineers reproduce and resolve your issue faster.

Bad Elf Model:

GPS Pro +

Firmware Version:

3

Platform:

iOS >15

Protocol String:

com.bad-elf.gps
brhackle commented 1 year ago

Apologies for taking so long to reply.

The GPS Pro+ is based on an MTK GNSS chipset that only supplies accuracy information via DOP values, so you need to apply a "magic number constant" to the HDOP and VDOP to estimate the horizontal/vertical accuracy in meters. For the Pro and Pro+ models that number is 3.9. This should match what you see on the LCD screen of the receiver, as well as the Bad Elf GPS app.

Note that our Bad Elf GNSS Surveyor (3300) and Flex (5500) models support the GST sentence, which provides values directly in meters, so the DOP values aren't needed there.

Hope that helps!

McFlyssss commented 1 year ago

No apologies at all. You guys have been extremely helpful.

So If I understand correctly if I apply the 3.9 "magic number constant" to the hdop values from the nmea messages I should get the value you show on the device screen for accuracy, right? Just saying because on the LCD there is no vertical nor horizontal accuracy. I can only find the accuracy value. Is that value coming from the hdop and the factor?

The resulting value of hdop*3.9 is in m/ft... ?

Thanks again

McFlyssss commented 1 year ago

Just realised that you already pointed out that the result is in m. The values match now. Thanks for all your support @brhackle ! Much appreciated.