Added libgps fix to support api version >7 and lower.
This commit is contained in:
parent
5da1376565
commit
a79d155bd6
@ -188,7 +188,11 @@ void SensorService::sendGPSLocationData()
|
||||
auto * locInd = indication.add_gps_location();
|
||||
|
||||
// epoch seconds
|
||||
locInd->set_timestamp(this->gpsData_.fix.time.tv_sec);
|
||||
#if GPSD_API_MAJOR_VERSION >= 7
|
||||
locInd->set_timestamp(this->gpsData_.fix.time.tv_sec);
|
||||
#else
|
||||
locInd->set_timestamp(this->gpsData_.fix.time);
|
||||
#endif
|
||||
// degrees
|
||||
locInd->set_latitude(this->gpsData_.fix.latitude * 1e7);
|
||||
locInd->set_longitude(this->gpsData_.fix.longitude * 1e7);
|
||||
@ -226,10 +230,19 @@ void SensorService::sensorPolling()
|
||||
this->previous = this->isNight;
|
||||
this->sendNightData();
|
||||
}
|
||||
|
||||
bool gpsDataAvailable = false;
|
||||
#if GPSD_API_MAJOR_VERSION >= 7
|
||||
if (gps_read (&this->gpsData_, NULL, 0) != -1) {
|
||||
gpsDataAvailable = true;
|
||||
}
|
||||
#else
|
||||
if (gps_read (&this->gpsData_) != -1) {
|
||||
gpsDataAvailable = true;
|
||||
}
|
||||
#endif
|
||||
if ((this->gpsEnabled_) &&
|
||||
(gps_waiting(&this->gpsData_, 0)) &&
|
||||
(gps_read(&this->gpsData_, nullptr, 0) > 0) &&
|
||||
(gpsDataAvailable == true) &&
|
||||
(this->gpsData_.fix.mode == MODE_2D || this->gpsData_.fix.mode == MODE_3D) &&
|
||||
(this->gpsData_.set & TIME_SET) &&
|
||||
(this->gpsData_.set & LATLON_SET))
|
||||
|
Loading…
x
Reference in New Issue
Block a user