add new link

def link_add(self, device):
        '''add new link'''
        try:
            print("Connect %s source_system=%d" % (device, self.settings.source_system))
            conn = mavutil.mavlink_connection(device, autoreconnect=True,
                                              source_system=self.settings.source_system,
                                              baud=self.settings.baudrate)
            conn.mav.srcComponent = self.settings.source_component
        except Exception as msg:
            print("Failed to connect to %s : %s" % (device, msg))
            return False
        if self.settings.rtscts:
            conn.set_rtscts(True)
        conn.linknum = len(self.mpstate.mav_master)
        conn.mav.set_callback(self.master_callback, conn)
        if hasattr(conn.mav, 'set_send_callback'):
            conn.mav.set_send_callback(self.master_send_callback, conn)
        conn.linknum = len(self.mpstate.mav_master)
        conn.linkerror = False
        conn.link_delayed = False
        conn.last_heartbeat = 0
        conn.last_message = 0
        conn.highest_msec = 0
        self.mpstate.mav_master.append(conn)
        self.status.counters['MasterIn'].append(0)
        try:
            mp_util.child_fd_list_add(conn.port.fileno())
        except Exception:
            pass
        return True