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
AHRS + ForeFlight 7.5 no longer works consistently #138
Comments
Here's what I sent off to ForeFlight:
And here's the response from their support desk:
I replied, and I'm waiting for a response.
I'll share any info I get back tomorrow. It does seem like they're at least vaguely aware that Stratux exists, based on the statement that he had 'not heard any plans to actively support Stratux'. |
Th reason would be to sell more Stratus devices. I'll be interested in hearing their response. If we can just get ahrs working on WingX maybe it doesn't matter. -Robert
|
I think it's worth reserving judgment on that until they explicitly say, 'hey, this isn't a thing we support'. ForeFlight supports AHRS data from Dynon and Garmin panels, so I have a hard time believing they're cutting off support for open-source devices in an attempt to sell more Stratus boxen. Especially since the people hacking together rpi-based ADS-B units are hardly the sort to drop $1000 on a Stratus 2S. |
I'm not able to troubleshoot this for another few days, would anyone be able to try ahrs_replay and see if GPS/AHRS simulator works reliably with FF now? |
I just tried last night, it seems FF shows both Stratux and FreeFlight in the green on startup, then the Stratux box shows "disconnected" and disappears. No AHRS (but shows up ok in the Stratux mgmnt. connection) |
👍 |
Just loaded v0.4r4, same thing. Getting AHRS data to the STATUX config. page, but nothing to FF or FlyQ. The Stratux icon popped up in FF for a few seconds, then disappeared. |
I also noticed a reference somewhere to FF not working with FSX/FSXFlight, so I just checked and it works fine, full AHRS display. So it appears it's not the FF app anyway. |
This seems to be related to our use / abuse of ForeFlight's flight simulator support to display AHRS pitch, roll, and heading. Stratux sends a heartbeat packet, traffic, weather, and simulated ownship information (GPS position / track / speed / pressure altitude) over port 4000, using the standard GDL90 format. This information is structured the same way as it is by FreeFlight Systems' wifi module; hence ForeFlight displays the basic Stratux as a "FreeFlight" device. Notably, this approach does not include AHRS attitude. Instead, we turn to the flight simulator support documented above. To support desktop flight simulators, ForeFlight accepts simulated GPS, simulated traffic, and simulated attitude information over UDP port 49002 using the XGPS, XTraffic, and XATT tags. We use XATT to provide the pitch / roll / heading data. Up through version 7.4.x, ForeFlight supported simultaneous display of port 4000 GDL90 and port 49002 flight simulator data. Starting with version 7.5, ForeFlight appears to suppress the data from port 49002 if it detects a GDL90 heartbeat on port 4000. You can demonstrate this by commenting out the heartbeat, traffic, and ownship functions in gen_gdl90.heartBeatSender(), and recompiling :
This will suppress any of the port 4000 GDL90 messages from being transmitted -- i.e. the "FreeFlight" device effectively ceases to exist. All Stratux will send is the AHRS attitude data on port 49002. At that point, ForeFlight will recognize the Stratux AHRS device, and it will react as expected to pitch / roll inputs on the MPU6050 gyro. Frankly, I'm surprised they haven't done this sooner. Having a device simultaneously accept simulated inputs from X-Plane / MSFS and a certified FreeFlight device is a potentially serious safety of flight issue: any device on the same WiFi network as the Stratux and iPad can multicast packets to create false GPS positions, false attitudes, and false traffic reports. The long-term solution would be officially-documented GDL90 extensions that could be used in conjunction with the ownship report. |
Which are those? |
@cyoung -- that's the rub, isn't it? I certainly don't have them; I'm guessing by your comment that FF hasn't bought onto the 0x4c message format. It's not unprecedented that FF would provide third-party access to display AHRS data (witness Garmin Flight Stream and Dynon SkyView). The question is whether they'd open an API for an open source project like this. |
Not to convolute the issue, but this may explain why I have not been able to get the AHRS function to work with DroidEFB. I see the AHRS data in the Web UI, but it is not recognized in DroidEFB. In stratux.conf there is a capability parameter in: {"Conn":null,"Ip":"","Port":43211,"Capability":X} Wouldn't setting capability to 4 send the AHRS data out in the GDL90 format and not as the FFSIM format? Reference main/network.go: |
Sounds like a good followup question for @egid to ask FF. Are they indeed blcoking port 49002 when they have activity on port 4000. And most importantly, could they please be nice, pretty please, and let us know the protocol for sending AHRS data to port 4000 (or some special way to allow both ports again). |
The only way to reach those guys is through their wallet. On 12/10/2015 11:56 PM, monadical wrote:
|
Is the interface we need the same that Stratus uses with WingX? Could @hilton help with the ahrs protocol he's getting from Stratus? -Roberr
|
@RobertGary1 Looks like you mentioned the wrong person. |
Received this morning from Jason Miller, their CTO:
I'm following up and asking if they'll work with us when they start supporting FreeFlight AHRS data. |
A well-crafted answer. Since no positional information on a portable device can be used for navigation, it seems irrelevant to be concerned about the source. Kind of puts the Bad Elf folks out on a limb. |
My reply:
|
How does the Stratus give AHRA data to Foreflight? Sent from my iPhone
|
@hclark I interpreted his answer as saying "we're going to officially support non-Stratus AHRS, but not soon". I can see it being interpreted otherwise, though. I'm not sure where it puts Bad Elf, aside from unlikely to be funded anyway. @dbarrington1 Stratus only works with ForeFlight, so presumably it's a proprietary solution. As far as I understand it also doesn't use GDL90. Then again, the better question is perhaps 'how do Dynon and Garmin give AHRS data to ForeFlight?' :\ |
Info. from Seattle Avionics... |
Stratux AHRS support has been added to WingX Pro7 - this version will be released within days. Hilton |
Still waiting to hear back from ForeFlight after my last response. |
"Proprietary" or not, has anybody looked at the communication between Stratus and Foreflight? It's got to follow some basic protocols (UDP or TCP to start). |
Well, Seattle Avionics FlyQ supports it. So I guess they must have. Are there any other EFBs that support it? |
Someone explained it earlier; the ADS-B signals get sent to one specific On Thu, Dec 31, 2015 at 11:54 AM, James Shannon notifications@github.com
|
? I can't receive AHRS with my FlyQ - I asked Steve Podrachik about it and On Thu, Dec 31, 2015 at 12:00 PM, cyoung notifications@github.com wrote:
|
@hclark - My understanding is that that's how stratux works (or worked before Foreflight "cleaned up" their logic). However, Stratus 2 sends AHRS and it's not clear to me how it does so. If it used the same flight sim port "hack" as the stratux does, then it would presumably have stopped working recently as well. Since it didn't, it stands to reason that stratus uses some other communication. Even if FlyQ were to support the stratus, it doesn't necessarily mean that FlyQ is using the same protocol as Foreflight -- it could be that the Stratus has a foreflight-specific protocol, and also branched out to something that FlyQ supports. Anybody have a Stratus and FF and is handy-enough with wireshark or charles to log a session? |
Hope this helps: On 12/10/2015 06:48 AM, cyoung wrote:
|
@1-prop-head - don't see an attachment. If github doesn't like the upload you might try linking to the file on dropbox |
Lets try this capture file from WireShark again ForeFlight v7.5.1 Stratus2 (not 2s) AHRS active |
Ground level, no towers I assume? |
Suppose you took the capture at around 0440Z? |
There was a network started by the stratus, the ipad with FF, and a computer (with wireshark)? Presumably the computer joined the network second (before the ipad)? So the stratus is 10.26.36.1. I see a lot of broadcast UDP traffic going out on 41501, 41502, and 41504. (Flight sim support described earlier is on 49002, FWIW.) I see a lot of random DNS requests (e.g., msftncsi.com) from 10.26.36.2, so I suspect that's some random background stuff on the laptop. 10.26.36.3 (presumably the ipad) only sends out 3 messages (all UDP): "i want to play ffm udp". Weird, but probably not relevant. The .1 (stratus traffic) is beyond me. Lots of messages that start with 0x c2 53. There are a handful of messages with that have a series of integers that are similar (but not exactly the same as): 501010-000066R06501010-000065R00150500-00000 Does that look like ahrs data at all? |
We were reading the ffm ("FF" Mobile) message before: c38c384. FF sends this message and a few others when it goes out of context, iPad wakes up, or app just starts. |
On 01/01/2016 01:15 PM, cyoung wrote:
|
It was at 4:40 and it was done by a window in the house. The laptop tried to connect first but seemed to get rejected but still WireShark was seeing traffic so I connected ForeFlight and brought up the synthetic vision on the map page. Then I picked up the Stratus2 and tilted ti a bit and watched the iPad respond as expected. At that point I saved the capture.
|
I can record a real flight in the next couple of days and send you the WireShark capture file of the Stratus2-ForeFlight wifi comm. Perhaps with a matching Stratux log talking to a second iPad. Think about what you want to look at and I will set it up
|
Just a thought - since X-Flight will broadcast to Foreflight, would it be a lot easier to do a WireShark capture of that for the synthetic vision portion? |
Yet another WireShark capture file. This on has two different files the kmgyklpr2 file was done north east bound at 5000 feet using earlier firmware on the Stratus2 the klprI74 was done south west bound at 4500 feet and Stratux2 was updated just before take off so stratus had the latest firmware. ForeFlight was current and active and synthetic vision was working during these captures. |
There's not a whole lot to be done here - Tyson from ForeFlight has stated that this was done for liability concerns on their end. It appears (to me) that they have taken it upon themselves to endorse and guarantee every bit of data input into and displayed from their app. In either case, @hiltong has put forth effort to make sure that stratux and WingX are working together well - so if you want that, then that is currently the best option. |
So Chris; On Sun, Jan 10, 2016 at 4:44 PM, cyoung notifications@github.com wrote:
|
No, they won't. Steve P is responsive and willing to work on compatibility - we need to work on it. |
Glad to hear Steve P. is amenable; I have a lifetime subscription to FlyQ On Sun, Jan 10, 2016 at 6:46 PM, cyoung notifications@github.com wrote:
|
Nothing we can do about this - use WingX or disable port 4000 if you want to test AHRS with FF. |
There's a reddit thread on this, but I figured we'd be better off tracking an issue. The 7.5 upgrade seems to have broken AHRS, in that the
Stratux
device shows in the ForeFlight device list very, very rarely. I have had it show up, so it's not entirely busted. Just mostly. I've also seem a few seconds worth of AHRS.This reproduces on 0.4b4 and 0.5b1.
Expected: AHRS, when enabled in webui (GPS/AHRS) and ForeFlight (Devices > Stratux > AHRS).
Actual: 'No Attitude Information', GPS-only SV, Stratux device not visible 99% of time.
I seem to be able to temporarily force the Stratux device to show for a second or two if I swap to the webui, toggle AHRS off and on, and return to ForeFlight.
The text was updated successfully, but these errors were encountered: