NTRIP client POC
Blindly stuffs TCP packets received over Bluetooth. RTCM or SPARTN. TCP message fragments aren't reassembled.
Tested on Linux, with PointPerfect(thingstream) and SparkFun RTK Surveyor firmware on custom harware. RTK Fixed is achieved.
See #5387. Comments requested. Android testing encouraged.
@edgecase14 , first and foremost, this is a super nice contribution, you're making a very nice entry into the QField community this month :)
I'll review the PR in a second. One big structural we'll need to change here is where the NTRIP communication is happening. We'll want this sitting at the NmeaGnssReceiver class instead of within the BluetoothReceiver class. One reason for that is that on Windows, Bluetooth connectivity often goes through virtual serial port where QField uses the serial port receiver to communicate with the GNSS device.
That shouldn't be a huge change here, just a bit of code reshuffling around.
@edgecase14 , following up on this, are you planning to push this exciting PR further? :)
Yes, just other work came up. I am new to github PR reviews if there's a quickstart guide you can point me to great otherwise I'll muddle my way through.
@edgecase14 , happy to hear you are forging ahead! :) Let me know if anything I said in my individual review comments was not clear.
You should insure that the pre-commit hook is installed locally (should just be a matter of typing pre-commit install in your terminal provided you have the pre-commit python package already installed on your system).
🍎 MacOS DMG universal builds
Download a MacOS DMG universal build of this PR for testing. (Built from commit d910ed718aaf1b358a49a7e3fda6d6ba58682d59)
🐧 Linux AppImage builds
Download a Linux AppImage build of this PR for testing. (Built from commit d910ed718aaf1b358a49a7e3fda6d6ba58682d59)
🪟 Windows builds
Download a Windows build of this PR for testing. (Built from commit d910ed718aaf1b358a49a7e3fda6d6ba58682d59)
Hi sorry if this is the wrong place, I am kind of new at this. The addition looks really cool and I think it is exactly what I have been looking for. Unfortunately I can currently only test this with windows and one specific GNSS Hardware, that is the "simpleRTK2B Lite" it has the ZED-F9P installed.
Firstly I tried connecting it to Qfield using the "WiFi NTRIP Master" by Ardusimple which works over wifi and tcp. With this Setup I get an RTK Fix, if RTK is handled by the "WiFi NTRIP Master" (This setup unfortunately can`t be used due to other constraints) but not if I try to let Qfield handle the RTK.
Secondly I tried using a USB connection and Unfortunately I can´t even properly connect the Board to Qfield using the COM Port. I can connect to the COM Port but I get no Position in Qfield, in U-Center I can connect to the Board using the COM Port and also get a Position.
Now to the Question. Are any of the things that I described above supposed to work or am basically just using it wrong? And if I am using it wrong how am I supposed to connect the GNSS to Qfield to get it to work.
Thanks in Advance!