Conscience Core
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
conscience_core::lidar::CscLidarEngine Class Reference

#include <CscLidarEngine.h>

Inheritance diagram for conscience_core::lidar::CscLidarEngine:
conscience_core::lidar::CscLidar2DEngineSimulated conscience_core::lidar::CscLidarEngineRplidar

Public Member Functions

 CscLidarEngine ()
 
virtual void startEngine ()
 
virtual void stopEngine ()
 
const LidarValuesgetCurrentValues ()
 
LidarValues getCurrentValuesCopy ()
 
void integrateValuesAtTime (const map< double, double > &newValues, unsigned long long timestamp, optional< OdometryData > odometry={})
 
virtual ~CscLidarEngine ()
 
void activateLidarMode (CscLidarMode newLidarMode)
 
void addLidarMode (CscLidarMode newLidarMode)
 
void removeLidarMode (CscLidarMode lidarModeToRemove)
 
bool isLidarModeRunning (CscLidarMode lidarModeSearched)
 
bool isLidarModeActive (CscLidarMode lidarModeSearched)
 
bool isLidarEngineActivated ()
 
void stopLidarEngine ()
 
unsigned long long getLastLidarValuesTime () const
 
unsigned long long getLidarValuesTimeToRetrieve () const
 
unsigned long long getLidarValuesTimeBetweenUpdate () const
 
void setOnNewValuesListener (const optional< function< void(const LidarValues &)>> &onNewValues={})
 
optional< function< void()> > getOnActivatedListener () const
 
void setOnActivatedListener (const optional< function< void()>> &onActivated={})
 

Static Public Member Functions

static bool isSlamAutoEnabled ()
 

Protected Attributes

mutex lidarValuesMutex
 
LidarValues values
 
optional< function< void(const LidarValues &)> > onNewValues = {}
 
optional< function< void()> > onActivated = {}
 
std::unique_ptr< CscLoggerlogger
 

Constructor & Destructor Documentation

◆ CscLidarEngine()

conscience_core::lidar::CscLidarEngine::CscLidarEngine ( )

◆ ~CscLidarEngine()

conscience_core::lidar::CscLidarEngine::~CscLidarEngine ( )
virtual

Member Function Documentation

◆ activateLidarMode()

void conscience_core::lidar::CscLidarEngine::activateLidarMode ( CscLidarMode  newLidarMode)

◆ addLidarMode()

void conscience_core::lidar::CscLidarEngine::addLidarMode ( CscLidarMode  newLidarMode)

◆ getCurrentValues()

const LidarValues & conscience_core::lidar::CscLidarEngine::getCurrentValues ( )
Warning
not thread safe, direct access to lidar values - which can be modified during access - see getCurrentValuesCopy
See also
getCurrentValuesCopy()

◆ getCurrentValuesCopy()

LidarValues conscience_core::lidar::CscLidarEngine::getCurrentValuesCopy ( )
Returns
thread safe lidar values copy

◆ getLastLidarValuesTime()

unsigned long long conscience_core::lidar::CscLidarEngine::getLastLidarValuesTime ( ) const

◆ getLidarValuesTimeBetweenUpdate()

unsigned long long conscience_core::lidar::CscLidarEngine::getLidarValuesTimeBetweenUpdate ( ) const

◆ getLidarValuesTimeToRetrieve()

unsigned long long conscience_core::lidar::CscLidarEngine::getLidarValuesTimeToRetrieve ( ) const

◆ getOnActivatedListener()

optional< function< void()> > conscience_core::lidar::CscLidarEngine::getOnActivatedListener ( ) const

◆ integrateValuesAtTime()

void conscience_core::lidar::CscLidarEngine::integrateValuesAtTime ( const map< double, double > &  newValues,
unsigned long long  timestamp,
optional< OdometryData odometry = {} 
)
Parameters
newValuessee LidarValues::lidarValues map for units

◆ isLidarEngineActivated()

bool conscience_core::lidar::CscLidarEngine::isLidarEngineActivated ( )

◆ isLidarModeActive()

bool conscience_core::lidar::CscLidarEngine::isLidarModeActive ( CscLidarMode  lidarModeSearched)

◆ isLidarModeRunning()

bool conscience_core::lidar::CscLidarEngine::isLidarModeRunning ( CscLidarMode  lidarModeSearched)

◆ isSlamAutoEnabled()

bool conscience_core::lidar::CscLidarEngine::isSlamAutoEnabled ( )
static

◆ removeLidarMode()

void conscience_core::lidar::CscLidarEngine::removeLidarMode ( CscLidarMode  lidarModeToRemove)

◆ setOnActivatedListener()

void conscience_core::lidar::CscLidarEngine::setOnActivatedListener ( const optional< function< void()>> &  onActivated = {})

◆ setOnNewValuesListener()

void conscience_core::lidar::CscLidarEngine::setOnNewValuesListener ( const optional< function< void(const LidarValues &)>> &  onNewValues = {})

◆ startEngine()

void conscience_core::lidar::CscLidarEngine::startEngine ( )
virtual

◆ stopEngine()

void conscience_core::lidar::CscLidarEngine::stopEngine ( )
virtual

◆ stopLidarEngine()

void conscience_core::lidar::CscLidarEngine::stopLidarEngine ( )

Member Data Documentation

◆ lidarValuesMutex

mutex conscience_core::lidar::CscLidarEngine::lidarValuesMutex
protected

◆ logger

std::unique_ptr<CscLogger> conscience_core::lidar::CscLidarEngine::logger
protected

◆ onActivated

optional<function<void()> > conscience_core::lidar::CscLidarEngine::onActivated = {}
protected

◆ onNewValues

optional<function<void(const LidarValues &)> > conscience_core::lidar::CscLidarEngine::onNewValues = {}
protected

◆ values

LidarValues conscience_core::lidar::CscLidarEngine::values
protected

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