@@ -211,9 +211,8 @@ PointCloudConcatenateDataSynchronizerComponent::PointCloudConcatenateDataSynchro
211
211
212
212
// Diagnostic Updater
213
213
{
214
- updater_.setHardwareID (" concatenate_data_checker" );
215
- updater_.add (
216
- " concat_status" , this , &PointCloudConcatenateDataSynchronizerComponent::checkConcatStatus);
214
+ diagnostics_pub_ =
215
+ this ->create_publisher <diagnostic_msgs::msg::DiagnosticArray>(" /diagnostics" , 10 );
217
216
}
218
217
}
219
218
@@ -463,7 +462,7 @@ void PointCloudConcatenateDataSynchronizerComponent::publish()
463
462
}
464
463
}
465
464
466
- updater_. force_update ();
465
+ checkConcatStatus ();
467
466
468
467
cloud_stdmap_ = cloud_stdmap_tmp_;
469
468
std::for_each (std::begin (cloud_stdmap_tmp_), std::end (cloud_stdmap_tmp_), [](auto & e) {
@@ -684,12 +683,17 @@ void PointCloudConcatenateDataSynchronizerComponent::odom_callback(
684
683
twist_ptr_queue_.push_back (twist_ptr);
685
684
}
686
685
687
- void PointCloudConcatenateDataSynchronizerComponent::checkConcatStatus (
688
- diagnostic_updater::DiagnosticStatusWrapper & stat)
686
+ void PointCloudConcatenateDataSynchronizerComponent::checkConcatStatus ()
689
687
{
688
+ diagnostic_msgs::msg::DiagnosticStatus diag_status_msg;
689
+ diag_status_msg.name = std::string (this ->get_name ()) + " : concat_status" ;
690
+ diag_status_msg.hardware_id = " concatenate_data_checker" ;
691
+
690
692
for (const std::string & e : input_topics_) {
691
- const std::string subscribe_status = not_subscribed_topic_names_.count (e) ? " NG" : " OK" ;
692
- stat.add (e, subscribe_status);
693
+ diagnostic_msgs::msg::KeyValue key_value_msg;
694
+ key_value_msg.key = e;
695
+ key_value_msg.value = not_subscribed_topic_names_.count (e) ? " NG" : " OK" ;
696
+ diag_status_msg.values .push_back (key_value_msg);
693
697
}
694
698
695
699
const int8_t level = not_subscribed_topic_names_.empty ()
@@ -698,7 +702,15 @@ void PointCloudConcatenateDataSynchronizerComponent::checkConcatStatus(
698
702
const std::string message = not_subscribed_topic_names_.empty ()
699
703
? " Concatenate all topics"
700
704
: " Some topics are not concatenated" ;
701
- stat.summary (level, message);
705
+ diag_status_msg.level = level;
706
+ diag_status_msg.message = message;
707
+
708
+ diagnostic_msgs::msg::DiagnosticArray diag_msg;
709
+ diag_msg.header .stamp = this ->now ();
710
+ diag_msg.status .push_back (diag_status_msg);
711
+
712
+ diagnostics_pub_->publish (diag_msg);
713
+
702
714
}
703
715
} // namespace pointcloud_preprocessor
704
716
0 commit comments