summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorasanoaozora <fifitaneki@hotmail.com>2017-11-17 11:24:27 +0100
committerasanoaozora <fifitaneki@hotmail.com>2017-11-17 11:24:27 +0100
commitd4c46f13019aefb11aebd0fc1210a29a46f0b521 (patch)
tree616b2fdac52ae431d62af6d83f844469b3cd187e
parent9725fe1f553197042d6445997690d452a73490c0 (diff)
downloadpositioning-d4c46f13019aefb11aebd0fc1210a29a46f0b521.tar.gz
Fix a bug in dbus-c++ to allow build with gcc 7.2.0
I added this: thanks to Orcan Ogetbil <oget.fedora@gm...>
-rw-r--r--enhanced-position-service/dbus/src/configuration.h3
-rw-r--r--enhanced-position-service/dbus/src/enhanced-position.cpp45
-rw-r--r--enhanced-position-service/dbus/src/enhanced-position.h7
-rw-r--r--enhanced-position-service/dbus/src/main.cpp3
-rw-r--r--enhanced-position-service/dbus/src/position-feedback.h3
-rw-r--r--enhanced-position-service/dbus/test/enhanced-position-client.h3
6 files changed, 62 insertions, 2 deletions
diff --git a/enhanced-position-service/dbus/src/configuration.h b/enhanced-position-service/dbus/src/configuration.h
index 35e6c6b..e9f23f8 100644
--- a/enhanced-position-service/dbus/src/configuration.h
+++ b/enhanced-position-service/dbus/src/configuration.h
@@ -18,6 +18,9 @@
#ifndef ___CONFIGURATION_H
#define ___CONFIGURATION_H
+#ifndef DBUS_HAS_RECURSIVE_MUTEX
+#define DBUS_HAS_RECURSIVE_MUTEX
+#endif
#include <dbus-c++/dbus.h>
#include "configuration-adaptor.h"
diff --git a/enhanced-position-service/dbus/src/enhanced-position.cpp b/enhanced-position-service/dbus/src/enhanced-position.cpp
index 9642485..62167c1 100644
--- a/enhanced-position-service/dbus/src/enhanced-position.cpp
+++ b/enhanced-position-service/dbus/src/enhanced-position.cpp
@@ -408,13 +408,52 @@ void EnhancedPosition::cbSatelliteDetail(const TGNSSSatelliteDetail satelliteDet
//mpSelf->SatelliteInfoUpdate(changedValues);
}
+void EnhancedPosition::cbAcceleration(const TAccelerationData accelerationData[], uint16_t numElements)
+{
+ LOG_INFO_MSG(gCtx,"Acceleration...");
+ for (int i = 0; i<numElements; i++)
+ {
+ LOG_INFO(gCtx,"Acceleration Update[%d/%d]: x=%d y=%d z=%d temperature=%d measurementInterval=%d validityBits=%d",
+ i+1,
+ numElements,
+ accelerationData[i].x,
+ accelerationData[i].y,
+ accelerationData[i].z,
+ accelerationData[i].temperature,
+ accelerationData[i].measurementInterval,
+ accelerationData[i].validityBits);
+ }
+}
+
+void EnhancedPosition::cbGyroscope(const TGyroscopeData gyroData[], uint16_t numElements)
+{
+ LOG_INFO_MSG(gCtx,"Gyroscope...");
+ for (int i = 0; i<numElements; i++)
+ {
+ LOG_INFO(gCtx,"Gyroscope Update[%d/%d]: yawRate=%d pitchRate=%d rollRate=%d temperature=%d measurementInterval=%d validityBits=%d",
+ i+1,
+ numElements,
+ gyroData[i].yawRate,
+ gyroData[i].pitchRate,
+ gyroData[i].rollRate,
+ gyroData[i].temperature,
+ gyroData[i].measurementInterval,
+ gyroData[i].validityBits);
+ }
+}
void EnhancedPosition::run()
{
LOG_INFO_MSG(gCtx,"Starting EnhancedPosition dispatcher...");
- gnssRegisterPositionCallback(&cbPosition);
- gnssRegisterSatelliteDetailCallback(&cbSatelliteDetail);
+ if (!gnssRegisterPositionCallback(&cbPosition))
+ LOG_ERROR_MSG(gCtx,"Position Callback not registered");
+ if (!gnssRegisterSatelliteDetailCallback(&cbSatelliteDetail))
+ LOG_ERROR_MSG(gCtx,"SatelliteDetail Callback not registered");
+ if (!snsGyroscopeRegisterCallback(&cbGyroscope))
+ LOG_ERROR_MSG(gCtx,"Gyroscope Callback not registered");
+ if (!snsAccelerationRegisterCallback(&cbAcceleration))
+ LOG_ERROR_MSG(gCtx,"Acceleration Callback not registered");
}
void EnhancedPosition::shutdown()
@@ -423,6 +462,8 @@ void EnhancedPosition::shutdown()
gnssDeregisterPositionCallback(&cbPosition);
gnssDeregisterSatelliteDetailCallback(&cbSatelliteDetail);
+ snsGyroscopeDeregisterCallback(&cbGyroscope);
+ snsAccelerationDeregisterCallback(&cbAcceleration);
}
diff --git a/enhanced-position-service/dbus/src/enhanced-position.h b/enhanced-position-service/dbus/src/enhanced-position.h
index dd03bc1..8dabe7e 100644
--- a/enhanced-position-service/dbus/src/enhanced-position.h
+++ b/enhanced-position-service/dbus/src/enhanced-position.h
@@ -18,11 +18,16 @@
#ifndef ___ENHANCED_POSITION_H
#define ___ENHANCED_POSITION_H
+#ifndef DBUS_HAS_RECURSIVE_MUTEX
+#define DBUS_HAS_RECURSIVE_MUTEX
+#endif
#include <dbus-c++/dbus.h>
#include "enhanced-position-adaptor.h"
#include "gnss-init.h"
#include "gnss.h"
+#include "acceleration.h"
+#include "gyroscope.h"
class EnhancedPosition
: public org::genivi::positioning::EnhancedPosition_adaptor
@@ -49,6 +54,8 @@ private:
static void cbSatelliteDetail(const TGNSSSatelliteDetail satelliteDetail[], uint16_t numElements);
static void cbPosition(const TGNSSPosition position[], uint16_t numElements);
+ static void cbAcceleration(const TAccelerationData accelerationData[], uint16_t numElements);
+ static void cbGyroscope(const TGyroscopeData gyroData[], uint16_t numElements);
static void sigPositionUpdate(const TGNSSPosition position[], uint16_t numElements);
diff --git a/enhanced-position-service/dbus/src/main.cpp b/enhanced-position-service/dbus/src/main.cpp
index 232d5a0..173f299 100644
--- a/enhanced-position-service/dbus/src/main.cpp
+++ b/enhanced-position-service/dbus/src/main.cpp
@@ -17,6 +17,9 @@
**************************************************************************/
#include <signal.h>
+#ifndef DBUS_HAS_RECURSIVE_MUTEX
+#define DBUS_HAS_RECURSIVE_MUTEX
+#endif
#include <dbus-c++/dbus.h>
#include "enhanced-position.h"
diff --git a/enhanced-position-service/dbus/src/position-feedback.h b/enhanced-position-service/dbus/src/position-feedback.h
index 59c0490..5b089a8 100644
--- a/enhanced-position-service/dbus/src/position-feedback.h
+++ b/enhanced-position-service/dbus/src/position-feedback.h
@@ -19,6 +19,9 @@
#ifndef ___POSITION_FEEDBACK_H
#define ___POSITION_FEEDBACK_H
+#ifndef DBUS_HAS_RECURSIVE_MUTEX
+#define DBUS_HAS_RECURSIVE_MUTEX
+#endif
#include <dbus-c++/dbus.h>
#include "position-feedback-adaptor.h"
diff --git a/enhanced-position-service/dbus/test/enhanced-position-client.h b/enhanced-position-service/dbus/test/enhanced-position-client.h
index 5bbe0f1..0738005 100644
--- a/enhanced-position-service/dbus/test/enhanced-position-client.h
+++ b/enhanced-position-service/dbus/test/enhanced-position-client.h
@@ -18,6 +18,9 @@
#ifndef __ENHANCED_POSITION_CLIENT_H
#define __ENHANCED_POSITION_CLIENT_H
+#ifndef DBUS_HAS_RECURSIVE_MUTEX
+#define DBUS_HAS_RECURSIVE_MUTEX
+#endif
#include <dbus-c++/dbus.h>
#include "enhanced-position-proxy.h"