and for reach use the following repository instead of the official one mentioned at the recompiling reach RTKLIB source code: git clone --depth 5 https://github.com/amilcarlucas/RTKLIB.git -b IAV
The advantages of this improved ardupilot integration are:
Fixes a couple of bugs in emlid implementation, that prevent proper ardupilot integration
Futhermore, if you use a single unified 3DR/RFD900 Mavlink based datalink you get some more advantages. In other words: Reach rover must ONLY be connected to serial4 of ardupilot, reach base MUST ONLY be connected to your GCS PC via USB cable and set up as a TCP/IP RTCM injecting server. These following two extra advantages will not be present if you use a side channel (for example a second set of 3DR radios) to inject RTCM corrections.
Normally the range of the 3DR radios used to carry the Mavlink messages is bigger than the reach WLAN, so your range will increase.
You can disable WLAN on both reach base and reach rover modules, that should prevent and/or reduce interference.
@Amilcar_Lucas, regarding the Ethernet over USB cable approach, have you had any problems problems with the Edison network interface being used first by browsers and other programs attempting to connect to local servers or the Internet. I’ve had to get into the habit of starting the browser or my GCS (which connects to a local database) before plugging in the Reach since they attempt to connect to the Reach’s network rather than the local network interface if the Reach is plugged in before I start my other programs.
So far I did not have this issue. I’m still using windows 7. I turn off reach WLAN every time after each reboot.
But my mavproxy still gets the corrections via 192.168.2.15 (Eth over USB) without any issues after that.
Have you ever had any hangs from other programs that attempt to connect to local servers running on the laptop as localhost (not on the Reach) or servers on the Internet?
Reach FW >= 2.7.4 already have this feature, so no need to recompile the Reach FW
Ardupilot from master branch >= 2017.11.1 already has this feature, so there is no need to get a branch.You can get master and compile it.