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")