def cmd_link_remove(self, args): '''remove an link''' device = args[0] if len(self.mpstate.mav_master) <= 1: print("Not removing last link") return for i in range(len(self.mpstate.mav_master)): conn = self.mpstate.mav_master[i] if str(i) == device or conn.address == device: print("Removing link %s" % conn.address) try: try: mp_util.child_fd_list_remove(conn.port.fileno()) except Exception: pass self.mpstate.mav_master[i].close() except Exception as msg: print(msg) pass self.mpstate.mav_master.pop(i) self.status.counters['MasterIn'].pop(i) # renumber the links for j in range(len(self.mpstate.mav_master)): conn = self.mpstate.mav_master[j] conn.linknum = j return
def cmd_link_remove(self, args): '''remove an link''' device = args[0] if len(self.mpstate.mav_master) <= 1: print("Not removing last link") return for i in range(len(self.mpstate.mav_master)): conn = self.mpstate.mav_master[i] if str(i) == device or conn.address == device: print("Removing link %s" % conn.address) try: try: mp_util.child_fd_list_remove(conn.port.fileno()) except Exception: pass self.mpstate.mav_master[i].close() except Exception as msg: print(msg) pass self.mpstate.mav_master.pop(i) self.status.counters['MasterIn'].pop(i) # renumber the links for j in range(len(self.mpstate.mav_master)): conn = self.mpstate.mav_master[j] conn.linknum = j return
def cmd_link_remove(self, args): '''remove an link''' device = args[0] if len(self.mpstate.mav_master) <= 1: print("Not removing last link") return i = self.find_link(device) if i is None: return conn = self.mpstate.mav_master[i] print("Removing link %s" % conn.address) try: try: mp_util.child_fd_list_remove(conn.port.fileno()) except Exception: pass self.mpstate.mav_master[i].close() except Exception as msg: print(msg) pass self.mpstate.mav_master.pop(i) self.status.counters['MasterIn'].pop(i) self.status.bytecounters['MasterIn'].pop(i) del self.mpstate.vehicle_link_map[conn.linknum] # renumber the links vehicle_link_map_reordered = {} for j in range(len(self.mpstate.mav_master)): conn = self.mpstate.mav_master[j] map_old = self.mpstate.vehicle_link_map[conn.linknum] conn.linknum = j vehicle_link_map_reordered[j] = map_old self.mpstate.vehicle_link_map = vehicle_link_map_reordered