Robotics Library  0.7.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
rl::hal::SickS300 Class Reference

Sick S300 safety laser scanner. More...

#include <SickS300.h>

Inheritance diagram for rl::hal::SickS300:
Inheritance graph
[legend]

Public Member Functions

 SickS300 (const ::std::string &device="/dev/ttyS0", const Serial::BaudRate &baudRate=Serial::BAUDRATE_9600BPS)
 
virtual ~SickS300 ()
 
void close ()
 
::rl::math::Vector getDistances () 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
 
::rl::math::Real getResolution () const
 
::std::size_t getScanNumber () const
 
::rl::math::Real getStartAngle () const
 
::rl::math::Real getStopAngle () const
 
::std::size_t getTelegramNumber () const
 
void open ()
 
void start ()
 
void step ()
 
void stop ()
 
- Public Member Functions inherited from rl::hal::CyclicDevice
 CyclicDevice (const ::std::chrono::nanoseconds &updateRate)
 
virtual ~CyclicDevice ()
 
virtual ::std::chrono::nanoseconds getUpdateRate () const
 
- Public Member Functions inherited from rl::hal::Device
 Device ()
 
virtual ~Device ()
 
bool isConnected () const
 
bool isRunning () const
 
- Public Member Functions inherited from rl::hal::Lidar
 Lidar ()
 
virtual ~Lidar ()
 
- Public Member Functions inherited from rl::hal::RangeSensor
 RangeSensor ()
 
virtual ~RangeSensor ()
 

Private Member Functions

::std::uint16_t crc (const ::std::uint8_t *buf, const ::std::size_t &len) const
 
::std::size_t recv (::std::uint8_t *buf)
 

Private Attributes

::std::array< ::std::uint8_t, 2048 > data
 
Serial serial
 

Additional Inherited Members

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

Detailed Description

Sick S300 safety laser scanner.

Constructor & Destructor Documentation

◆ SickS300()

rl::hal::SickS300::SickS300 ( const ::std::string &  device = "/dev/ttyS0",
const Serial::BaudRate baudRate = Serial::BAUDRATE_9600BPS 
)

◆ ~SickS300()

rl::hal::SickS300::~SickS300 ( )
virtual

Member Function Documentation

◆ close()

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

Implements rl::hal::Device.

◆ crc()

std::uint16_t rl::hal::SickS300::crc ( const ::std::uint8_t *  buf,
const ::std::size_t &  len 
) const
private

◆ getDistances()

rl::math::Vector rl::hal::SickS300::getDistances ( ) const
virtual
Parameters
[out]distances[m]

Implements rl::hal::RangeSensor.

◆ getDistancesCount()

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

Implements rl::hal::RangeSensor.

◆ getDistancesMaximum()

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

Implements rl::hal::RangeSensor.

◆ getDistancesMinimum()

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

Implements rl::hal::RangeSensor.

◆ getResolution()

rl::math::Real rl::hal::SickS300::getResolution ( ) const
virtual

Implements rl::hal::Lidar.

◆ getScanNumber()

std::size_t rl::hal::SickS300::getScanNumber ( ) const

◆ getStartAngle()

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

Implements rl::hal::Lidar.

◆ getStopAngle()

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

Implements rl::hal::Lidar.

◆ getTelegramNumber()

std::size_t rl::hal::SickS300::getTelegramNumber ( ) const

◆ open()

void rl::hal::SickS300::open ( )
virtual

Implements rl::hal::Device.

◆ recv()

std::size_t rl::hal::SickS300::recv ( ::std::uint8_t *  buf)
private

◆ start()

void rl::hal::SickS300::start ( )
virtual
Precondition
open()

Implements rl::hal::Device.

◆ step()

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

Implements rl::hal::CyclicDevice.

◆ stop()

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

Implements rl::hal::Device.

Member Data Documentation

◆ data

::std::array< ::std::uint8_t, 2048> rl::hal::SickS300::data
private

◆ serial

Serial rl::hal::SickS300::serial
private

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