Ejemplo n.º 1
0
 def test_rosnode_ping_all(self):
     import rosnode
     cmd = 'rosnode'
     
     pinged, unpinged = rosnode.rosnode_ping_all(verbose=False)
     self.assert_('/rosout' in pinged)
     with fakestdout() as b:
         pinged, unpinged = rosnode.rosnode_ping_all(verbose=True)
         self.assert_('xmlrpc reply' in b.getvalue())
         self.assert_('/rosout' in pinged)
Ejemplo n.º 2
0
    def update_nodes(self):
        # first update the listed nodes by the ros master
        self.listed_nodes = rosnode.get_node_names()
        for listed_node in self.listed_nodes:
            if listed_node not in self.tracked_nodes and not self.is_neglected_node(listed_node):
                rospy.loginfo("Added '%s' to node_alive_server" % listed_node)
                self.tracked_nodes.append(listed_node)
            if listed_node not in self.seen_nodes:
                self.seen_nodes.append(listed_node)

        # then ping all nodes and check if they're online
        self.alive_nodes = []

        (ping_nodes, _) = rosnode_ping_all()

        for alive_node in ping_nodes:
            self.alive_nodes.append(alive_node)
Ejemplo n.º 3
0
def ping_check(ctx):
    if not ctx.system_state or not ctx.nodes:
        return
    _, unpinged = rosnode.rosnode_ping_all()
    return unpinged
Ejemplo n.º 4
0
def own_rosnode_cleanup():
    pinged, unpinged = rosnode.rosnode_ping_all()
    if unpinged:
        master = rosgraph.Master(rosnode.ID)
        # noinspection PyTypeChecker
        rosnode.cleanup_master_blacklist(master, unpinged)
Ejemplo n.º 5
0
def ping_check(ctx):
    if not ctx.system_state or not ctx.nodes:
        return
    _, unpinged = rosnode.rosnode_ping_all()
    return unpinged