Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
dataspeed_can_usb::CanDriver Class Reference

#include <CanDriver.h>

Classes

struct  Channel
 
struct  Filter
 

Public Member Functions

 CanDriver (ros::NodeHandle &nh, ros::NodeHandle &nh_priv, lusb::UsbDevice *dev=NULL, const std::string &name=std::string("Dataspeed USB CAN Tool"), const ModuleVersion &firmware=ModuleVersion(10, 4, 0))
 
 ~CanDriver ()
 

Private Member Functions

void recvDevice (unsigned int channel, uint32_t id, bool extended, uint8_t dlc, const uint8_t data[8])
 
void recvRos (const can_msgs::Frame::ConstPtr &msg, unsigned int channel)
 
bool sampleTimeOffset (ros::WallDuration &offset, ros::WallDuration &delay)
 
void serviceDevice ()
 
ros::WallTime stampDev2Ros (unsigned int dev_stamp)
 
void timerFlushCallback (const ros::WallTimerEvent &event)
 
void timerServiceCallback (const ros::WallTimerEvent &event)
 

Private Attributes

std::vector< Channelchannels_
 
CanUsbdev_
 
bool error_topic_
 
ModuleVersion firmware_
 
std::string mac_addr_
 
boost::mutex mutex_
 
std::string name_
 
ros::NodeHandle nh_
 
ros::NodeHandle nh_priv_
 
ros::Publisher pub_version_
 
std::vector< ros::Publisherpubs_
 
std::vector< ros::Publisherpubs_err_
 
std::vector< ros::Subscribersubs_
 
bool sync_time_
 
ros::WallTimer timer_flush_
 
ros::WallTimer timer_service_
 
uint32_t total_drops_
 

Detailed Description

Definition at line 59 of file CanDriver.h.

Constructor & Destructor Documentation

◆ CanDriver()

dataspeed_can_usb::CanDriver::CanDriver ( ros::NodeHandle nh,
ros::NodeHandle nh_priv,
lusb::UsbDevice dev = NULL,
const std::string &  name = std::string("Dataspeed USB CAN Tool"),
const ModuleVersion firmware = ModuleVersion(10,4,0) 
)

Definition at line 106 of file CanDriver.cpp.

◆ ~CanDriver()

dataspeed_can_usb::CanDriver::~CanDriver ( )

Definition at line 156 of file CanDriver.cpp.

Member Function Documentation

◆ recvDevice()

void dataspeed_can_usb::CanDriver::recvDevice ( unsigned int  channel,
uint32_t  id,
bool  extended,
uint8_t  dlc,
const uint8_t  data[8] 
)
private

Definition at line 172 of file CanDriver.cpp.

◆ recvRos()

void dataspeed_can_usb::CanDriver::recvRos ( const can_msgs::Frame::ConstPtr &  msg,
unsigned int  channel 
)
private

Definition at line 167 of file CanDriver.cpp.

◆ sampleTimeOffset()

bool dataspeed_can_usb::CanDriver::sampleTimeOffset ( ros::WallDuration offset,
ros::WallDuration delay 
)
private

Definition at line 192 of file CanDriver.cpp.

◆ serviceDevice()

void dataspeed_can_usb::CanDriver::serviceDevice ( )
private

Definition at line 209 of file CanDriver.cpp.

◆ stampDev2Ros()

ros::WallTime dataspeed_can_usb::CanDriver::stampDev2Ros ( unsigned int  dev_stamp)
inlineprivate

Definition at line 75 of file CanDriver.h.

◆ timerFlushCallback()

void dataspeed_can_usb::CanDriver::timerFlushCallback ( const ros::WallTimerEvent event)
private

Definition at line 337 of file CanDriver.cpp.

◆ timerServiceCallback()

void dataspeed_can_usb::CanDriver::timerServiceCallback ( const ros::WallTimerEvent event)
private

Definition at line 332 of file CanDriver.cpp.

Member Data Documentation

◆ channels_

std::vector<Channel> dataspeed_can_usb::CanDriver::channels_
private

Definition at line 97 of file CanDriver.h.

◆ dev_

CanUsb* dataspeed_can_usb::CanDriver::dev_
private

Definition at line 104 of file CanDriver.h.

◆ error_topic_

bool dataspeed_can_usb::CanDriver::error_topic_
private

Definition at line 85 of file CanDriver.h.

◆ firmware_

ModuleVersion dataspeed_can_usb::CanDriver::firmware_
private

Definition at line 124 of file CanDriver.h.

◆ mac_addr_

std::string dataspeed_can_usb::CanDriver::mac_addr_
private

Definition at line 86 of file CanDriver.h.

◆ mutex_

boost::mutex dataspeed_can_usb::CanDriver::mutex_
private

Definition at line 115 of file CanDriver.h.

◆ name_

std::string dataspeed_can_usb::CanDriver::name_
private

Definition at line 118 of file CanDriver.h.

◆ nh_

ros::NodeHandle dataspeed_can_usb::CanDriver::nh_
private

Definition at line 80 of file CanDriver.h.

◆ nh_priv_

ros::NodeHandle dataspeed_can_usb::CanDriver::nh_priv_
private

Definition at line 81 of file CanDriver.h.

◆ pub_version_

ros::Publisher dataspeed_can_usb::CanDriver::pub_version_
private

Definition at line 110 of file CanDriver.h.

◆ pubs_

std::vector<ros::Publisher> dataspeed_can_usb::CanDriver::pubs_
private

Definition at line 111 of file CanDriver.h.

◆ pubs_err_

std::vector<ros::Publisher> dataspeed_can_usb::CanDriver::pubs_err_
private

Definition at line 112 of file CanDriver.h.

◆ subs_

std::vector<ros::Subscriber> dataspeed_can_usb::CanDriver::subs_
private

Definition at line 107 of file CanDriver.h.

◆ sync_time_

bool dataspeed_can_usb::CanDriver::sync_time_
private

Definition at line 84 of file CanDriver.h.

◆ timer_flush_

ros::WallTimer dataspeed_can_usb::CanDriver::timer_flush_
private

Definition at line 101 of file CanDriver.h.

◆ timer_service_

ros::WallTimer dataspeed_can_usb::CanDriver::timer_service_
private

Definition at line 100 of file CanDriver.h.

◆ total_drops_

uint32_t dataspeed_can_usb::CanDriver::total_drops_
private

Definition at line 121 of file CanDriver.h.


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


dataspeed_can_usb
Author(s): Kevin Hallenbeck
autogenerated on Sat Feb 4 2023 03:39:26