gps_umd icon indicating copy to clipboard operation
gps_umd copied to clipboard

gpsd_client rtk support

Open nxdefiant opened this issue 3 years ago • 3 comments

Hi,

I noticed that gpsd_client reports -1 as status on the /extended_fix topic when status reported by gpsd is Real-Time Kinematic fixed or float.

I also noticed that the RTK-types are missing in the GPSStatus-message. Any preference for the integer values for RTK-fixed and RTK-float before I try to patch gpsd_client?

Because I wonder where the 18 and 33 did come from:

int16 STATUS_DGPS_FIX=18 # Fixed with DGPS
int16 STATUS_WAAS_FIX=33 # Fixed with WAAS

nxdefiant avatar Sep 14 '20 12:09 nxdefiant

I'm not sure where those values originally came from; it looks like they were added long before we started maintaining this package. I don't have any preference for those types, though, so feel free to add whatever makes sense to you.

pjreed avatar Sep 14 '20 18:09 pjreed

ok, to be honest, after looking at the code: It would be much easier if the status of the ros message would simply carry the status of the gpsd gps_data_t struct, but that would be an incompatible change for anyone using the integer values instead the constant names, e.g. STATUS_NO_FIX of gpsd_client is -1 while for gpsd it is 0.

nxdefiant avatar Sep 15 '20 06:09 nxdefiant

Simply passing the status from gpsd to the ros message would also make future changes easier, see gps.h: Move gps_data_t.status to gps_fix_t.status

Update: Now I see where the GPSStatus-values do come from :( http://docs.ros.org/melodic/api/sensor_msgs/html/msg/NavSatStatus.html

nxdefiant avatar Sep 15 '20 06:09 nxdefiant

I believe this was addressed by https://github.com/swri-robotics/gps_umd/pull/93 and https://github.com/swri-robotics/gps_umd/pull/94

danthony06 avatar May 09 '24 19:05 danthony06