Example #1
0
 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
Example #2
0
 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
Example #3
0
 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