I'm writing an internal C/C++ app to RUT955 and it needs to read the GNSS fix continuously with as little delay as possible (real-time tracking).
I have read this answer: https://community.teltonika-networks.com/248/rut955-nmea-packets?show=257#a257
I've already managed to make a "proof of concept" version reading NMEA from /dev/gps directly, but it indeed steals the data from gpsd daemon. (I suppose I could reassign symlinks and "tee" the port, but I wouldn't want to go there.)
Regarding the other methods, I'm guessing using gpsctl command and parsing its output isn't very fast. Using the Teltonika proprietary server protocol internally seems unnecessarily complicated and maybe not very fast either.
I'm thinking the best and "correct" method would be using standard libgps functions which talk to gpsd, but it seems to me that it is not included in the SDK (or some other/proprietary version of the library with the same name is included)? The gps.h source looks different from anything I can find on the Internet and it does not have the "standard" libgps functions: http://www.catb.org/gpsd/libgps.html
Is it supposed to be included?
Maybe related: I am not able to compile the firmware 00.06.02 using the SDK. Make stops at an error at libgps (gps.c is missing). Also there is no gpsd / libgps option in make menuconfig.