def connect(self, connection_string, reconnect=None, connected=None, disconnected=None): """ :param connection_string: :param reconnect: Optional reconnect period. Connection is attempted once if not set. :param connected: Optional callback for receiving connection establishment notifications. :param disconnected: Optional callback for receiving disconnection notifications. :return: """ if self._connected.isSet() is False and self._disconnected.isSet(): log.debug("connect") conntype, conninfo = split_in_two(connection_string, "@") if conntype in self.connection_types: self._connection_type = conntype self._connection_info = conninfo self._reconnect_period = reconnect self._event_connected = connected self._event_disconnected = disconnected self._disconnected.clear() self._queue.put((ConnectionEvents.EVENT_START_CONNECT, None)) else: raise ConnectionException("Specified connection type {:s} not supported".format(conntype)) else: raise ConnectionBusyException("Busy")
def __init__(self, event_queue, port_and_baud, require_acks=True): super(SerialConnection, self).__init__() self._queue = event_queue self._serial_port = None self._settings_port, baud = split_in_two(port_and_baud, ":") if len(baud) > 0: self._settings_baud = int(baud) else: self._settings_baud = 115200 self._alive = threading.Event() self._alive.set() self._connected = threading.Event() self._connected.clear() if require_acks: self._seq_out = 0 else: self._seq_out = None self._seq_in = None self._outqueue = Queue.Queue() self._recv_length = 0 self._recv_buf = None self.start()
def __init__(self, event_queue, port_and_baud): super(SerialConnection, self).__init__() self._queue = event_queue self._serial_port = None self._settings_port, baud_acks = split_in_two(port_and_baud, ":") baud, acks = split_in_two(baud_acks, "*") if len(baud) > 0: self._settings_baud = int(baud) else: self._settings_baud = 115200 require_acks = True if len(acks) > 0: if acks == "ACK": require_acks = True elif acks == "NOACK": require_acks = False else: log.warning("Unrecognized ACK configuration '%s'", acks) self._alive = threading.Event() self._alive.set() self._connected = threading.Event() self._connected.clear() if require_acks: self._seq_out = 0 else: self._seq_out = None self._seq_in = None self._outqueue = queue.Queue() self._recv_length = 0 self._recv_buf = None self.start()
def __init__(self, event_queue, port_and_baud): super(SerialConnection, self).__init__() self._queue = event_queue self._serial_port = None self._settings_port, baud_acks = split_in_two(port_and_baud, ":") baud, acks = split_in_two(baud_acks, "*") if len(baud) > 0: self._settings_baud = int(baud) else: self._settings_baud = 115200 require_acks = True if len(acks) > 0: if acks == "ACK": require_acks = True elif acks == "NOACK": require_acks = False else: log.warning("Unrecognized ACK configuration '%s'", acks) self._alive = threading.Event() self._alive.set() self._connected = threading.Event() self._connected.clear() if require_acks: self._seq_out = 0 else: self._seq_out = None self._seq_in = None self._outqueue = Queue.Queue() self._recv_length = 0 self._recv_buf = None self.start()
def __init__(self, event_queue, host_and_port): super(SfConnection, self).__init__() self._queue = event_queue self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host, port = split_in_two(host_and_port, ":") if len(port) > 0: port = int(port) else: port = 9002 self._server_address = (host, port) self._alive = threading.Event() self._alive.set() self._connected = threading.Event() self._connected.clear() self._recv_length = 0 self._recv_buf = None self.start()