Merge pull request #22 from opencardev/fix_libgps
Added libgps fix to support api version >7 and lower.
This commit is contained in:
commit
1a74e9f8d9
@ -188,7 +188,11 @@ void SensorService::sendGPSLocationData()
|
|||||||
auto * locInd = indication.add_gps_location();
|
auto * locInd = indication.add_gps_location();
|
||||||
|
|
||||||
// epoch seconds
|
// 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
|
// degrees
|
||||||
locInd->set_latitude(this->gpsData_.fix.latitude * 1e7);
|
locInd->set_latitude(this->gpsData_.fix.latitude * 1e7);
|
||||||
locInd->set_longitude(this->gpsData_.fix.longitude * 1e7);
|
locInd->set_longitude(this->gpsData_.fix.longitude * 1e7);
|
||||||
@ -226,10 +230,19 @@ void SensorService::sensorPolling()
|
|||||||
this->previous = this->isNight;
|
this->previous = this->isNight;
|
||||||
this->sendNightData();
|
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_) &&
|
if ((this->gpsEnabled_) &&
|
||||||
(gps_waiting(&this->gpsData_, 0)) &&
|
(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_.fix.mode == MODE_2D || this->gpsData_.fix.mode == MODE_3D) &&
|
||||||
(this->gpsData_.set & TIME_SET) &&
|
(this->gpsData_.set & TIME_SET) &&
|
||||||
(this->gpsData_.set & LATLON_SET))
|
(this->gpsData_.set & LATLON_SET))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user