Feature #5346
openGPSManager: Enable NFD to obtain GPS-based position from local gpsd
0%
Description
GPSManager works as a gpsd client and obtains latitude, longitude, altitude, and optionally horizontal movement direction, speed, and vertical speed from local gpsd. It has two main classes: GPSReader, which reads raw GPS data from local gpsd, and GPSManager, which manages the GPSReader and makes location information available to other parts of the system.
The code achieves its purpose through a multi-threaded approach. The GPSReader runs in a separate thread that continuously polls gpsd for new data. When valid GPS data is received, it updates the current location information. The GPSManager class uses the Singleton pattern (getInstance()) to ensure only one instance manages the GPS functionality throughout the system.
GPSManager and related files will only be compiled when ./waf configure --with-gps
is specified.