11 #include <yarp/dev/DeviceDriver.h>
12 #include <yarp/dev/IGenericSensor.h>
13 #include <yarp/dev/MultipleAnalogSensorsInterfaces.h>
14 #include <yarp/os/Stamp.h>
15 #include <yarp/dev/IPreciselyTimed.h>
19 #ifndef __iCubSimulationIMUh__
20 #define __iCubSimulationIMUh__
23 public yarp::dev::DeviceDriver,
24 public yarp::dev::IThreeAxisGyroscopes,
25 public yarp::dev::IThreeAxisLinearAccelerometers,
26 public yarp::dev::IThreeAxisMagnetometers,
27 public yarp::dev::IOrientationSensors
34 bool open(yarp::os::Searchable &config)
override;
35 bool close()
override;
70 yarp::dev::MAS_status genericGetStatus(
size_t sens_index)
const;
71 bool genericGetSensorName(
size_t sens_index, std::string &name)
const;
72 bool genericGetFrameName(
size_t sens_index, std::string &frameName)
const;
74 yarp::os::Stamp lastStamp;
75 std::string m_sensorName;
76 std::string m_frameName;
77 mutable std::mutex m_mutex;
bool getThreeAxisMagnetometerFrameName(size_t sens_index, std::string &frameName) const override
size_t getNrOfThreeAxisLinearAccelerometers() const override
yarp::dev::MAS_status getThreeAxisLinearAccelerometerStatus(size_t sens_index) const override
bool getThreeAxisLinearAccelerometerFrameName(size_t sens_index, std::string &frameName) const override
yarp::dev::MAS_status getThreeAxisGyroscopeStatus(size_t sens_index) const override
size_t getNrOfOrientationSensors() const override
virtual ~iCubSimulationIMU()
bool getThreeAxisMagnetometerName(size_t sens_index, std::string &name) const override
bool getThreeAxisLinearAccelerometerName(size_t sens_index, std::string &name) const override
size_t getNrOfThreeAxisGyroscopes() const override
size_t getNrOfThreeAxisMagnetometers() const override
bool open(yarp::os::Searchable &config) override
bool getThreeAxisGyroscopeName(size_t sens_index, std::string &name) const override
void updateIMUData(const yarp::os::Bottle &imuData)
bool getThreeAxisMagnetometerMeasure(size_t sens_index, yarp::sig::Vector &out, double ×tamp) const override
bool getThreeAxisLinearAccelerometerMeasure(size_t sens_index, yarp::sig::Vector &out, double ×tamp) const override
bool getOrientationSensorName(size_t sens_index, std::string &name) const override
yarp::dev::MAS_status getOrientationSensorStatus(size_t sens_index) const override
yarp::dev::MAS_status getThreeAxisMagnetometerStatus(size_t sens_index) const override
bool getOrientationSensorFrameName(size_t sens_index, std::string &frameName) const override
bool getThreeAxisGyroscopeMeasure(size_t sens_index, yarp::sig::Vector &out, double ×tamp) const override
bool getOrientationSensorMeasureAsRollPitchYaw(size_t sens_index, yarp::sig::Vector &rpy, double ×tamp) const override
bool getThreeAxisGyroscopeFrameName(size_t sens_index, std::string &frameName) const override