Go to the documentation of this file.
9 #ifndef CSickLaserSerial_H
10 #define CSickLaserSerial_H
90 std::vector<float>& ranges,
unsigned char& LMS_status,
191 bool& outThereIsObservation,
193 bool& hardwareError);
int getScanResolution() const
unsigned int getCurrentConnectTry() const
If performing several tries in ::initialize(), this is the current try loop number.
unsigned __int16 uint16_t
bool LMS_statusQuery()
Send a status query and wait for the answer.
A "CObservation"-derived class that represents a 2D range scan measurement (typically from a laser sc...
void setMillimeterMode(bool mm_mode=true)
Enables/Disables the millimeter mode, with a greater accuracy but a shorter range (default=false) (ca...
void initialize()
Set-up communication with the laser.
int m_com_baudRate
Baudrate: 9600, 38400, 500000.
std::string getSerialPort() const
std::string m_com_port
If set to non-empty, the serial port will be attempted to be opened automatically when this class is ...
A communications serial port built as an implementation of a utils::CStream.
bool m_skip_laser_config
If true, doesn't send the initialization commands to the laser and go straight to capturing.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
bool LMS_setupBaudrate(int baud)
Send a command to change the LMS comms baudrate, return true if ACK is OK.
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
CSickLaserSerial()
Constructor
bool tryToOpenComms(std::string *err_msg=nullptr)
Tries to open the com port and setup all the LMS protocol.
mrpt::math::TPose3D m_sensorPose
The sensor 6D pose:
bool LMS_setupSerialComms()
Assures laser is connected and operating at 38400, in its case returns true.
This is the base, abstract class for "software drivers" interfaces to 2D scanners (laser range finder...
uint8_t m_received_frame_buffer[2000]
virtual ~CSickLaserSerial()
Destructor
void setScanFOV(int fov_degrees)
Set the scanning field of view - possible values are 100 or 180 (default) (call prior to 'doProcess')...
bool SendCommandToSICK(const uint8_t *cmd, const uint16_t cmd_len)
Send header+command-data+crc and waits for ACK.
This class allows loading and storing values and vectors of different types from a configuration text...
bool LMS_waitIncomingFrame(uint16_t timeout)
Returns false if timeout.
int m_scans_res
1/100th of deg: 100, 50 or 25
unsigned int m_nTries_current
bool waitContinuousSampleFrame(std::vector< float > &ranges, unsigned char &LMS_status, bool &is_mm_mode)
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
void loadConfig_sensorSpecific(const mrpt::config::CConfigFileBase &configSource, const std::string &iniSection)
See the class documentation at the top for expected parameters.
This "software driver" implements the communication protocol for interfacing a SICK LMS 2XX laser sca...
void setScanResolution(int res_1_100th_degree)
Set the scanning resolution, in units of 1/100 degree - Possible values are 25, 50 and 100,...
void setBaudRate(int baud)
Changes the serial port baud rate (call prior to 'doProcess'); valid values are 9600,...
unsigned int m_nTries_connect
Default = 1.
mrpt::comms::CSerialPort * m_mySerialPort
Will be !=nullptr only if I created it, so I must destroy it at the end.
GLsizei const GLchar ** string
bool turnOn()
Enables the scanning mode (in this class this has no effect).
bool LMS_endContinuousMode()
bool LMS_sendMeasuringMode_cm_mm()
Returns false on error.
int m_scans_FOV
100 or 180 deg
void setSerialPort(const std::string &port)
Changes the serial port to connect to (call prior to 'doProcess'), for example "COM1" or "ttyS0".
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,...
bool turnOff()
Disables the scanning mode (in this class this has no effect).
bool LMS_startContinuousMode()
bool LMS_waitACK(uint16_t timeout_ms)
Returns false if timeout.
Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST | |