19 from std_srvs.srv
import Trigger, TriggerResponse
20 from diagnostic_msgs.msg
import DiagnosticArray, DiagnosticStatus, KeyValue
33 self.
_fake_diag_pub = rospy.Publisher(
'/diagnostics', DiagnosticArray, queue_size=1)
37 msg = DiagnosticArray()
38 msg.header.stamp = rospy.get_rostime()
40 status = DiagnosticStatus()
41 status.name = rospy.get_name()
44 status.level = DiagnosticStatus.OK
45 status.message =
"active"
47 status.level = DiagnosticStatus.WARN
48 status.message =
"not active"
50 status.level = DiagnosticStatus.WARN
51 status.message =
"not initialized"
52 status.hardware_id = rospy.get_name()
53 status.values.append(KeyValue(key=
"initialized", value=str(self.
initialized)))
54 status.values.append(KeyValue(key=
"active", value=str(self.
active)))
55 msg.status.append(status)
60 rospy.loginfo(
"init_cb")
63 return TriggerResponse(success=
True)
66 rospy.loginfo(
"recover_cb")
68 return TriggerResponse(success=
True)
71 rospy.loginfo(
"halt_cb")
73 return TriggerResponse(success=
True)
76 rospy.loginfo(
"shutdown_cb")
79 return TriggerResponse(success=
True)
82 if __name__ ==
"__main__":
83 rospy.init_node(
'fake_driver')
85 rospy.loginfo(
"fake_driver running")