QField icon indicating copy to clipboard operation
QField copied to clipboard

NTRIP client POC

Open edgecase14 opened this issue 5 months ago • 4 comments

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 avatar Aug 15 '25 01:08 edgecase14

@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.

nirvn avatar Aug 15 '25 02:08 nirvn

@edgecase14 , following up on this, are you planning to push this exciting PR further? :)

nirvn avatar Aug 29 '25 10:08 nirvn

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 avatar Aug 30 '25 22:08 edgecase14

@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).

nirvn avatar Aug 31 '25 11:08 nirvn

🍎 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)

qfield-fairy avatar Dec 16 '25 23:12 qfield-fairy

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!

Zeus1605 avatar Dec 23 '25 07:12 Zeus1605