10#define CSickLaserUSB_H
73 bool waitContinuousSampleFrame( std::vector<float> &ranges,
unsigned char &LMS_status, uint32_t &out_board_timestamp,
bool &is_mm_mode );
79 const std::string &iniSection );
94 m_serialNumber = deviceSerialNumber;
101 bool &outThereIsObservation,
103 bool &hardwareError );
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
This is the base, abstract class for "software drivers" interfaces to 2D scanners (laser range finder...
A definition of a CStream actually representing a USB connection to a FTDI chip.
This "software driver" implements the communication protocol for interfacing a SICK LMS2XX laser scan...
virtual ~CSickLaserUSB()
Destructor.
bool turnOn()
Enables the scanning mode (in this class this has no effect).
std::string m_serialNumber
bool turnOff()
Disables the scanning mode (in this class this has no effect).
void doProcessSimple(bool &outThereIsObservation, mrpt::obs::CObservation2DRangeScan &outObservation, bool &hardwareError)
Specific laser scanner "software drivers" must process here new data from the I/O stream,...
poses::CPose3D m_sensorPose
The sensor 6D pose:
void setDeviceSerialNumber(const std::string &deviceSerialNumber)
Changes the serial number of the device to open (call prior to 'doProcess')
bool checkControllerIsConnected()
void loadConfig_sensorSpecific(const mrpt::utils::CConfigFileBase &configSource, const std::string &iniSection)
See the class documentation at the top for expected parameters.
CSickLaserUSB()
Constructor.
uint32_t m_timeStartUI
Time of the first data packet, for synchronization purposes.
mrpt::system::TTimeStamp m_timeStartTT
bool waitContinuousSampleFrame(std::vector< float > &ranges, unsigned char &LMS_status, uint32_t &out_board_timestamp, bool &is_mm_mode)
CInterfaceFTDI * m_usbConnection
A "CObservation"-derived class that represents a 2D range scan measurement (typically from a laser sc...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
This class allows loading and storing values and vectors of different types from a configuration text...
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1,...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.