1 #ifndef _STIM300_BASE_HPP_
2 #define _STIM300_BASE_HPP_
7 #include <boost/crc.hpp>
8 #include <boost/math/special_functions/fpclassify.hpp>
9 #include <Eigen/Geometry>
10 #include <iodrivers_base/Driver.hpp>
11 #include <base/Time.hpp>
30 static const double STIM300_GRAVITY = 9.80665;
32 static const unsigned int DEFAULT_SAMPLING_FREQUENCY = 2000;
85 bool open(std::string
const& filename);
104 virtual int extractPacket(uint8_t
const* buffer,
size_t buffer_size)
const = 0;
Definition: Stim300Base.hpp:34
int baudrate
Definition: Stim300Base.hpp:59
bool getStatus()
Return the STIM300 internal status Return the negation value of the internal_error variable...
Definition: Stim300Base.cpp:171
void setPackageTimeout(double timeoutSeconds)
Ste the package Timeout.
Definition: Stim300Base.cpp:159
Eigen::Vector3d getInclData()
Return the Inclinometers values.
Definition: Stim300Base.cpp:201
boost::uint32_t expectedCRC
Definition: Stim300Base.hpp:69
double latency
Definition: Stim300Base.hpp:55
double convertLatency2Microseconds(uint8_t const *buffer)
Definition: Stim300Base.cpp:318
Definition: Stim300Base.hpp:28
void welcome()
Definition: Stim300Base.cpp:21
Definition: Stim300Base.hpp:48
virtual int extractPacket(uint8_t const *buffer, size_t buffer_size) const =0
bool fullReset()
Definition: Stim300Base.cpp:40
STIM300_MODES
Definition: Stim300Base.hpp:16
bool internal_error
Definition: Stim300Base.hpp:66
int getPacketCounter()
Return the Incremental counter Return the value of the value of the counter in inertial_values.
Definition: Stim300Base.cpp:186
double convertAcc2IncreVel(uint8_t const *buffer)
Definition: Stim300Base.cpp:272
uint64_t getPacketLatency()
Return the datagram latency in microseconds (us) Return the latency calculated by the device...
Definition: Stim300Base.cpp:211
bool setBaudrate(int brate)
Definition: Stim300Base.cpp:33
signed int value
Definition: Stim300Base.hpp:45
virtual void printInfo()=0
Get sensors information.
imu_stim300::ACC_OUTPUT getAccOutputType()
Get Accelerometer Output Mode.
Definition: Stim300Base.cpp:181
bool setAcctoIncrementalVelocity()
Set Accelerometers output to Incremental velocity Internally enters in SERVICEMODE and It always retu...
Definition: Stim300Base.cpp:102
Definition: Stim300Base.hpp:16
ACC_OUTPUT acc_output
Definition: Stim300Base.hpp:68
DATAGRAM_CONTENT
Definition: Stim300Base.hpp:19
Definition: Stim300Base.hpp:28
boost::uint32_t calculatedCRC
Definition: Stim300Base.hpp:69
int sampling_frequency
Definition: Stim300Base.hpp:60
Definition: Stim300Base.hpp:16
Definition: Stim300Base.hpp:21
std::vector< double > getTempData()
Return the Temperature values from Gyros.
Definition: Stim300Base.cpp:206
void setFrequency(int sampling_frequency)
Ste the driver sampling frequency.
Definition: Stim300Base.cpp:164
uint8_t counter
Definition: Stim300Base.hpp:50
double convertGyro2AngularRate(uint8_t const *buffer)
Definition: Stim300Base.cpp:221
signed int value
Definition: Stim300Base.hpp:40
bool checksum
Definition: Stim300Base.hpp:56
STIM300_MODES modes
Definition: Stim300Base.hpp:65
Definition: Stim300Base.hpp:20
Eigen::Vector3d getAccData()
Return the Accelerometers values.
Definition: Stim300Base.cpp:191
bool enterServiceMode()
Enter in Service mode (not transferring data, configuration only)
Definition: Stim300Base.cpp:72
bool getChecksumStatus()
Return Checksum verification from the last computation.
Definition: Stim300Base.cpp:216
Definition: Stim300Base.hpp:23
Definition: Stim300Base.hpp:38
ACC_OUTPUT
Definition: Stim300Base.hpp:28
int getFileDescriptor()
It gets the file descriptor (fd)
Definition: Stim300Base.cpp:176
base::Time pckgTimeout
Definition: Stim300Base.hpp:62
std::vector< double > temp
Definition: Stim300Base.hpp:54
Eigen::Vector3d getGyroData()
Return the Gyroscopes values.
Definition: Stim300Base.cpp:196
double convertTemp2Celsius(uint8_t const *buffer)
Definition: Stim300Base.cpp:297
Stim300Base(int max_packet_size)
Definition: Stim300Base.cpp:5
double convertIncl2Acceleration(uint8_t const *buffer)
Definition: Stim300Base.cpp:247
~Stim300Base()
Definition: Stim300Base.cpp:15
Definition: Stim300Base.hpp:43
sensor_values inertial_values
Definition: Stim300Base.hpp:64
Definition: Stim300Base.hpp:16
uint8_t prev_counter
Definition: Stim300Base.hpp:63
virtual int processPacket()=0
read the package and puts the data into the corresponding structures. *
int counter_ratio
Definition: Stim300Base.hpp:61
bool open(std::string const &filename)
Definition: Stim300Base.cpp:26
imu_stim300::DATAGRAM_CONTENT content
Definition: Stim300Base.hpp:67
virtual double convertAcc2Acceleration(uint8_t const *buffer)=0
Definition: Stim300Base.hpp:28
Definition: Stim300Base.hpp:24
Definition: Stim300Base.hpp:22