yarp-devices
Public Member Functions | Private Attributes | List of all members
roboticslab::CanReaderThread Class Reference

A thread that deals with CAN reads. More...

#include <CanRxTxThreads.hpp>

Inheritance diagram for roboticslab::CanReaderThread:
roboticslab::CanReaderWriterThread

Public Member Functions

 CanReaderThread (const std::string &id, double delay, unsigned int bufferSize)
 Constructor.
 
void registerHandle (ICanBusSharer *p)
 Map CAN node ids with handles.
 
const std::vector< ICanBusSharer * > & getHandles () const
 Retrieve collection of handles to wrapped CAN devices.
 
void attachCanNotifier (ICanMessageNotifier *canMessageNotifier)
 Attach custom CAN message responder handle.
 
void run () override
 
- Public Member Functions inherited from roboticslab::CanReaderWriterThread
 CanReaderWriterThread (const std::string &type, const std::string &id, double delay, unsigned int bufferSize)
 Constructor.
 
 ~CanReaderWriterThread () override=default
 Virtual destructor.
 
bool threadInit () override
 Invoked by the thread right before it is started.
 
void threadRelease () override
 Invoked by the thread right after it is started.
 
void beforeStart () override
 Invoked by the caller right before the thread is started.
 
void afterStart (bool success) override
 Invoked by the caller right before the thread is joined.
 
void onStop () override
 Callback on thread stop.
 
void setCanHandles (yarp::dev::ICanBus *iCanBus, yarp::dev::ICanBufferFactory *iCanBufferFactory)
 Configure CAN interface handles.
 
void attachDumpWriter (yarp::os::Contactable *dumpPort, yarp::os::PortWriterBuffer< yarp::os::Bottle > *dumpWriter, std::mutex *dumpMutex)
 Attach YARP port writer for CAN message dumping.
 
void attachBusLoadMonitor (ICanMessageNotifier *busLoadMonitor)
 Attach CAN bus load monitor.
 

Private Attributes

std::vector< ICanBusSharer * > handles
 
std::unordered_map< unsigned int, ICanBusSharer * > canIdToHandle
 
ICanMessageNotifiercanMessageNotifier
 

Additional Inherited Members

- Static Protected Member Functions inherited from roboticslab::CanReaderWriterThread
static void dumpMessage (const can_message &msg, yarp::os::Bottle &b)
 Dump a CAN message to a YARP bottle.
 
- Protected Attributes inherited from roboticslab::CanReaderWriterThread
yarp::dev::ICanBus * iCanBus
 
yarp::dev::ICanBufferFactory * iCanBufferFactory
 
yarp::dev::CanBuffer canBuffer
 
yarp::os::Contactable * dumpPort
 
yarp::os::PortWriterBuffer< yarp::os::Bottle > * dumpWriter
 
std::mutex * dumpMutex
 
yarp::os::Stamp lastStamp
 
ICanMessageNotifierbusLoadMonitor
 
unsigned int bufferSize
 
double delay
 

Detailed Description

Messages are forwarded to each raw subdevice given the CAN node ID.


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