diff options
Diffstat (limited to 'enhanced-position-service/src/enhanced-position.cpp')
-rw-r--r-- | enhanced-position-service/src/enhanced-position.cpp | 157 |
1 files changed, 78 insertions, 79 deletions
diff --git a/enhanced-position-service/src/enhanced-position.cpp b/enhanced-position-service/src/enhanced-position.cpp index 3895909..b440ce7 100644 --- a/enhanced-position-service/src/enhanced-position.cpp +++ b/enhanced-position-service/src/enhanced-position.cpp @@ -84,7 +84,7 @@ std::map< uint16_t, ::DBus::Variant > EnhancedPosition::GetData(const std::vecto { std::map< uint16_t, ::DBus::Variant > Data; - TGNSSSpatial spatial; + TGNSSPosition position; bool isPosRequested = false; bool isCourseRequested = false; @@ -108,42 +108,42 @@ std::map< uint16_t, ::DBus::Variant > EnhancedPosition::GetData(const std::vecto if(isPosRequested) { - if(gnssExtendedGetSpatial(&spatial)) + if(gnssGetPosition(&position)) { - if (spatial.validityBits & GNSS_SPATIAL_LATITUDE_VALID) + if (position.validityBits & GNSS_POSITION_LATITUDE_VALID) { - Data[POS_LATITUDE] = variant_double(spatial.latitude); + Data[POS_LATITUDE] = variant_double(position.latitude); } - if (spatial.validityBits & GNSS_SPATIAL_LONGITUDE_VALID) + if (position.validityBits & GNSS_POSITION_LONGITUDE_VALID) { - Data[POS_LONGITUDE] = variant_double(spatial.longitude); + Data[POS_LONGITUDE] = variant_double(position.longitude); } - if (spatial.validityBits & GNSS_SPATIAL_ALTITUDEMSL_VALID) + if (position.validityBits & GNSS_POSITION_ALTITUDEMSL_VALID) { - Data[POS_ALTITUDE] = variant_double(spatial.altitudeMSL); + Data[POS_ALTITUDE] = variant_double(position.altitudeMSL); } } } if(isCourseRequested) { - if(gnssExtendedGetSpatial(&spatial)) + if(gnssGetPosition(&position)) { - if (spatial.validityBits & GNSS_SPATIAL_HEADING_VALID) + if (position.validityBits & GNSS_POSITION_HEADING_VALID) { - Data[POS_HEADING] = variant_double(spatial.heading); + Data[POS_HEADING] = variant_double(position.heading); } - if (spatial.validityBits & GNSS_SPATIAL_HSPEED_VALID) + if (position.validityBits & GNSS_POSITION_HSPEED_VALID) { - Data[POS_SPEED] = variant_double(spatial.hSpeed); + Data[POS_SPEED] = variant_double(position.hSpeed); } - if (spatial.validityBits & GNSS_SPATIAL_VSPEED_VALID) + if (position.validityBits & GNSS_POSITION_VSPEED_VALID) { - Data[POS_CLIMB] = variant_double(spatial.vSpeed); + Data[POS_CLIMB] = variant_double(position.vSpeed); } } } @@ -154,38 +154,38 @@ std::map< uint16_t, ::DBus::Variant > EnhancedPosition::GetData(const std::vecto std::map< uint16_t, ::DBus::Variant > EnhancedPosition::GetPosition() { std::map< uint16_t, ::DBus::Variant > Position; - TGNSSSpatial spatial; + TGNSSPosition position; - if(gnssExtendedGetSpatial(&spatial)) + if(gnssGetPosition(&position)) { - if (spatial.validityBits & GNSS_SPATIAL_LATITUDE_VALID) + if (position.validityBits & GNSS_POSITION_LATITUDE_VALID) { - Position[POS_LATITUDE] = variant_double(spatial.latitude); + Position[POS_LATITUDE] = variant_double(position.latitude); } - if (spatial.validityBits & GNSS_SPATIAL_LONGITUDE_VALID) + if (position.validityBits & GNSS_POSITION_LONGITUDE_VALID) { - Position[POS_LONGITUDE] = variant_double(spatial.longitude); + Position[POS_LONGITUDE] = variant_double(position.longitude); } - if (spatial.validityBits & GNSS_SPATIAL_ALTITUDEMSL_VALID) + if (position.validityBits & GNSS_POSITION_ALTITUDEMSL_VALID) { - Position[POS_ALTITUDE] = variant_double(spatial.altitudeMSL); + Position[POS_ALTITUDE] = variant_double(position.altitudeMSL); } - if (spatial.validityBits & GNSS_SPATIAL_HEADING_VALID) + if (position.validityBits & GNSS_POSITION_HEADING_VALID) { - Position[POS_HEADING] = variant_double(spatial.heading); + Position[POS_HEADING] = variant_double(position.heading); } - if (spatial.validityBits & GNSS_SPATIAL_HSPEED_VALID) + if (position.validityBits & GNSS_POSITION_HSPEED_VALID) { - Position[POS_SPEED] = variant_double(spatial.hSpeed); + Position[POS_SPEED] = variant_double(position.hSpeed); } - if (spatial.validityBits & GNSS_SPATIAL_VSPEED_VALID) + if (position.validityBits & GNSS_POSITION_VSPEED_VALID) { - Position[POS_CLIMB] = variant_double(spatial.vSpeed); + Position[POS_CLIMB] = variant_double(position.vSpeed); } } @@ -237,7 +237,7 @@ std::map< uint16_t, ::DBus::Variant > EnhancedPosition::GetTime() return Time; } -void EnhancedPosition::sigPositionUpdate(const TGNSSSpatial spatial[], uint16_t numElements) +void EnhancedPosition::sigPositionUpdate(const TGNSSPosition position[], uint16_t numElements) { bool latChanged = false; bool lonChanged = false; @@ -245,10 +245,9 @@ void EnhancedPosition::sigPositionUpdate(const TGNSSSpatial spatial[], uint16_t bool speedChanged = false; bool headingChanged = false; bool climbChanged = false; - - std::vector< uint16_t > position; - if (spatial == NULL || numElements < 1) + + if (position == NULL || numElements < 1) { LOG_ERROR_MSG(gCtx,"sigPositionUpdate failed!"); return; @@ -259,38 +258,38 @@ void EnhancedPosition::sigPositionUpdate(const TGNSSSpatial spatial[], uint16_t LOG_INFO(gCtx,"Position Update[%d/%d]: lat=%f lon=%f alt=%f", i+1, numElements, - spatial[i].latitude, - spatial[i].longitude, - spatial[i].altitudeMSL); + position[i].latitude, + position[i].longitude, + position[i].altitudeMSL); if (latChanged == false) { - latChanged = (spatial[i].validityBits & GNSS_SPATIAL_LATITUDE_VALID); + latChanged = (position[i].validityBits & GNSS_POSITION_LATITUDE_VALID); } if (lonChanged == false) { - lonChanged = (spatial[i].validityBits & GNSS_SPATIAL_LONGITUDE_VALID); + lonChanged = (position[i].validityBits & GNSS_POSITION_LONGITUDE_VALID); } if (altChanged == false) { - altChanged = (spatial[i].validityBits & GNSS_SPATIAL_ALTITUDEMSL_VALID); + altChanged = (position[i].validityBits & GNSS_POSITION_ALTITUDEMSL_VALID); } if (speedChanged == false) { - speedChanged = (spatial[i].validityBits & GNSS_SPATIAL_HSPEED_VALID); + speedChanged = (position[i].validityBits & GNSS_POSITION_HSPEED_VALID); } if (headingChanged == false) { - headingChanged = (spatial[i].validityBits & GNSS_SPATIAL_HEADING_VALID); + headingChanged = (position[i].validityBits & GNSS_POSITION_HEADING_VALID); } if (climbChanged == false) { - climbChanged = (spatial[i].validityBits & GNSS_SPATIAL_VSPEED_VALID); + climbChanged = (position[i].validityBits & GNSS_POSITION_VSPEED_VALID); } } @@ -344,7 +343,7 @@ void EnhancedPosition::sigPositionUpdate(const TGNSSSpatial spatial[], uint16_t } -void EnhancedPosition::sigAccuracyUpdate(const TGNSSSpatial spatial[], uint16_t numElements) +void EnhancedPosition::sigAccuracyUpdate(const TGNSSPosition position[], uint16_t numElements) { bool pdopChanged = false; bool hdopChanged = false; @@ -352,7 +351,7 @@ void EnhancedPosition::sigAccuracyUpdate(const TGNSSSpatial spatial[], uint16_t bool sigmaHPosChanged = false; bool sigmaAltitudeChanged = false; - if (spatial == NULL || numElements < 1) + if (position == NULL || numElements < 1) { LOG_ERROR_MSG(gCtx,"sigAccuracyUpdate failed!"); return; @@ -364,35 +363,35 @@ void EnhancedPosition::sigAccuracyUpdate(const TGNSSSpatial spatial[], uint16_t sigmaHPosition=%f sigmaAltitude=%f", i+1, numElements, - spatial[i].pdop, - spatial[i].hdop, - spatial[i].vdop, - spatial[i].sigmaHPosition, - spatial[i].sigmaAltitude); + position[i].pdop, + position[i].hdop, + position[i].vdop, + position[i].sigmaHPosition, + position[i].sigmaAltitude); if (pdopChanged == false) { - pdopChanged = (spatial[i].validityBits & GNSS_SPATIAL_PDOP_VALID); + pdopChanged = (position[i].validityBits & GNSS_POSITION_PDOP_VALID); } if (hdopChanged == false) { - hdopChanged = (spatial[i].validityBits & GNSS_SPATIAL_HDOP_VALID); + hdopChanged = (position[i].validityBits & GNSS_POSITION_HDOP_VALID); } if (vdopChanged == false) { - vdopChanged = (spatial[i].validityBits & GNSS_SPATIAL_VDOP_VALID); + vdopChanged = (position[i].validityBits & GNSS_POSITION_VDOP_VALID); } if (sigmaHPosChanged == false) { - sigmaHPosChanged = (spatial[i].validityBits & GNSS_SPATIAL_SHPOS_VALID); + sigmaHPosChanged = (position[i].validityBits & GNSS_POSITION_SHPOS_VALID); } if (sigmaAltitudeChanged == false) { - sigmaAltitudeChanged = (spatial[i].validityBits & GNSS_SPATIAL_SALT_VALID); + sigmaAltitudeChanged = (position[i].validityBits & GNSS_POSITION_SALT_VALID); } } @@ -441,13 +440,13 @@ void EnhancedPosition::sigAccuracyUpdate(const TGNSSSpatial spatial[], uint16_t mpSelf->AccuracyUpdate(changedAccuracyValues); } -void EnhancedPosition::sigStatusUpdate(const TGNSSSpatial spatial[], uint16_t numElements) +void EnhancedPosition::sigStatusUpdate(const TGNSSPosition position[], uint16_t numElements) { bool fixStatusChanged = false; bool fixTypeBitsChanged = false; - if (spatial == NULL || numElements < 1) + if (position == NULL || numElements < 1) { LOG_ERROR_MSG(gCtx,"sigStatusUpdate failed!"); return; @@ -458,17 +457,17 @@ void EnhancedPosition::sigStatusUpdate(const TGNSSSpatial spatial[], uint16_t nu LOG_INFO(gCtx,"Status Update[%d/%d]: fixStatus=%d fixTypeBits=0x%08X", i+1, numElements, - spatial[i].fixStatus, - spatial[i].fixTypeBits); + position[i].fixStatus, + position[i].fixTypeBits); if (fixStatusChanged == false) { - fixStatusChanged = (spatial[i].validityBits & GNSS_SPATIAL_STAT_VALID); + fixStatusChanged = (position[i].validityBits & GNSS_POSITION_STAT_VALID); } if (fixTypeBitsChanged == false) { - fixTypeBitsChanged = (spatial[i].validityBits & GNSS_SPATIAL_TYPE_VALID); + fixTypeBitsChanged = (position[i].validityBits & GNSS_POSITION_TYPE_VALID); } } @@ -497,7 +496,7 @@ void EnhancedPosition::sigStatusUpdate(const TGNSSSpatial spatial[], uint16_t nu -void EnhancedPosition::sigSatelliteInfoUpdate(const TGNSSSpatial spatial[], uint16_t numElements) +void EnhancedPosition::sigSatelliteInfoUpdate(const TGNSSPosition position[], uint16_t numElements) { //satellite info bool usedSatellitesChanged = false; @@ -506,7 +505,7 @@ void EnhancedPosition::sigSatelliteInfoUpdate(const TGNSSSpatial spatial[], uint - if (spatial == NULL || numElements < 1) + if (position == NULL || numElements < 1) { LOG_ERROR_MSG(gCtx,"sigSatelliteInfoUpdate failed!"); return; @@ -517,23 +516,23 @@ void EnhancedPosition::sigSatelliteInfoUpdate(const TGNSSSpatial spatial[], uint LOG_INFO(gCtx,"SatelliteInfo Update[%d/%d]: usedSatellites=%d trackedSatellites=%d visibleSatellites=%d", i+1, numElements, - spatial[i].usedSatellites, - spatial[i].trackedSatellites, - spatial[i].visibleSatellites); + position[i].usedSatellites, + position[i].trackedSatellites, + position[i].visibleSatellites); if (usedSatellitesChanged == false) { - usedSatellitesChanged = (spatial[i].validityBits & GNSS_SPATIAL_USAT_VALID); + usedSatellitesChanged = (position[i].validityBits & GNSS_POSITION_USAT_VALID); } if (trackedSatellitesChanged == false) { - trackedSatellitesChanged = (spatial[i].validityBits & GNSS_SPATIAL_TSAT_VALID); + trackedSatellitesChanged = (position[i].validityBits & GNSS_POSITION_TSAT_VALID); } if (visibleSatellitesChanged == false) { - visibleSatellitesChanged = (spatial[i].validityBits & GNSS_SPATIAL_VSAT_VALID); + visibleSatellitesChanged = (position[i].validityBits & GNSS_POSITION_VSAT_VALID); } } @@ -573,12 +572,12 @@ void EnhancedPosition::sigSatelliteInfoUpdate(const TGNSSSpatial spatial[], uint } -void EnhancedPosition::cbSpatial(const TGNSSSpatial spatial[], uint16_t numElements) +void EnhancedPosition::cbPosition(const TGNSSPosition position[], uint16_t numElements) { - sigPositionUpdate(spatial, numElements); - sigAccuracyUpdate(spatial, numElements); - sigStatusUpdate(spatial, numElements); - sigSatelliteInfoUpdate(spatial, numElements); + sigPositionUpdate(position, numElements); + sigAccuracyUpdate(position, numElements); + sigStatusUpdate(position, numElements); + sigSatelliteInfoUpdate(position, numElements); } @@ -641,24 +640,24 @@ void EnhancedPosition::run() exit(EXIT_FAILURE); } - if(!gnssExtendedInit()) + if(!gnssInit()) { exit(EXIT_FAILURE); } LOG_INFO_MSG(gCtx,"Starting EnhancedPosition dispatcher..."); - gnssExtendedRegisterSpatialCallback(&cbSpatial); - gnssExtendedRegisterSatelliteDetailCallback(&cbSatelliteDetail); + gnssRegisterPositionCallback(&cbPosition); + gnssRegisterSatelliteDetailCallback(&cbSatelliteDetail); } void EnhancedPosition::shutdown() { LOG_INFO_MSG(gCtx,"Shutting down EnhancedPosition dispatcher..."); - gnssExtendedDeregisterSpatialCallback(&cbSpatial); - gnssExtendedDeregisterSatelliteDetailCallback(&cbSatelliteDetail); - gnssExtendedDestroy(); + gnssDeregisterPositionCallback(&cbPosition); + gnssDeregisterSatelliteDetailCallback(&cbSatelliteDetail); + gnssDestroy(); gnssDestroy(); } |