Robotics Library  0.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
rl::hal::SchmersalLss300 Class Reference

#include <SchmersalLss300.h>

Inheritance diagram for rl::hal::SchmersalLss300:
Inheritance graph
[legend]
Collaboration diagram for rl::hal::SchmersalLss300:
Collaboration graph
[legend]

Public Types

enum  BaudRate { BAUDRATE_9600BPS, BAUDRATE_19200BPS, BAUDRATE_38400BPS, BAUDRATE_57600BPS }
 
enum  Monitoring { MONITORING_CONTINUOUS, MONITORING_SINGLE }
 

Public Member Functions

 SchmersalLss300 (const ::std::string &device="/dev/ttyS0", const BaudRate &baudRate=BAUDRATE_9600BPS, const Monitoring &monitoring=MONITORING_SINGLE, const ::std::string &password="PASS_LSS")
 
virtual ~SchmersalLss300 ()
 
void close ()
 
BaudRate getBaudRate () const
 
void getDistances (::rl::math::Vector &distances) const
 
::std::size_t getDistancesCount () const
 
::rl::math::Real getDistancesMaximum (const ::std::size_t &i) const
 
::rl::math::Real getDistancesMinimum (const ::std::size_t &i) const
 
Monitoring getMonitoring () const
 
::rl::math::Real getResolution () const
 
::rl::math::Real getStartAngle () const
 
::rl::math::Real getStopAngle () const
 
::std::string getType ()
 
void open ()
 
void reset ()
 
void setBaudRate (const BaudRate &baudRate)
 
void setMonitoring (const Monitoring &monitoring)
 
void start ()
 
void step ()
 
void stop ()
 
- Public Member Functions inherited from rl::hal::Lidar
 Lidar ()
 
virtual ~Lidar ()
 
- Public Member Functions inherited from rl::hal::RangeSensor
 RangeSensor ()
 
virtual ~RangeSensor ()
 
- Public Member Functions inherited from rl::hal::Device
 Device ()
 
virtual ~Device ()
 
bool isConnected () const
 
bool isRunning () const
 

Private Member Functions

uint16_t crc (const uint8_t *buf, const ::std::size_t &len) const
 
::std::size_t recv (uint8_t *buf, const ::std::size_t &len, const uint8_t &command)
 
void send (uint8_t *buf, const ::std::size_t &len)
 
bool waitAck ()
 

Private Attributes

BaudRate baudRate
 
uint8_t configuration
 
uint8_t data [1013]
 
BaudRate desired
 
Monitoring monitoring
 
::std::string password
 
Serialserial
 
::rl::util::Timer timer
 

Additional Inherited Members

- Protected Member Functions inherited from rl::hal::Device
void setConnected (const bool &connected)
 
void setRunning (const bool &running)
 

Member Enumeration Documentation

Enumerator
BAUDRATE_9600BPS 

9,600 bps.

BAUDRATE_19200BPS 

19,200 bps.

BAUDRATE_38400BPS 

38,400 bps.

BAUDRATE_57600BPS 

57,600 bps.

Enumerator
MONITORING_CONTINUOUS 
MONITORING_SINGLE 

Constructor & Destructor Documentation

rl::hal::SchmersalLss300::SchmersalLss300 ( const ::std::string &  device = "/dev/ttyS0",
const BaudRate baudRate = BAUDRATE_9600BPS,
const Monitoring monitoring = MONITORING_SINGLE,
const ::std::string &  password = "PASS_LSS" 
)
Parameters
passwordString with 8 characters comprising "0...9", "a...z", "A...Z", and "_".
rl::hal::SchmersalLss300::~SchmersalLss300 ( )
virtual

Member Function Documentation

void rl::hal::SchmersalLss300::close ( )
virtual
Precondition
stop()

Implements rl::hal::Device.

uint16_t rl::hal::SchmersalLss300::crc ( const uint8_t *  buf,
const ::std::size_t &  len 
) const
private
SchmersalLss300::BaudRate rl::hal::SchmersalLss300::getBaudRate ( ) const
void rl::hal::SchmersalLss300::getDistances ( ::rl::math::Vector distances) const
virtual
Parameters
distances[m]

Implements rl::hal::RangeSensor.

std::size_t rl::hal::SchmersalLss300::getDistancesCount ( ) const
virtual

Implements rl::hal::RangeSensor.

rl::math::Real rl::hal::SchmersalLss300::getDistancesMaximum ( const ::std::size_t &  i) const
virtual
Returns
[m]

Implements rl::hal::RangeSensor.

rl::math::Real rl::hal::SchmersalLss300::getDistancesMinimum ( const ::std::size_t &  i) const
virtual
Returns
[m]

Implements rl::hal::RangeSensor.

SchmersalLss300::Monitoring rl::hal::SchmersalLss300::getMonitoring ( ) const
rl::math::Real rl::hal::SchmersalLss300::getResolution ( ) const
virtual

Implements rl::hal::Lidar.

rl::math::Real rl::hal::SchmersalLss300::getStartAngle ( ) const
virtual

Implements rl::hal::Lidar.

rl::math::Real rl::hal::SchmersalLss300::getStopAngle ( ) const
virtual

Implements rl::hal::Lidar.

std::string rl::hal::SchmersalLss300::getType ( )
void rl::hal::SchmersalLss300::open ( )
virtual

Implements rl::hal::Device.

std::size_t rl::hal::SchmersalLss300::recv ( uint8_t *  buf,
const ::std::size_t &  len,
const uint8_t &  command 
)
private
void rl::hal::SchmersalLss300::reset ( )
void rl::hal::SchmersalLss300::send ( uint8_t *  buf,
const ::std::size_t &  len 
)
private
void rl::hal::SchmersalLss300::setBaudRate ( const BaudRate baudRate)
void rl::hal::SchmersalLss300::setMonitoring ( const Monitoring monitoring)
void rl::hal::SchmersalLss300::start ( )
virtual
Precondition
open()

Implements rl::hal::Device.

void rl::hal::SchmersalLss300::step ( )
virtual
Precondition
start()

Implements rl::hal::Device.

void rl::hal::SchmersalLss300::stop ( )
virtual
Precondition
open()

Implements rl::hal::Device.

bool rl::hal::SchmersalLss300::waitAck ( )
private

Member Data Documentation

BaudRate rl::hal::SchmersalLss300::baudRate
private
uint8_t rl::hal::SchmersalLss300::configuration
private
uint8_t rl::hal::SchmersalLss300::data[1013]
private
BaudRate rl::hal::SchmersalLss300::desired
private
Monitoring rl::hal::SchmersalLss300::monitoring
private
::std::string rl::hal::SchmersalLss300::password
private
Serial* rl::hal::SchmersalLss300::serial
private
::rl::util::Timer rl::hal::SchmersalLss300::timer
private

The documentation for this class was generated from the following files: