Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

GDL 90 on XCSoar

1,989 views
Skip to first unread message

Davis Chappins

unread,
Nov 10, 2020, 7:57:12 PM11/10/20
to
I'm looking for people to test my translation script from GDL 90 to NMEA so that a Stratux (1090/978 dual band ADS-B in) can connect and display traffic on XCSoar. If there's interest I can post some instructions. You need some experience with configuring XCSoar devices and placing a file on the android from a computer via USB.

I got tired of waiting for XCSoar to natively accept GDL 90 and also Stratux to output NMEA. The script is written in python and runs on the android device connected to the Stratux wifi. I also added in some text to speech to announce traffic when it's near.

In addition, I'm looking to test with other GDL 90 ADS-B receivers. I'm especially curious on the "Foreflight required" devices like Scout/Sentry Mini/Sentry. If anyone has one I can borrow, I'll gladly pay shipping.

Is there any interest?

Dan Marotta

unread,
Nov 11, 2020, 11:48:02 AM11/11/20
to
That might be fun, though I don't need the capability.

I can run XCSoar either on my Android phone or on a Dell Streak 5 and
carry them along on a flight in my gyro since that's where my Stratux is
mounted. If it turns out to be useful, I could try it in the glider
though my ClearNav already displays targets as seen by the Flarm.

--
Dan
5J

Michael Bamberg

unread,
Nov 11, 2020, 7:21:26 PM11/11/20
to
I can test for you, I have a Stratux, and have several Android devices running XCSoar.

Mike

Davis Chappins

unread,
Nov 11, 2020, 8:19:02 PM11/11/20
to
On Wednesday, November 11, 2020 at 5:21:26 PM UTC-7, cirr...@gmail.com wrote:
> I can test for you, I have a Stratux, and have several Android devices running XCSoar.
>
> Mike

Dan, Mike,

Use this link to download the python script and pynmea2 library. There's an instruction guide on where to put them and how to use it.
https://drive.google.com/drive/folders/1NoSbEu2Dmjn5_ac2qdmr1K2s9-0l4fnx?usp=sharing

Let me know how it goes.

Dan Marotta

unread,
Nov 14, 2020, 2:52:03 PM11/14/20
to
On 11/10/20 5:57 PM, Davis Chappins wrote:
Hi Davis

I followed all your instructions and, using my Samsung Galaxie 10e, I
think I got it running. Since I'm working from my home and can only see
one ADS-B tower on the mountain top, and it's a very windy day with
gusts up to 60 mph nearby, there's not much traffic.

I'm currently watching UDP port 10110 on XCSoar and am seeing
$PFLAU,,,,,,,,,*62 messages continuously.

I was panning around on the map display and, at one point saw a blue
arrow indicating an ADS-B target, but it disappeared before I could
learn its parameters. A quick look at the status information at
192.168.10.1 showed that I had one "hit" but I lost it just as quickly.

It looks like this will work in flight but I just need to get off the
ground to try it out.

Nice job!

--
Dan
5J

Christophe Mutricy

unread,
Nov 14, 2020, 5:15:06 PM11/14/20
to
At 00:57 11 November 2020, Davis Chappins wrote:

> I got tired of waiting for XCSoar to natively accept GDL 90 and also
>Strat=
>ux to output NMEA. The script is written in python and runs on the
android
>=
>device connected to the Stratux wifi. I also added in some text to speech
>t=
>o announce traffic when it's near.

You might consider this stratux fork :
https://github.com/DineshkumarGA/stratux-eu---softrf---wxrx





Dan Marotta

unread,
Nov 15, 2020, 8:10:45 PM11/15/20
to
On 11/10/20 5:57 PM, Davis Chappins wrote:
OK, I tested it at the airport today and would call it a success. From
my hangar door, immediately after starting XCSoar, I had a couple of
ADS-B targets displayed on my Android phone.

I placed the Stratux in the Stemme via suction cups on the inside of the
canopy and towed the glider to the assembly area. While I was
assembling one wing, I heard a voice say, "Traffic! 12 o'clock 700 feet
high.", or something very similar. The aircraft in question had just
taken off. I also saw other aircraft at greater distances on the XCSoar
map screen.

That was enough for me and, to save my phone battery, I terminated
XCSoar. When I went to the cockpit to turn the Stratux off, I found
that it had fallen off the canopy and was laying in the foot well.
Pretty good performance, I'd say.

--
Dan
5J

Davis Chappins

unread,
Nov 17, 2020, 1:54:14 PM11/17/20
to
Christophe,
I looked into the EU version of Stratux but 978 isn't used over there so it disabled that radio. The main branch of Stratux has both 978 and 1090 and is more appropriate for the US.

Dan,
Glad you were able to figure it out and it worked for you. Did you fly with it at all?
I'll create a github later with the files so that anyone can install it.




Dan Marotta

unread,
Nov 17, 2020, 3:34:31 PM11/17/20
to
No, I didn't fly with it. Getting three aircraft hits, plus getting
their ICAO numbers and other information on each, plus getting a
collision warning convinced me that your script works. Since I don't
use Stratux in the Stemme (Trig 22 and TN 70), the gyro (Trig 22 and TN
72), or the C-180 (Garmin GTX-345 and FlyQ), I have no need.

--
Dan
5J

Kevin Neave

unread,
Nov 21, 2020, 12:00:06 PM11/21/20
to
Hi Dan,

Did you ever try this with your Dell Streak 5?

Regards

KN

Dan Marotta

unread,
Nov 21, 2020, 12:46:46 PM11/21/20
to
Hi Kevin,

No, I did not try it with a Streak, but I don't see why it wouldn't work
unless the program which converts the protocols would not work on the
older Android version on the Streak, 3.2 or thereabouts, my phone runs
version 10, I think.

Dan
--
Dan
5J

Kevin Neave

unread,
Nov 22, 2020, 10:45:06 AM11/22/20
to

I don't think QPython works with my ancient Dell Streak (Android 2.2)

Might try upgrading Android, or use this as an excuse to change my phone!

Kevin

Dan Marotta

unread,
Nov 22, 2020, 3:26:22 PM11/22/20
to
My Streak(s) run Cyanogen Mod 7, which is an Android 3.x.7 version. It
won't run Avare without the external I/O app.

--
Dan
5J

Bogdan Manoiu

unread,
Mar 16, 2021, 7:19:51 AM3/16/21
to
Good afternoon,

I tried installing the Python script so I can view traffic from my SkyEcho2 on XCSoar but it does not seem to work.

I get an error: Attribute Error: module pynmea2 has not attribute LAU

in line 282 PFLAU=pynmea1.LAU('PF'......

Any idea what is triggering this? Incorrect installation of pynmea2? Any ideas how to fix it?

Thanks a lot!

Bogdan

Davis Chappins

unread,
Mar 16, 2021, 9:49:29 AM3/16/21
to

Bogdan,

I'm assuming you got Pynmea2 from their github or from Python's pip install. Whoever maintains pynmea2 hasn't updated that package to include LAU and LAA support yet.

Go here https://github.com/DavisChappins/GDL90toNMEA and follow step 3, you need my custom pynmea2 folder. The only change in the pynmea2 folder hosted by me and the default one is that I updated talker.py to include LAU and LAA sentences. I guess if you wanted you can just replace talker.py.

The SkyEcho2 outputs UDP on port 4000? If it uses a different port you can change line 83 in the script to listen to whatever port you need.

Bogdan Manoiu

unread,
Mar 18, 2021, 6:50:58 AM3/18/21
to
Good morning Davis,

You were right, I had the wrong pynmea2 package, I used the correct one and the Python code started working.

XCSoar shows "Connected, Flarm" but I can't see any traffic displayed on the XCSoar Map. I see Skyecho UDP port is also 4000 so that is not the issue.

The port monitor on XCSoar only shows the $PFLAU....but I can see on another device connected to Skyecho Transponder traffic in the vicinity.

Any ideas where the problem might be?



Thanks again,

Bogdan

Davis Chappins

unread,
Mar 18, 2021, 1:38:57 PM3/18/21
to
A couple of things to try:

Use the script hosted in github, not the earlier one in this thread on google drive.

The script requires GPS location as NMEA is a relative format using bearing and distance for targets, instead of using lat/lon directly. It may be that you need to set the device outside for a bit.

Verify SkyEcho is sending UDP data to the android's IP containing traffic, you can view the raw UDP stream using an android app called UDP Monitor. Connect to the SkyEcho wifi, configure it to listed to port 4000 and you should see hex data streaming in. Traffic objects start with "7e14". There should be many of them. If you use UDP monitor you may have to restart the android phone before switching to the script.

The script only passes aircraft within 60km but it's unlikely you have no aircraft within that range.

Davis Chappins

unread,
Mar 19, 2021, 11:52:18 AM3/19/21
to


Looking at your traffic image, the target is 5700km away. Based on your location in the UK you're about 5700km north of lat/lon 0/0. I think the SkyEcho isn't sending ownship position so the script never updates from the defaulted 0/0.

Uncomment lines 136 and 138 so it prints ownship lat/lon and altitude. #print(ownship.latitude , ownship.longitude) #print('baro altitide:',ownship.altitude)

The NMEA protocol which XCSoar accepts relies on relative bearing and distance which requires an ownship position to calculate. Is your SkyEcho outside? It could be that its not receiving a GPS signal. You'd never know using other software because all EFB programs using GDL90 locate traffic with absolute lat lon.


Bogdan Manoiu

unread,
Mar 25, 2021, 9:15:46 AM3/25/21
to
Good afternoon Davis,

It seems that for some reason SkyEcho does not transmit ownship report or ownship geometric altitude as per GDL90 protocol...weirdly the UDP Monitor revealed no message with 0x0a or 0x0b in the header!

What puzzles me is that if I run the EasyVFR app it shows the correct current position (with phone internal GPS turned off) so SkyEcho seems to transmit its position but in a different way, possibly as a traffic report. (there are messages with 0x14 in the header that when decoded show SkyEchoxxx)

The only other messages received on the UDP port are 0x65 which I found to be ID messages but which do not contain the position and heartbeat messages.

Any ideas what else I can do?

Thanks,
Bogdan

Julian Elder

unread,
Jan 18, 2022, 2:02:03 AM1/18/22
to
Hi can this be modified to pass gps data as well as traffic data from the Gdl90 device to xcsoar?

Davis Chappins

unread,
Jan 18, 2022, 9:44:30 AM1/18/22
to
Julian,
The answer is yes it can parse gps data and pass that along. But, I haven't worked on the project in over a year and would need to re-figure out what I did.
What's your use case? Most devices have GPS built in and the GPS on the Stratux isn't great. My phone gps is 10x better and more stable.

Dan Marotta

unread,
Jan 18, 2022, 11:29:00 AM1/18/22
to
Regarding the Stratux GPS - OUCH!  I use a Stratux in my Cessna 180 to
feed my iPad running FlyQ EFB.  I've noticed that ADS-B targets
displayed on the iPad are always different in altitude by around 300-400
feet.  The GNS430W in the Cessna is always the final answer since it's a
certified WAAS GPS.

Having said that - some time ago I used serial to Bluetooth converters
and Cat-5 cable splitters to feed Flarm and ADS-B data to my ClearNav
computer on the left side of my Stemme and my Dell Streak 5 running
XCSoar on the right.  The Flarm outputs 1090ES targets in an NMEA stream.

So why do I use Stratux to feed the iPad in the Cessna you might ask?  I
have a Garmin GTX345 ADS-B In/Out transponder in the Cessna and I
initially used the iPad running Garmin Pilot to provide a moving map
with current charts and procedures.  Then, one day out over the desert,
50 miles from nowhere, the Garmin Pilot software announced that my
subscription had expired!  In flight! And shut down!!!

Fortunately, it was day VFR.  What if it'd been at night or in IMC?  I
promptly trashed the Garmin software and its subscription fees and
purchased FlyQ EFB.  Their subscription fee is about half of Garmin's
and they had an offer which amounted to paying about 2.5 times the
annual fee one time and get lifetime updates for VFR and IFR.  That's
where I am now.  Why Stratux, then?  FlyQ runs on wifi but not Bluetooth
and the transponder only outputs Bluetooth.  Were it not a certificated
aircraft I'd simply stuff a Bluetooth/wifi converter in the side pocket
and get WAAS position information in my iPad from the 430W and ADS-B
information from the GTX345.

Dan
5J

Bogdan Manoiu

unread,
Jan 19, 2022, 3:26:11 AM1/19/22
to
Hi, Yes it deffinitely can!

Last year I modified parts of the code Davis wrote to make it work on SkyEcho and one of the last things I attempted was to make it export GPS and baro data as well.

I only had the chance to test it once and it seemed to work however one other user reported that the GPS position is incorrectly transmitted.

So write me directly if interested in trying the last version I wrote.

Sadly I did not have time to check it myself, way too busy at work.

Happy landings with no airprox events ;)

Bogdan
Message has been deleted

Bob Kennedy

unread,
Sep 23, 2022, 9:33:15 PM9/23/22
to

> Last year I modified parts of the code Davis wrote to make it work on SkyEcho and one of the last things I attempted was to make it export GPS and baro data as well.
>
> I only had the chance to test it once and it seemed to work however one other user reported that the GPS position is incorrectly transmitted.
>
> So write me directly if interested in trying the last version I wrote.
>
> Sadly I did not have time to check it myself, way too busy at work.
>
> Happy landings with no airprox events ;)
>
> Bogdan


Hi Bogdan,

I have XCSoar running on an Open Vario and I want to input the ADS-B data from the SkyEcho2 (GDL90). Appreciate your advice. It seems that uou have had some success doing something similar?

Regards,

Bob
Australia

B BRIONES

unread,
Feb 23, 2023, 1:12:09 AM2/23/23
to
0 new messages