yarp-devices
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
CanBusHico Class Reference

Specifies the HicoCan (hcanpci) behaviour and specifications.

#include <CanBusHico.hpp>

Inheritance diagram for CanBusHico:
CanBusHico_ParamsParser

Classes

class  FilterManager
 

Public Member Functions

bool open (yarp::os::Searchable &config) override
 
bool close () override
 
bool canSetBaudRate (unsigned int rate) override
 
bool canGetBaudRate (unsigned int *rate) override
 
bool canIdAdd (unsigned int id) override
 
bool canIdDelete (unsigned int id) override
 
bool canRead (yarp::dev::CanBuffer &msgs, unsigned int size, unsigned int *read, bool wait=false) override
 
bool canWrite (const yarp::dev::CanBuffer &msgs, unsigned int size, unsigned int *sent, bool wait=false) override
 
bool canGetErrors (yarp::dev::CanErrors &err) override
 
- Public Member Functions inherited from CanBusHico_ParamsParser
bool parseParams (const yarp::os::Searchable &config) override
 
std::string getDeviceClassName () const override
 
std::string getDeviceName () const override
 
std::string getDocumentationOfDeviceParams () const override
 
std::vector< std::string > getListOfParams () const override
 

Private Types

enum  io_operation { READ , WRITE }
 

Private Member Functions

FilterManager::filter_config parseFilterConfiguration (const std::string &str)
 
bool waitUntilTimeout (io_operation op, bool *bufferReady)
 
bool bitrateToId (unsigned int bitrate, unsigned int *id)
 
bool idToBitrate (unsigned int id, unsigned int *bitrate)
 

Private Attributes

int fileDescriptor {0}
 
std::mutex canBusReady
 
std::pair< bool, unsigned int > bitrateState
 
FilterManagerfilterManager {nullptr}
 
FilterManager::filter_config filterConfig
 

Additional Inherited Members

- Public Attributes inherited from CanBusHico_ParamsParser
const std::string m_device_classname = {"CanBusHico"}
 
const std::string m_device_name = {"CanBusHico"}
 
bool m_parser_is_strict = false
 
const parser_version_type m_parser_version = {}
 
const std::string m_port_defaultValue = {"/dev/can0"}
 
const std::string m_bitrate_defaultValue = {"1000000"}
 
const std::string m_blockingMode_defaultValue = {"true"}
 
const std::string m_allowPermissive_defaultValue = {"false"}
 
const std::string m_rxTimeoutMs_defaultValue = {"1"}
 
const std::string m_txTimeoutMs_defaultValue = {"0"}
 
const std::string m_filterConfiguration_defaultValue = {"disabled"}
 
const std::string m_preserveFilters_defaultValue = {"true"}
 
const std::string m_filteredIds_defaultValue = {""}
 
std::string m_port = {"/dev/can0"}
 
int m_bitrate = {1000000}
 
bool m_blockingMode = {true}
 
bool m_allowPermissive = {false}
 
int m_rxTimeoutMs = {1}
 
int m_txTimeoutMs = {0}
 
std::string m_filterConfiguration = {"disabled"}
 
bool m_preserveFilters = {true}
 
std::vector< int > m_filteredIds = {}
 

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