I’m using the Reach Kit (Rover and Base Reach Modules), where Rover is integrated to Navio2+RPi 3 for my autonomous plane project. RPi 3 runs the latest version of ArduPlane (3.6.0) and uses a USB telemetry radio for communication with GCS. This command runs the APM:
sudo ArduPlane -C /dev/ttyUSB0 -E /dev/ttyAMA0
The Mission Planner, which runs on the GCS computer, has the version 1.3.39. Base Reach streams the RTCM corrections in the GCS WiFi, and those corrections are taken by the Mission Planner, using the Inject GPS feature and through the another USB telemetry radio (coupled with previous radio) the correction stream is passed to Navio2+RPi 3, as to the Rover Reach which is connected to Navio2 via UART port.
I can see the grey bars in the Rover Reach via the ReachView App, and it gives float or fix locations both from the ReachView app labels correctly, but the information of fix/float is not displayed in the HUD of Mission Planner.
Also the NMEA output acquired from Mission Planner’s ‘temp’ Menu (which opens with ctrl+f) does not contain the float/fix information, and passes wrong GPS locations (significantly differs from ReachView App locations) with ‘0’ (invalid) fix quality in GPGGA messages. I want to get the information from the RF link, as the WiFi link be down occasionally while flying over large distances.
The fix vs. no fix screenshot, the wrong NMEA output of Mission Planner (captured via AccessPort), and the ReachView App screenshot of both Reach modules are given below. If required, I can also post the parameters of Mission Planner.
recheck if you set correct baudrate in MP for serial4 (it’s “57” for baudrate 57600) GPS-Type2 to “1” (=Auto) and GpsAutoSwitch to “1” and GpsInjectTo to “1”!
Checked whether all the parameters are written as instructed in docs and as you’ve mentioned –it seems they were set correctly. Still, I’m posting the other GPS and Serial parameters in below screenshots for any possible help.
Hello.
The HUD of Mission Planner shows information of the primary GPS.
If you want to see status of second GPS (Reach) and coordinates you need to add “User Items” to the HUD or to window “Quick”: gpsstatus2, lat2, lng2.
Where status 3 - single, 4 - float and 5 - fix.
Many thanks, as your suggestion has solved the problem. I tested today and seen all three status in HUD. I’m posting the picture below as an example, in which I got a float precision.
However, as it can be seen from this picture, the fix/float information is still not passed to NMEA output of Mission Planner (messages include ‘invalid’ fix quality in the AccessPort). Is there a way that I can take fix/float information out of Mission Planner?
From the picture I am guessing you connected to MP’s NMEA stream, not Reach’s. I have never used this feature in MP, but it’s probably showing the data for the primary GPS. Moreover, primary GPS status shows No Fix on the screenshot. So my guess this is just a wrong data source.
I’ve rechecked Reach’s NMEA output, it seems to work fine.
After days of tests and efforts, I think I’ve reached to a solution. Although it’s said in docs that Reach should be a second GPS unit in APM, I’ve set Reach as the external GPS unit by changing the APM running command to following:
sudo ArduPlane -C /dev/ttyUSB0 -B /dev/ttyAMA0
This solved much of the problems, such as ‘No Fix’ at GPS status indicator and taking Reach’s latitude and longitude values as primary GPS values. But as seen below picture, due to mixing between barometer altitude and GPS altitude, the altitude value was not same with ReachView app.
As I’ve trusted to ReachView altitude more than barometer altitude, I’ve set the selected barometer to second barometer and changed the parameter of mix to 0, to set GPS altitude as the only data source. So far it seems to work and I got NMEA output with correct latitude, longitude and altitude values as I wanted.