Public Member Functions | Private Member Functions | Private Attributes | List of all members
urg_node::UrgNode Class Reference

#include <urg_node_driver.h>

Public Member Functions

void run ()
 Start's the nodes threads to run the lidar. More...
 
bool updateStatus ()
 Trigger an update of the lidar's status publish the latest known information about the lidar on latched topic. More...
 
 UrgNode ()
 
 UrgNode (ros::NodeHandle nh, ros::NodeHandle private_nh)
 
 ~UrgNode ()
 

Private Member Functions

void addDiagnostics ()
 
void calibrate_time_offset ()
 
bool connect ()
 
void initSetup ()
 
void populateDiagnosticsStatus (diagnostic_updater::DiagnosticStatusWrapper &stat)
 
bool reconfigure_callback (urg_node::URGConfig &config, int level)
 
void scanThread ()
 
bool statusCallback (std_srvs::Trigger::Request &req, std_srvs::Trigger::Response &res)
 
void update_reconfigure_limits ()
 
void updateDiagnostics ()
 

Private Attributes

boost::shared_ptr< bond::Bondbond_ = nullptr
 
bool calibrate_time_
 
bool close_diagnostics_
 
bool close_scan_
 
bool detailed_status_
 
std::string device_id_
 
std::string device_status_
 
boost::shared_ptr< diagnostic_updater::Updaterdiagnostic_updater_
 
boost::thread diagnostics_thread_
 
double diagnostics_tolerance_
 
double diagnostics_window_time_
 
boost::shared_ptr< diagnostic_updater::HeaderlessTopicDiagnosticechoes_freq_
 
laser_proc::LaserPublisher echoes_pub_
 
uint16_t error_code_
 
int error_count_
 
int error_limit_
 
std::string firmware_date_
 
std::string firmware_version_
 
double freq_min_
 
std::string ip_address_
 
int ip_port_
 
boost::shared_ptr< diagnostic_updater::HeaderlessTopicDiagnosticlaser_freq_
 
ros::Publisher laser_pub_
 
boost::mutex lidar_mutex_
 
bool lockout_status_
 
ros::NodeHandle nh_
 
ros::NodeHandle pnh_
 
std::string product_name_
 
std::string protocol_version_
 
bool publish_intensity_
 
bool publish_multiecho_
 
boost::thread scan_thread_
 
int serial_baud_
 
std::string serial_port_
 
volatile bool service_yield_
 
boost::shared_ptr< dynamic_reconfigure::Server< urg_node::URGConfig > > srv_
 Dynamic reconfigure server. More...
 
ros::Publisher status_pub_
 
ros::ServiceServer status_service_
 
bool synchronize_time_
 
boost::shared_ptr< urg_node::URGCWrapperurg_
 
std::string vendor_name_
 

Detailed Description

Definition at line 52 of file urg_node_driver.h.

Constructor & Destructor Documentation

◆ UrgNode() [1/2]

urg_node::UrgNode::UrgNode ( )

Definition at line 55 of file urg_node_driver.cpp.

◆ UrgNode() [2/2]

urg_node::UrgNode::UrgNode ( ros::NodeHandle  nh,
ros::NodeHandle  private_nh 
)

Definition at line 48 of file urg_node_driver.cpp.

◆ ~UrgNode()

urg_node::UrgNode::~UrgNode ( )

Definition at line 103 of file urg_node_driver.cpp.

Member Function Documentation

◆ addDiagnostics()

void urg_node::UrgNode::addDiagnostics ( )
private

Definition at line 283 of file urg_node_driver.cpp.

◆ calibrate_time_offset()

void urg_node::UrgNode::calibrate_time_offset ( )
private

Definition at line 258 of file urg_node_driver.cpp.

◆ connect()

bool urg_node::UrgNode::connect ( )
private

Definition at line 432 of file urg_node_driver.cpp.

◆ initSetup()

void urg_node::UrgNode::initSetup ( )
private

Definition at line 62 of file urg_node_driver.cpp.

◆ populateDiagnosticsStatus()

void urg_node::UrgNode::populateDiagnosticsStatus ( diagnostic_updater::DiagnosticStatusWrapper stat)
private

Definition at line 366 of file urg_node_driver.cpp.

◆ reconfigure_callback()

bool urg_node::UrgNode::reconfigure_callback ( urg_node::URGConfig &  config,
int  level 
)
private

Definition at line 190 of file urg_node_driver.cpp.

◆ run()

void urg_node::UrgNode::run ( )

Start's the nodes threads to run the lidar.

Definition at line 640 of file urg_node_driver.cpp.

◆ scanThread()

void urg_node::UrgNode::scanThread ( )
private

Definition at line 505 of file urg_node_driver.cpp.

◆ statusCallback()

bool urg_node::UrgNode::statusCallback ( std_srvs::Trigger::Request &  req,
std_srvs::Trigger::Response &  res 
)
private

Definition at line 170 of file urg_node_driver.cpp.

◆ update_reconfigure_limits()

void urg_node::UrgNode::update_reconfigure_limits ( )
private

Definition at line 237 of file urg_node_driver.cpp.

◆ updateDiagnostics()

void urg_node::UrgNode::updateDiagnostics ( )
private

Definition at line 355 of file urg_node_driver.cpp.

◆ updateStatus()

bool urg_node::UrgNode::updateStatus ( )

Trigger an update of the lidar's status publish the latest known information about the lidar on latched topic.

Returns
True on update successful, false otherwise.

Definition at line 118 of file urg_node_driver.cpp.

Member Data Documentation

◆ bond_

boost::shared_ptr<bond::Bond> urg_node::UrgNode::bond_ = nullptr
private

Definition at line 90 of file urg_node_driver.h.

◆ calibrate_time_

bool urg_node::UrgNode::calibrate_time_
private

Definition at line 121 of file urg_node_driver.h.

◆ close_diagnostics_

bool urg_node::UrgNode::close_diagnostics_
private

Definition at line 114 of file urg_node_driver.h.

◆ close_scan_

bool urg_node::UrgNode::close_scan_
private

Definition at line 115 of file urg_node_driver.h.

◆ detailed_status_

bool urg_node::UrgNode::detailed_status_
private

Definition at line 128 of file urg_node_driver.h.

◆ device_id_

std::string urg_node::UrgNode::device_id_
private

Definition at line 108 of file urg_node_driver.h.

◆ device_status_

std::string urg_node::UrgNode::device_status_
private

Definition at line 102 of file urg_node_driver.h.

◆ diagnostic_updater_

boost::shared_ptr<diagnostic_updater::Updater> urg_node::UrgNode::diagnostic_updater_
private

Definition at line 93 of file urg_node_driver.h.

◆ diagnostics_thread_

boost::thread urg_node::UrgNode::diagnostics_thread_
private

Definition at line 87 of file urg_node_driver.h.

◆ diagnostics_tolerance_

double urg_node::UrgNode::diagnostics_tolerance_
private

Definition at line 126 of file urg_node_driver.h.

◆ diagnostics_window_time_

double urg_node::UrgNode::diagnostics_window_time_
private

Definition at line 127 of file urg_node_driver.h.

◆ echoes_freq_

boost::shared_ptr<diagnostic_updater::HeaderlessTopicDiagnostic> urg_node::UrgNode::echoes_freq_
private

Definition at line 95 of file urg_node_driver.h.

◆ echoes_pub_

laser_proc::LaserPublisher urg_node::UrgNode::echoes_pub_
private

Definition at line 133 of file urg_node_driver.h.

◆ error_code_

uint16_t urg_node::UrgNode::error_code_
private

Definition at line 109 of file urg_node_driver.h.

◆ error_count_

int urg_node::UrgNode::error_count_
private

Definition at line 112 of file urg_node_driver.h.

◆ error_limit_

int urg_node::UrgNode::error_limit_
private

Definition at line 125 of file urg_node_driver.h.

◆ firmware_date_

std::string urg_node::UrgNode::firmware_date_
private

Definition at line 106 of file urg_node_driver.h.

◆ firmware_version_

std::string urg_node::UrgNode::firmware_version_
private

Definition at line 105 of file urg_node_driver.h.

◆ freq_min_

double urg_node::UrgNode::freq_min_
private

Definition at line 113 of file urg_node_driver.h.

◆ ip_address_

std::string urg_node::UrgNode::ip_address_
private

Definition at line 118 of file urg_node_driver.h.

◆ ip_port_

int urg_node::UrgNode::ip_port_
private

Definition at line 117 of file urg_node_driver.h.

◆ laser_freq_

boost::shared_ptr<diagnostic_updater::HeaderlessTopicDiagnostic> urg_node::UrgNode::laser_freq_
private

Definition at line 94 of file urg_node_driver.h.

◆ laser_pub_

ros::Publisher urg_node::UrgNode::laser_pub_
private

Definition at line 132 of file urg_node_driver.h.

◆ lidar_mutex_

boost::mutex urg_node::UrgNode::lidar_mutex_
private

Definition at line 97 of file urg_node_driver.h.

◆ lockout_status_

bool urg_node::UrgNode::lockout_status_
private

Definition at line 110 of file urg_node_driver.h.

◆ nh_

ros::NodeHandle urg_node::UrgNode::nh_
private

Definition at line 84 of file urg_node_driver.h.

◆ pnh_

ros::NodeHandle urg_node::UrgNode::pnh_
private

Definition at line 85 of file urg_node_driver.h.

◆ product_name_

std::string urg_node::UrgNode::product_name_
private

Definition at line 104 of file urg_node_driver.h.

◆ protocol_version_

std::string urg_node::UrgNode::protocol_version_
private

Definition at line 107 of file urg_node_driver.h.

◆ publish_intensity_

bool urg_node::UrgNode::publish_intensity_
private

Definition at line 123 of file urg_node_driver.h.

◆ publish_multiecho_

bool urg_node::UrgNode::publish_multiecho_
private

Definition at line 124 of file urg_node_driver.h.

◆ scan_thread_

boost::thread urg_node::UrgNode::scan_thread_
private

Definition at line 88 of file urg_node_driver.h.

◆ serial_baud_

int urg_node::UrgNode::serial_baud_
private

Definition at line 120 of file urg_node_driver.h.

◆ serial_port_

std::string urg_node::UrgNode::serial_port_
private

Definition at line 119 of file urg_node_driver.h.

◆ service_yield_

volatile bool urg_node::UrgNode::service_yield_
private

Definition at line 130 of file urg_node_driver.h.

◆ srv_

boost::shared_ptr<dynamic_reconfigure::Server<urg_node::URGConfig> > urg_node::UrgNode::srv_
private

Dynamic reconfigure server.

Definition at line 92 of file urg_node_driver.h.

◆ status_pub_

ros::Publisher urg_node::UrgNode::status_pub_
private

Definition at line 134 of file urg_node_driver.h.

◆ status_service_

ros::ServiceServer urg_node::UrgNode::status_service_
private

Definition at line 136 of file urg_node_driver.h.

◆ synchronize_time_

bool urg_node::UrgNode::synchronize_time_
private

Definition at line 122 of file urg_node_driver.h.

◆ urg_

boost::shared_ptr<urg_node::URGCWrapper> urg_node::UrgNode::urg_
private

Definition at line 91 of file urg_node_driver.h.

◆ vendor_name_

std::string urg_node::UrgNode::vendor_name_
private

Definition at line 103 of file urg_node_driver.h.


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


urg_node
Author(s): Chad Rockey , Mike O'Driscoll
autogenerated on Fri Oct 14 2022 02:41:16