1 #ifndef QUALISYS_DRIVER_HPP__
2 #define QUALISYS_DRIVER_HPP__
5 #include <iodrivers_base/Driver.hpp>
7 #include <base/Eigen.hpp>
37 throw std::runtime_error(
"QTM Protocol: invalid packet size.");
40 throw std::runtime_error(
"QTM Protocol: Invalid packet type.");
61 : size( size ), type( type )
91 throw std::runtime_error(
"QTMComponent: Invalid component type");
110 class Driver :
public iodrivers_base::Driver
126 void connect(
const std::string& host,
const unsigned int base_port = 22222 );
155 bool getTransform( base::Time& time, base::Affine3d& transform );
165 int extractPacket( uint8_t
const* buffer,
size_t size)
const;
int extractPacket(uint8_t const *buffer, size_t size) const
Definition: Driver.cpp:231
void loadParameters(std::vector< std::string > &labels)
load marker configuration data from the server
Definition: Driver.cpp:86
bool setQTMVersion(int major, int minor)
Definition: Driver.cpp:192
uint32_t size
Definition: Driver.hpp:245
float z
Definition: Driver.hpp:105
Driver()
Definition: Driver.cpp:18
uint8_t * buffer
Definition: Driver.hpp:171
bool getTransform(base::Time &time, base::Affine3d &transform)
read a marker packet
Definition: Driver.cpp:111
size_t buffer_size
Definition: Driver.hpp:172
float y
Definition: Driver.hpp:105
float rot[9]
Definition: Driver.hpp:106
qualisys::Driver __attribute__
Definition: Driver.hpp:103
uint32_t type
Definition: Driver.hpp:246
std::string getBufferString()
Definition: Driver.cpp:183
void startStreamData(const std::string &label)
start streaming marker data from the QTM Server
Definition: Driver.cpp:55
void connect(const std::string &host, const unsigned int base_port=22222)
connect to qualisys server
Definition: Driver.cpp:37
Definition: Driver.hpp:110
float x
Definition: Driver.hpp:105
bool readQTMPacket(QTMHeader::EPacketType type)
Definition: Driver.cpp:143
bool readQTMString(std::string &qtmstring)
Definition: Driver.cpp:173
void stopStreamData()
stop streaming of marker data
Definition: Driver.cpp:77
~Driver()
Definition: Driver.cpp:26
static const size_t MAX_MARKERS
maximum number of markers supported
Definition: Driver.hpp:168
void writeQTMCommand(const std::string &cmd)
Definition: Driver.cpp:214
int body_idx
Definition: Driver.hpp:174