9 #include <Eigen/Geometry> 10 #include <unsupported/Eigen/FFT> 11 #include <boost/circular_buffer.hpp> 29 unsigned char data[2];
63 CircularBuffer myBuffer;
65 boost::circular_buffer<float> cbAccX;
66 boost::circular_buffer<float> cbAccY;
67 boost::circular_buffer<float> cbAccZ;
68 Eigen::Matrix <double,imu_imar::NUMAXIS,1> velocity;
69 Eigen::Matrix <double,imu_imar::NUMAXIS,1> displacement;
122 bool init_serial (
const char *name,
const int bauds);
154 bool read_serial(
unsigned char * bufferpr,
int nbytes);
230 void cbWritePckg(
int nbytes,
unsigned char * values);
259 bool cbCopyPckg(
unsigned char *pckg,
int len);
340 Eigen::Matrix <double,imu_imar::NUMAXIS,1>
getVelocity();
342 Eigen::Matrix <double,imu_imar::NUMAXIS,1>
getPosition();
344 unsigned short crc16(
unsigned char *data_p,
int length);
346 unsigned int Crc16_0(
unsigned char const * pByte,
unsigned Size);
int getPacketCounter()
It gives the package counter.
Definition: Imar.cpp:678
int cbIsFull()
Returns if the circular buffer is full.
Definition: Imar.cpp:321
unsigned char counter
Definition: Imar.hpp:35
Eigen::Matrix< double, imu_imar::NUMAXIS, 1 > getAccelerometers()
It gets the Accelerometers values.
Definition: Imar.cpp:643
DATAGRAN_CONST
Definition: Imar.hpp:23
Eigen::Matrix< double, imu_imar::NUMAXIS, 1 > getVelocity()
Definition: Imar.cpp:754
bool cbIsSynchronized()
Returns if the driver is Synchronized.
Definition: Imar.cpp:337
bool open_port(const char *name)
This method opens a serial port.
Definition: Imar.cpp:71
bool read_serial(unsigned char *bufferpr, int nbytes)
Function to read values from a serial port connection.
Definition: Imar.cpp:270
bool init_serial(const char *name, const int bauds)
This method opens and configures a serial port.
Definition: Imar.cpp:181
int length
Definition: Imar.hpp:46
UINT16 crc
Definition: Imar.hpp:51
void cbWritePckg(int nbytes, unsigned char *values)
It writes information in the Cicular Buffer.
Definition: Imar.cpp:342
void cbCalculateAccIntegration(const float omega)
Definition: Imar.cpp:684
Eigen::Quaternion< double > getAttitude()
It gets the attitude or orientation.
Definition: Imar.cpp:667
void cbReset()
Definition: Imar.cpp:847
bool write_serial(char *command, int nbytes)
This method write values in the serial port.
Definition: Imar.cpp:246
CONSTS
Definition: Imar.hpp:17
bool cbReadValues()
It reads a IMU packages.
Definition: Imar.cpp:477
bool cbSynchronize()
It synchronizes the circular buffer.
Definition: Imar.cpp:356
bool cbCopyPckg(unsigned char *pckg, int len)
It reads a information from the circular buffer.
Definition: Imar.cpp:441
int size
Definition: Imar.hpp:36
iVRU_BB()
Definition: Imar.cpp:49
unsigned short crc16(unsigned char *data_p, int length)
Definition: Imar.cpp:761
int read
Definition: Imar.hpp:37
Eigen::Matrix< double, imu_imar::NUMAXIS, 1 > getGyroscopes()
It gets the Gyroscopes values.
Definition: Imar.cpp:655
void cbPrintValues()
It prints the values stored in ImuData.
Definition: Imar.cpp:632
unsigned int microseconds
Definition: Imar.hpp:45
void welcome()
Dummy Welcome method.
Definition: Imar.cpp:305
int cbIsEmpty()
Returns if the circular buffer is Empty.
Definition: Imar.cpp:329
int getDescriptor()
Returns file decriptor.
Definition: Imar.cpp:313
~iVRU_BB()
Definition: Imar.cpp:63
int write
Definition: Imar.hpp:38
unsigned int Crc16_0(unsigned char const *pByte, unsigned Size)
Definition: Imar.cpp:833
bool close_port()
Function to close an open serial port connection.
Definition: Imar.cpp:291
unsigned char counter
Definition: Imar.hpp:44
Eigen::Matrix< double, imu_imar::NUMAXIS, 1 > getPosition()
Definition: Imar.cpp:749
int cbNumberElements()
It gives the number of elements stored in the Circular Buffer.
Definition: Imar.cpp:423