Fawkes API
Fawkes Development Version
|
22 #include "acquisition_thread.h"
24 #include <core/threading/mutex.h>
25 #include <interfaces/IMUInterface.h>
101 const std::string &cfg_name,
102 const std::string &cfg_prefix)
105 cfg_prefix_(cfg_prefix),
106 cfg_continuous_(continuous)
112 for (
unsigned int i = 0; i < 4; ++i)
114 for (
unsigned int i = 0; i < 9; ++i)
116 for (
unsigned int i = 0; i < 3; ++i)
118 for (
unsigned int i = 0; i < 9; ++i)
120 for (
unsigned int i = 0; i < 3; ++i)
122 for (
unsigned int i = 0; i < 9; ++i)
126 IMUAcquisitionThread::~IMUAcquisitionThread()
void lock()
Lock this mutex.
void set_orientation_covariance(unsigned int index, const double new_orientation_covariance)
Set orientation_covariance value at given index.
void set_frame(const char *new_frame)
Set frame value.
void set_angular_velocity_covariance(unsigned int index, const double new_angular_velocity_covariance)
Set angular_velocity_covariance value at given index.
float linear_acceleration_[3]
virtual void finalize()
Finalize the thread.
IMUAcquisitionThread(const char *thread_name, bool continuous, const std::string &cfg_name, const std::string &cfg_prefix)
Constructor.
virtual void loop()
Code to execute in the thread.
void unlock()
Unlock the mutex.
void set_timestamp(const Time *t=NULL)
Set timestamp.
void set_linear_acceleration(unsigned int index, const float new_linear_acceleration)
Set linear_acceleration value at given index.
virtual void close(Interface *interface)=0
void set_orientation(unsigned int index, const float new_orientation)
Set orientation value at given index.
virtual void init()
Initialize the thread.
void set_auto_timestamping(bool enabled)
Enable or disable automated timestamping.
bool lock_if_new_data()
Lock data if fresh.
virtual std::string get_string(const char *path)=0
double orientation_covariance_[9]
fawkes::Mutex * data_mutex_
void set_linear_acceleration_covariance(unsigned int index, const double new_linear_acceleration_covariance)
Set linear_acceleration_covariance value at given index.
double angular_velocity_covariance_[9]
double linear_acceleration_covariance_[9]
void write()
Write from local copy into BlackBoard memory.
void unlock()
Unlock data,.
virtual Interface * open_for_writing(const char *interface_type, const char *identifier, const char *owner=NULL)=0
float angular_velocity_[3]
void set_angular_velocity(unsigned int index, const float new_angular_velocity)
Set angular_velocity value at given index.
fawkes::Time * timestamp_