Public Member Functions | Private Member Functions | Private Attributes | List of all members
power_monitor::PowerMonitor Class Reference

#include <power_monitor.h>

Public Member Functions

void batteryServerUpdate (const boost::shared_ptr< const pr2_msgs::BatteryServer2 > &battery_server)
 
void configCallback (power_monitor::PowerMonitorConfig &config, uint32_t level)
 
 PowerMonitor ()
 
void powerNodeUpdate (const boost::shared_ptr< const pr2_msgs::PowerBoardState > &power_board_state)
 
bool setActiveEstimator (PowerStateEstimator::Type estimator_type)
 

Private Member Functions

void addEstimator (PowerStateEstimator *estimator)
 
PowerObservation extractObservation ()
 
ros::Time getLastBatteryUpdate () const
 
std::string masterStateToString (int8_t master_state) const
 
void onPublishTimer (const ros::TimerEvent &e)
 
void publishPowerState ()
 

Private Attributes

boost::shared_ptr< PowerStateEstimatoractive_estimator_
 
ros::Subscriber battery_server_sub_
 
std::map< int, boost::shared_ptr< const pr2_msgs::BatteryServer2 > > battery_servers_
 
double battery_update_timeout_
 
dynamic_reconfigure::Server< power_monitor::PowerMonitorConfig > config_server_
 
std::map< std::string, PowerStateEstimator::Typeestimator_types_
 
std::map< PowerStateEstimator::Type, boost::shared_ptr< PowerStateEstimator > > estimators_
 
int8_t master_state_
 
PowerObservation observation_
 
ros::Subscriber power_node_sub_
 
ros::Publisher power_state_pub_
 
ros::Timer power_state_pub_timer_
 
boost::mutex publish_mutex_
 
boost::mutex update_mutex_
 

Detailed Description

This class listens to BatteryServer2 and PowerBoardState messages and publishes PowerState messages with estimates of the time remaining until the robot switches off (if discharging) or until the robot is fully charged (if charging).

Definition at line 59 of file power_monitor.h.

Constructor & Destructor Documentation

PowerMonitor::PowerMonitor ( )

Definition at line 40 of file power_monitor.cpp.

Member Function Documentation

void PowerMonitor::addEstimator ( PowerStateEstimator estimator)
private

Definition at line 88 of file power_monitor.cpp.

void PowerMonitor::batteryServerUpdate ( const boost::shared_ptr< const pr2_msgs::BatteryServer2 > &  battery_server)

Definition at line 117 of file power_monitor.cpp.

void PowerMonitor::configCallback ( power_monitor::PowerMonitorConfig &  config,
uint32_t  level 
)

Definition at line 94 of file power_monitor.cpp.

PowerObservation PowerMonitor::extractObservation ( )
private

Definition at line 155 of file power_monitor.cpp.

ros::Time PowerMonitor::getLastBatteryUpdate ( ) const
private

Definition at line 202 of file power_monitor.cpp.

string PowerMonitor::masterStateToString ( int8_t  master_state) const
private

Definition at line 142 of file power_monitor.cpp.

void PowerMonitor::onPublishTimer ( const ros::TimerEvent e)
private

Definition at line 215 of file power_monitor.cpp.

void PowerMonitor::powerNodeUpdate ( const boost::shared_ptr< const pr2_msgs::PowerBoardState > &  power_board_state)

Definition at line 126 of file power_monitor.cpp.

void PowerMonitor::publishPowerState ( )
private

Definition at line 227 of file power_monitor.cpp.

bool PowerMonitor::setActiveEstimator ( PowerStateEstimator::Type  estimator_type)

Definition at line 99 of file power_monitor.cpp.

Member Data Documentation

boost::shared_ptr<PowerStateEstimator> power_monitor::PowerMonitor::active_estimator_
private

Definition at line 95 of file power_monitor.h.

ros::Subscriber power_monitor::PowerMonitor::battery_server_sub_
private

Definition at line 99 of file power_monitor.h.

std::map<int, boost::shared_ptr<const pr2_msgs::BatteryServer2> > power_monitor::PowerMonitor::battery_servers_
private

Definition at line 90 of file power_monitor.h.

double power_monitor::PowerMonitor::battery_update_timeout_
private

Definition at line 104 of file power_monitor.h.

dynamic_reconfigure::Server<power_monitor::PowerMonitorConfig> power_monitor::PowerMonitor::config_server_
private

Definition at line 84 of file power_monitor.h.

std::map<std::string, PowerStateEstimator::Type> power_monitor::PowerMonitor::estimator_types_
private

Definition at line 92 of file power_monitor.h.

std::map<PowerStateEstimator::Type, boost::shared_ptr<PowerStateEstimator> > power_monitor::PowerMonitor::estimators_
private

Definition at line 93 of file power_monitor.h.

int8_t power_monitor::PowerMonitor::master_state_
private

Definition at line 89 of file power_monitor.h.

PowerObservation power_monitor::PowerMonitor::observation_
private

Definition at line 102 of file power_monitor.h.

ros::Subscriber power_monitor::PowerMonitor::power_node_sub_
private

Definition at line 100 of file power_monitor.h.

ros::Publisher power_monitor::PowerMonitor::power_state_pub_
private

Definition at line 98 of file power_monitor.h.

ros::Timer power_monitor::PowerMonitor::power_state_pub_timer_
private

Definition at line 97 of file power_monitor.h.

boost::mutex power_monitor::PowerMonitor::publish_mutex_
private

Definition at line 87 of file power_monitor.h.

boost::mutex power_monitor::PowerMonitor::update_mutex_
private

Definition at line 86 of file power_monitor.h.


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


power_monitor
Author(s): Tim Field, Curt Meyers
autogenerated on Fri May 14 2021 02:50:05