本文整理汇总了C++中diagnostic_updater::DiagnosticStatusWrapper类的典型用法代码示例。如果您正苦于以下问题:C++ DiagnosticStatusWrapper类的具体用法?C++ DiagnosticStatusWrapper怎么用?C++ DiagnosticStatusWrapper使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DiagnosticStatusWrapper类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: updateDiagnostic
void TiltLaserListener::updateDiagnostic(
diagnostic_updater::DiagnosticStatusWrapper &stat)
{
boost::mutex::scoped_lock lock(cloud_mutex_);
if (vital_checker_->isAlive()) {
if (not_use_laser_assembler_service_ &&
use_laser_assembler_) {
if (cloud_vital_checker_->isAlive()) {
stat.summary(diagnostic_msgs::DiagnosticStatus::OK,
getName() + " running");
}
else {
stat.summary(diagnostic_msgs::DiagnosticStatus::ERROR,
"~input/cloud is not activate");
}
stat.add("scan queue", cloud_buffer_.size());
}
else {
stat.summary(diagnostic_msgs::DiagnosticStatus::OK,
getName() + " running");
}
}
else {
jsk_topic_tools::addDiagnosticErrorSummary(
name_, vital_checker_, stat);
}
}
开发者ID:Horisu,项目名称:jsk_recognition,代码行数:28,代码来源:tilt_laser_listener_nodelet.cpp
示例2: run
void WatchdogTask::run(diagnostic_updater::DiagnosticStatusWrapper &stat) {
if ( alive ) {
stat.summary(diagnostic_msgs::DiagnosticStatus::OK, "Alive");
} else {
stat.summary(diagnostic_msgs::DiagnosticStatus::ERROR, "No Signal");
}
}
开发者ID:wmeeusse,项目名称:kobuki,代码行数:7,代码来源:diagnostics.cpp
示例3: gps_diag_run
/* -*- diagnostics -*- */
void gps_diag_run(diagnostic_updater::DiagnosticStatusWrapper &stat) {
int fix_type, satellites_visible;
float eph, epv;
uas->get_gps_epts(eph, epv, fix_type, satellites_visible);
if (satellites_visible <= 0)
stat.summary(2, "No satellites");
else if (fix_type < 2)
stat.summary(1, "No fix");
else if (fix_type == 2)
stat.summary(0, "2D fix");
else if (fix_type >= 3)
stat.summary(0, "3D fix");
stat.addf("Satellites visible", "%zd", satellites_visible);
stat.addf("Fix type", "%d", fix_type);
if (!isnan(eph))
stat.addf("EPH (m)", "%.2f", eph);
else
stat.add("EPH (m)", "Unknown");
if (!isnan(epv))
stat.addf("EPV (m)", "%.2f", epv);
else
stat.add("EPV (m)", "Unknown");
}
开发者ID:paul2883,项目名称:mavros,代码行数:29,代码来源:global_position.cpp
示例4: run
void run(diagnostic_updater::DiagnosticStatusWrapper &stat) {
lock_guard lock(mutex);
ros::Time curtime = ros::Time::now();
int curseq = count_;
int events = curseq - seq_nums_[hist_indx_];
double window = (curtime - times_[hist_indx_]).toSec();
double freq = events / window;
seq_nums_[hist_indx_] = curseq;
times_[hist_indx_] = curtime;
hist_indx_ = (hist_indx_ + 1) % window_size_;
if (events == 0) {
stat.summary(2, "No events recorded.");
}
else if (freq < min_freq_ * (1 - tolerance_)) {
stat.summary(1, "Frequency too low.");
}
else if (freq > max_freq_ * (1 + tolerance_)) {
stat.summary(1, "Frequency too high.");
}
else {
stat.summary(0, "Normal");
}
stat.addf("Timesyncs since startup", "%d", count_);
stat.addf("Frequency (Hz)", "%f", freq);
stat.addf("Last dt (ms)", "%0.6f", last_dt / 1e6);
stat.addf("Mean dt (ms)", "%0.6f", (count_) ? dt_sum / count_ / 1e6 : 0.0);
stat.addf("Last system time (s)", "%0.9f", last_ts / 1e9);
stat.addf("Time offset (s)", "%0.9f", offset / 1e9);
}
开发者ID:jonbinney,项目名称:mavros,代码行数:31,代码来源:sys_time.cpp
示例5: updateDiagnostic
void OrganizedPassThrough::updateDiagnostic(
diagnostic_updater::DiagnosticStatusWrapper &stat)
{
if (vital_checker_->isAlive()) {
stat.summary(diagnostic_msgs::DiagnosticStatus::OK,
name_ + " running");
stat.add("Filtered points (Avg.)", filtered_points_counter_.mean());
if (filter_field_ == FIELD_X) {
stat.add("filter field", "x");
}
else if (filter_field_ == FIELD_Y) {
stat.add("filter field", "y");
}
stat.add("min index", min_index_);
stat.add("max index", max_index_);
jsk_topic_tools::addDiagnosticBooleanStat("keep organized",
keep_organized_,
stat);
jsk_topic_tools::addDiagnosticBooleanStat("filter_limit_negative",
filter_limit_negative_,
stat);
}
else {
jsk_recognition_utils::addDiagnosticErrorSummary(
"ClusterPointIndicesDecomposer", vital_checker_, stat);
}
}
开发者ID:Horisu,项目名称:jsk_recognition,代码行数:27,代码来源:organized_pass_through_nodelet.cpp
示例6: run
void run(diagnostic_updater::DiagnosticStatusWrapper &stat) {
lock_guard lock(mutex);
ros::Time curtime = ros::Time::now();
int curseq = count_;
int events = curseq - seq_nums_[hist_indx_];
double window = (curtime - times_[hist_indx_]).toSec();
double freq = events / window;
seq_nums_[hist_indx_] = curseq;
times_[hist_indx_] = curtime;
hist_indx_ = (hist_indx_ + 1) % window_size_;
if (events == 0) {
stat.summary(2, "No events recorded.");
}
else if (freq < min_freq_ * (1 - tolerance_)) {
stat.summary(1, "Frequency too low.");
}
else if (freq > max_freq_ * (1 + tolerance_)) {
stat.summary(1, "Frequency too high.");
}
else {
stat.summary(0, "Normal");
}
stat.addf("Heartbeats since startup", "%d", count_);
stat.addf("Frequency (Hz)", "%f", freq);
stat.add("Vehicle type", mavros::UAS::str_type(type));
stat.add("Autopilot type", mavros::UAS::str_autopilot(autopilot));
stat.add("Mode", mode);
stat.add("System status", mavros::UAS::str_system_status(system_status));
}
开发者ID:tuloski,项目名称:SherpaHighLevel,代码行数:31,代码来源:sys_status.cpp
示例7: updateDiagnostic
void DiagnosticNodelet::updateDiagnostic(
diagnostic_updater::DiagnosticStatusWrapper &stat)
{
if (connection_status_ == SUBSCRIBED) {
if (vital_checker_->isAlive()) {
stat.summary(diagnostic_msgs::DiagnosticStatus::OK,
getName() + " running");
}
else {
jsk_topic_tools::addDiagnosticErrorSummary(
name_, vital_checker_, stat, diagnostic_error_level_);
}
}
else {
stat.summary(diagnostic_msgs::DiagnosticStatus::OK,
getName() + " is not subscribed");
}
std::stringstream topic_names;
for (size_t i = 0; i < publishers_.size(); i++) {
if (i == publishers_.size() - 1) {
topic_names << publishers_[i].getTopic();
}
else {
topic_names << publishers_[i].getTopic() << ", ";
}
}
stat.add("watched topics", topic_names.str());
for (size_t i = 0; i < publishers_.size(); i++) {
stat.add(publishers_[i].getTopic(),
(boost::format("%d subscribers") %
publishers_[i].getNumSubscribers()).str());
}
}
开发者ID:kakehashi,项目名称:jsk_common,代码行数:33,代码来源:diagnostic_nodelet.cpp
示例8: roboteq_diagnostic_callback
void WalrusPodHW::roboteq_diagnostic_callback(diagnostic_updater::DiagnosticStatusWrapper &stat, int controller)
{
if (controllers[controller]->is_connected())
stat.summary(diagnostic_msgs::DiagnosticStatus::OK, "OK");
else
stat.summary(diagnostic_msgs::DiagnosticStatus::ERROR, "Not Connected");
stat.add("Error Count", error_cnt);
}
开发者ID:khancyr,项目名称:walrus,代码行数:8,代码来源:walrus_pod_hw.cpp
示例9: diagnoseConnections
void diagnoseConnections(diagnostic_updater::DiagnosticStatusWrapper &status) {
if (!fadeToColorClient)
status.summaryf(diagnostic_msgs::DiagnosticStatus::ERROR,
"Not all required services are connected.");
else
status.summaryf(diagnostic_msgs::DiagnosticStatus::OK,
"All required services are connected.");
}
开发者ID:Yvaine,项目名称:naro,代码行数:8,代码来源:led_controller.cpp
示例10: diag_init
void diag_init(diagnostic_updater::DiagnosticStatusWrapper &stat)
{
if(isInitialized_)
stat.summary(diagnostic_msgs::DiagnosticStatus::OK, "");
else
stat.summary(diagnostic_msgs::DiagnosticStatus::WARN, "");
stat.add("Initialized", isInitialized_);
}
开发者ID:brudder,项目名称:cob_driver,代码行数:8,代码来源:cob_powercube_chain.cpp
示例11: diagnostics
///\brief Publishes diagnostics and status
void ControlMode::diagnostics(diagnostic_updater::DiagnosticStatusWrapper& stat)
{
int status;
status = ((state != ControlModeTypes::ERROR) ? diagnostic_msgs::DiagnosticStatus::OK
: diagnostic_msgs::DiagnosticStatus::ERROR);
stat.summary(status, stateToString(state));
stat.add("ready", ready);
stat.add("info", info);
}
开发者ID:robotambassador,项目名称:robot-ambassadors,代码行数:10,代码来源:control_mode.cpp
示例12: diagnoseCANConnection
void CANPriusNode::diagnoseCANConnection(
diagnostic_updater::DiagnosticStatusWrapper& status) {
if (_canConnection && _canConnection->isOpen())
status.summaryf(diagnostic_msgs::DiagnosticStatus::OK,
"CAN connection opened on %s.",
_canConnection->getDevicePathStr().c_str());
else
status.summaryf(diagnostic_msgs::DiagnosticStatus::ERROR,
"CAN connection closed on %s.", _canDeviceStr.c_str());
}
开发者ID:jmaye,项目名称:can_prius_ros,代码行数:10,代码来源:CANPriusNode.cpp
示例13: run
void run(diagnostic_updater::DiagnosticStatusWrapper &stat)
{
if (boost::shared_ptr<MAVConnInterface> link = weak_link.lock()) {
mavlink_status_t mav_status = link->get_status();
stat.addf("Received packets:", "%u", mav_status.packet_rx_success_count);
stat.addf("Dropped packets:", "%u", mav_status.packet_rx_drop_count);
stat.addf("Buffer overruns:", "%u", mav_status.buffer_overrun);
stat.addf("Parse errors:", "%u", mav_status.parse_error);
stat.addf("Rx sequence number:", "%u", mav_status.current_rx_seq);
stat.addf("Tx sequence number:", "%u", mav_status.current_tx_seq);
if (mav_status.packet_rx_drop_count > last_drop_count)
stat.summaryf(1, "%d packeges dropped since last report",
mav_status.packet_rx_drop_count - last_drop_count);
else if (is_connected)
stat.summary(0, "connected");
else
// link operational, but not connected
stat.summary(1, "not connected");
last_drop_count = mav_status.packet_rx_drop_count;
} else {
stat.summary(2, "not connected");
}
}
开发者ID:BeaglePilot,项目名称:mavros,代码行数:26,代码来源:mavros_node.cpp
示例14: addDiagnosticBooleanStat
void addDiagnosticBooleanStat(
const std::string& string_prefix,
const bool value,
diagnostic_updater::DiagnosticStatusWrapper& stat)
{
if (value) {
stat.add(string_prefix, "True");
}
else {
stat.add(string_prefix, "False");
}
}
开发者ID:CPFL,项目名称:jsk_visualization_packages,代码行数:12,代码来源:pcl_util.cpp
示例15: packetErrorStatus
void packetErrorStatus(diagnostic_updater::DiagnosticStatusWrapper& status)
{
unsigned long erroneous;
cam_->getAttribute("StatPacketsErroneous", erroneous);
if (erroneous == 0) {
status.summary(0, "No erroneous packets");
} else {
status.summary(2, "Possible camera hardware failure");
}
status.add("Erroneous Packets", erroneous);
}
开发者ID:Anuragch,项目名称:stingray-3-0,代码行数:13,代码来源:prosilica_node.cpp
示例16: phidget_ik_diagnostic
void phidget_ik_diagnostic(diagnostic_updater::DiagnosticStatusWrapper &stat)
/**
* Function that will report the status of the hardware to the diagnostic topic
*/
{
if (!interfaceKitError)
stat.summaryf(diagnostic_msgs::DiagnosticStatus::OK, "initialized");
else
{
stat.summaryf(diagnostic_msgs::DiagnosticStatus::ERROR, "cannot be attached");
stat.addf("Recommendation", "Please unplug and replug the Phidget Interface Kit Board USB cable from the Motherboard.");
}
}
开发者ID:Aharobot,项目名称:roscorobot,代码行数:13,代码来源:corobot_phidget.cpp
示例17: phidget_spatial_diagnostic
void phidget_spatial_diagnostic(diagnostic_updater::DiagnosticStatusWrapper &stat)
/**
* Function that will report the status of the hardware to the diagnostic topic
*/
{
if (!spatialError)
stat.summaryf(diagnostic_msgs::DiagnosticStatus::OK, "initialized");
else
{
stat.summaryf(diagnostic_msgs::DiagnosticStatus::ERROR, "cannot be attached");
stat.addf("Recommendation", "Please verify that the robot has a Phidget Spatial board. If present, please unplug and replug the Phidget Spatial Board USB cable from the Motherboard.");
}
}
开发者ID:Aharobot,项目名称:roscorobot,代码行数:13,代码来源:corobot_phidget.cpp
示例18: addDiagnosticInformation
void addDiagnosticInformation(
const std::string& string_prefix,
jsk_topic_tools::TimeAccumulator& accumulator,
diagnostic_updater::DiagnosticStatusWrapper& stat)
{
stat.add(string_prefix + " (Avg.)", accumulator.mean());
if (accumulator.mean() != 0.0) {
stat.add(string_prefix + " (Avg., fps)", 1.0 / accumulator.mean());
}
stat.add(string_prefix + " (Max)", accumulator.max());
stat.add(string_prefix + " (Min)", accumulator.min());
stat.add(string_prefix + " (Var.)", accumulator.variance());
}
开发者ID:CPFL,项目名称:jsk_visualization_packages,代码行数:13,代码来源:pcl_util.cpp
示例19: phidget_spatial_diagnostic
void phidget_spatial_diagnostic(diagnostic_updater::DiagnosticStatusWrapper &stat)
/**
* Function that will report the status of the hardware to the diagnostic topic
*/
{
if (!spatialError)
stat.summaryf(diagnostic_msgs::DiagnosticStatus::OK, "initialized");
else
{
stat.summaryf(diagnostic_msgs::DiagnosticStatus::ERROR, "IMU cannot be initialized");
stat.addf("Recommendation", PhidgetIMU_INIT_ERROR);
}
}
开发者ID:mBusaleh,项目名称:corobot,代码行数:13,代码来源:corobot_phidget.cpp
示例20: if
void HerculesHardwareDiagnosticTask<clearpath::DataSafetySystemStatus>::update(
diagnostic_updater::DiagnosticStatusWrapper &stat, horizon_legacy::Channel<clearpath::DataSafetySystemStatus>::Ptr &safety_status)
{
uint16_t flags = safety_status->getFlags();
msg_.timeout = (flags & SAFETY_TIMEOUT) > 0;
msg_.lockout = (flags & SAFETY_LOCKOUT) > 0;
msg_.e_stop = (flags & SAFETY_ESTOP) > 0;
msg_.ros_pause = (flags & SAFETY_CCI) > 0;
msg_.no_battery = (flags & SAFETY_PSU) > 0;
msg_.current_limit = (flags & SAFETY_CURRENT) > 0;
stat.add("Timeout", static_cast<bool>(msg_.timeout));
stat.add("Lockout", static_cast<bool>(msg_.lockout));
stat.add("Emergency Stop", static_cast<bool>(msg_.e_stop));
stat.add("ROS Pause", static_cast<bool>(msg_.ros_pause));
stat.add("No battery", static_cast<bool>(msg_.no_battery));
stat.add("Current limit", static_cast<bool>(msg_.current_limit));
stat.summary(diagnostic_msgs::DiagnosticStatus::OK, "Safety System OK");
if ((flags & SAFETY_ERROR) > 0)
{
stat.mergeSummary(diagnostic_msgs::DiagnosticStatus::ERROR, "Safety System Error");
}
else if ((flags & SAFETY_WARN) > 0)
{
stat.mergeSummary(diagnostic_msgs::DiagnosticStatus::WARN, "Safety System Warning");
}
}
开发者ID:hscale,项目名称:compv,代码行数:28,代码来源:hercules_diagnostics.cpp
注:本文中的diagnostic_updater::DiagnosticStatusWrapper类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论