Comments (18)
Please, provide, being taken at earth surface level, screenshots (width <=800 pixels) of:
- status page ;
- settings page ;
- 'monitor' window of XCSoar's device menu (in landscape mode) with at least one full second burst of GNSS NMEA sentences.
from softrf.
Alright, I did some testing this morning. My hardware is t22_v07.
I took screenshots from RC4 and RC5:
- Status
- Settings
- SkyDemon (GDL90)
- Avare external I/O plugin (GDL90)
- XCSoar (NMEA)
RC4
status
settings
skydemon (alt in ft)
avare
xcsoar
RC5
status
settings
skydemon (alt in ft)
avare
xcsoar
from softrf.
Ok. Thank you!
Your report is a mix of two issues:
- in both RC4 and RC5 there was a minor bug in GDL90 geometric altitude reporting. Fixed in cf5d37e
- you have so-called "heavy counterfeit" GNSS module soldered into your T-Beam.
Indicators of that:
and
Issue with these GNSS modules is that they always report "0.0" as a geoidal separation value.
Recently it was first discovered and reported by Pawel Jalocha .
Most of modern GNSS ICs are reporting AMSL altitude in their NMEA $GxGGA sentence: http://aprs.gids.nl/nmea/#gga
Followed by "geoidal separation value" - height difference between WGS84 ellipsoid and EGM96 geoid.
We don't know for sure what is the "altitude" value reported by this "heavy counterfeit" GNSS chip, but it looks like an altitude relative to WGS84 ellipsoid.
Old GPSes (designed prior to year 2005 or so) were also reporting WGS84 altitude, but they were supplying EMPTY geo separation field.
This is an example for your location (latitude, longitude and altitude) taken from online calculator:
Your Input Coordinates and GPS Height:
Latitude = 49.63° N = 49° 37' 48" N
Longitude = 8.61° E = 8° 36' 36" E
GPS ellipsoidal height = 142.0 (meters)
Geoid height = 48.035 (meters)
Orthometric height (height above EGM96 geoid which approximates mean sea level) = 93.965 (meters)
(note: orthometric height = GPS ellipsoidal height - geoid height)
RC5 has a workaround implemented against these "heavy counterfeit" ICs. The algorithm of EGM96 based altitude adjustment was borrowed from XCSoar. So reported SoftRF RC5 WebUI AMSL altitude should be the same or very close to the value taken from XCSoar's navbox.
Due to flash memory space constraints, geo separation value is averaged over 2 degrees lat/lon "square" earth surface. Not perfect, but still acceptable for most aviation applications.
from softrf.
I am curious:
- why are you using 868.2 MHz for P3I ?
have you read this ? : https://github.com/lyusupov/SoftRF/wiki/Settings
- Which way did get your RC5? Custom built?
It should report more that 4000000 bytes on officially released RC5 running on T-Beam board.
from softrf.
Cool, thank you for the fix and the explanations. Is there a special setting to activate the altitude workaround in XCSoar? Right now it's showing the same alt (GPS ellipsoidal) in the alt gps box as in NMEA sentences with no correction.
-
I'm using the legacy protocol normally... so this was some weird setting from last night's testing.
-
I was experimenting as well with the GDL90 alt with my own build... but the screenshots were taken from the same source as your's. But you're right, with your build it shows more than 4000000 bytes. I'll have to check what's wrong with my setup.
from softrf.
Is there a special setting to activate the altitude workaround in XCSoar?
I don't know. My T-Beam v06 has "light counterfeit" GNSS module (a clone, but based on genuine Ublox 6-gen. chip)
This is how it works in XCSoar. It seems that there is an option to enforce it by "use_geoid" somehow.
I expect, it should work automatically. But you'd better ask XCSoar guys.
And this is SoftRF's RC5 stuff: 21098c6 cd8480d
I'll have to check what's wrong with my setup.
ESP32 source code build instructions are not up to date, see this ticket's comment. You should build against stable release of the Core.
from softrf.
Checked this... XCSoar's correction just kicks in if it's not a valid double value. Since 0.0 is valid, no correction will be performed. I saw this in the code and tested it by playing back a modified nmea caputure. If I remove 0.0 the proper altitude is shown.
Switched to the stable core release, but I had to enable PSRAM additionally. For your next gen build guide:
- Select Tools -> PSRAM -> Enabled
from softrf.
If you have nothing else to me related to the topic of the ticket - please, close it.
from softrf.
Checked GDL90 Ownship Geometric Altitude report successfully with SkyDemon + Avare.
Thank you very much.
from softrf.
XCSoar's correction just kicks in if it's not a valid double value. Since 0.0 is valid, no correction will be performed. I saw this in the code and tested it by playing back a modified nmea caputure. If I remove 0.0 the proper altitude is shown.
Try out this commit: 0ef8557
from softrf.
XCSoar's correction just kicks in if it's not a valid double value. Since 0.0 is valid, no correction will be performed. I saw this in the code and tested it by playing back a modified nmea caputure. If I remove 0.0 the proper altitude is shown.
Try out this commit: 0ef8557
Works perfect. Thank you again :)
from softrf.
Ok. Good !
Could you, please, take one more screenshot of NMEA sentences in XCSoar's "monitor" window (<=800px) ?
I need to take a look at it.
from softrf.
Sorry for the delay... had some hardware issues. But here we go with BMP280 attached :)
from softrf.
Thank you!
I had to make sure that time/lat/lon of re-generated GGA sentence have same or close values & precision (digits after decimal point) as the parameters of pass-through RMC sentence.
from softrf.
Although GDL90 spec states that altitude has to be reported as relative to the WGS84 ellipsoid,
most of EFBs and portable ADS-B devices are reporting MSL altitude.
See this info for details: cyoung/stratux#749
SkyDemon seems to be the only exception (SD is following the specs currently).
I am going to revert my previous change soon.
I will sacrifice SkyDemon's altitude accuracy in favour of all other EFBs accuracy.
from softrf.
Hm, what do you think about adding it as option to be compatible to almost all EFBs on the market?
from softrf.
There is no sense to add the "GDL90 Alt."menu option for the sake of SkyDemon only.
Those of SkyDemon users who fly in an areas where geoid separation value is significant (more than VDOP)
can terminate GDL90 and operate with NMEA TCP ("AirConnect") connection method instead.
Alternatively, you can push SD team to use the MSL, like all other EFBs do.
from softrf.
Summary for other Skydemon users:
In SoftRF settings set 'NMEA output' to 'TCP', then in SD settings menu -> Third party devices -> FLARM devices -> FLARM with Air COnnect to 'on', leave the key as is. Altitude should now be shown correctly.
from softrf.
Related Issues (20)
- Android 12/ HOT 1
- SkyView losing GLD90 connection to Stratux and hanging HOT 1
- Standalone version problem HOT 2
- Frequency used in NZ HOT 1
- Issues with Flashing binaries to SkyView EZ HOT 2
- Aircraft database not loaded for Badge edition. HOT 1
- No Aircrafts data HOT 2
- Bad aircraft data HOT 5
- SoftRF UAV edition on ExpressLRS 900mhz receiver. HOT 1
- "Legacy" not functioning HOT 2
- LilyGo T-Echo - Badge - Unintended Power-On Problem HOT 1
- SoftRf and Glider Flarm update version 7.22 HOT 2
- flarm targets are found - but they are always more than 3xx km away. HOT 2
- V1.5.1 NMEA alarm trigger = None has no effect HOT 1
- NMEA LK8EX1 messages missing on MIDI edition HOT 1
- Badge Edition, pressure data message fault HOT 1
- unable to upgrade a brand new Prime mark III from 1.2+ to 1.5.1 HOT 1
- Compilation error HOT 1
- Prime MK III not Sending and Receiving Packets and not accessing GPS Satellites HOT 1
- Vertical Speed in SkyView EZ instead of Battery Power HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from softrf.