Go to the documentation of this file.
9 #ifndef CSickLaserSerial_H
10 #define CSickLaserSerial_H
92 uint8_t m_received_frame_buffer[2000];
105 const std::string &iniSection );
126 m_com_baudRate = baud;
140 void setScanFOV(
int fov_degrees) { m_scans_FOV = fov_degrees; }
157 bool &outThereIsObservation,
159 bool &hardwareError );
CSerialPort * m_mySerialPort
Will be !=NULL only if I created it, so I must destroy it at the end.
virtual ~CSickLaserSerial()
Destructor
int getScanResolution() const
unsigned int getCurrentConnectTry() const
If performing several tries in ::initialize(), this is the current try loop number.
bool LMS_setupSerialComms()
Assures laser is connected and operating at 38400, in its case returns true.
bool SendCommandToSICK(const uint8_t *cmd, const uint16_t cmd_len)
Send header+command-data+crc and waits for ACK. Return false on error.
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...
int m_com_baudRate
Baudrate: 9600, 38400, 500000.
std::string getSerialPort() const
bool turnOff()
Disables the scanning mode (in this class this has no effect).
std::string m_com_port
If set to non-empty, the serial port will be attempted to be opened automatically when this class is ...
CSickLaserSerial()
Constructor
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.
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
bool LMS_endContinuousMode()
mrpt::math::TPose3D m_sensorPose
The sensor 6D pose:
This is the base, abstract class for "software drivers" interfaces to 2D scanners (laser range finder...
void setScanFOV(int fov_degrees)
Set the scanning field of view - possible values are 100 or 180 (default) (call prior to 'doProcess')...
This class allows loading and storing values and vectors of different types from a configuration text...
int m_scans_res
1/100th of deg: 100, 50 or 25
unsigned int m_nTries_current
void initialize()
Set-up communication with the laser.
bool LMS_sendMeasuringMode_cm_mm()
Returns false on error.
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
A communications serial port built as an implementation of a utils::CStream.
void loadConfig_sensorSpecific(const mrpt::utils::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.
bool LMS_waitACK(uint16_t timeout_ms)
Returns false if timeout.
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 waitContinuousSampleFrame(std::vector< float > &ranges, unsigned char &LMS_status, bool &is_mm_mode)
bool LMS_waitIncomingFrame(uint16_t timeout)
Returns false if timeout.
bool tryToOpenComms(std::string *err_msg=NULL)
Tries to open the com port and setup all the LMS protocol. Returns true if OK or already open.
bool LMS_setupBaudrate(int baud)
Send a command to change the LMS comms baudrate, return true if ACK is OK. baud can be: 9600,...
bool LMS_startContinuousMode()
int m_scans_FOV
100 or 180 deg
bool LMS_statusQuery()
Send a status query and wait for the answer. Return true on OK.
void setSerialPort(const std::string &port)
Changes the serial port to connect to (call prior to 'doProcess'), for example "COM1" or "ttyS0".
bool turnOn()
Enables the scanning mode (in this class this has no effect).
Page generated by Doxygen 1.8.20 for MRPT 1.4.0 SVN: at Thu Aug 27 02:40:23 UTC 2020 | | |