Exemplo n.º 1
0
    def __init__(self, port, baud_rate, terminal=None, reset=False):
        Connection.__init__(self, terminal)

        self._port = port
        self._baud_rate = baud_rate

        try:
            self._serial = serial.Serial(None, self._baud_rate, timeout=0, write_timeout=0.2)
            self._serial.dtr = False
            self._serial.rts = False
            self._serial.port = port
            self._serial.open()
            if reset:
                self._serial.rts = True
                time.sleep(0.1)
                self._serial.rts = False
                x = ""
                while not x.endswith(">>>"):
                    x += self._serial.read().decode('utf-8', errors="ignore")
            self.send_kill()
        except (OSError, serial.SerialException) as e:
            self._serial = None
            return
        except Exception as e:
            return

        self._reader_thread = Thread(target=self._reader_thread_routine)
        self._reader_thread.start()
Exemplo n.º 2
0
    def __init__(self, host, port, terminal, password_prompt):
        Connection.__init__(self, terminal)
        self._host = host
        self._port = port
        self.s = None
        self.ws = None

        if not self._start_connection():
            return

        if not self.handle_password(password_prompt):
            self._clear()
            raise PasswordException()

        self._reader_thread = Thread(target=self._reader_thread_routine)
        self._reader_thread.start()
Exemplo n.º 3
0
    def __init__(self, host, port, terminal, password_prompt):
        Connection.__init__(self, terminal)
        self._host = host
        self._port = port
        self.s = None
        self.ws = None

        try:
            self._start_connection()
        except Exception as e:
            self._clear()
            raise e

        if not self.handle_password(password_prompt):
            self._clear()
            raise PasswordException()

        self._reader_thread = Thread(target=self._reader_thread_routine)
        self._reader_thread.start()
Exemplo n.º 4
0
    def __init__(self, port, baud_rate, terminal=None, reset=False):
        Connection.__init__(self, terminal)

        self._port = port
        self._baud_rate = baud_rate

        try:
            self._serial = serial.Serial(None,
                                         self._baud_rate,
                                         timeout=0,
                                         write_timeout=0.2)
            self._serial.dtr = False
            self._serial.rts = False
            self._serial.port = port
            self._serial.open()

            kill_and_wait = not reset
            if reset:
                self._serial.rts = True
                time.sleep(0.1)
                self._serial.rts = False
                try:
                    # Give board time to reset (10 seconds should be enough)
                    self.read_to_next_prompt(10)
                except TimeoutError:
                    # If we still get time out, a script was probably
                    # started automatically and needs to be killed
                    kill_and_wait = True
            if kill_and_wait:
                self.send_kill()
                self.read_to_next_prompt()

        except (OSError, serial.SerialException) as e:
            self._serial = None
            return
        except Exception as e:
            return

        self._reader_thread = Thread(target=self._reader_thread_routine)
        self._reader_thread.start()
Exemplo n.º 5
0
    def __init__(self, port, baud_rate, terminal=None, reset=False):
        Connection.__init__(self, terminal)

        self._port = port
        self._baud_rate = baud_rate

        try:
            self._serial = serial.Serial(None, self._baud_rate, timeout=0, write_timeout=0.2)
            self._serial.dtr = False
            self._serial.rts = False
            self._serial.port = port
            self._serial.open()

            kill_and_wait = not reset
            if reset:
                self._serial.rts = True
                time.sleep(0.1)
                self._serial.rts = False
                try:
                    # Give board time to reset (10 seconds should be enough)
                    self.read_to_next_prompt(10)
                except TimeoutError:
                    # If we still get time out, a script was probably
                    # started automatically and needs to be killed
                    kill_and_wait = True
            if kill_and_wait:
                self.send_kill()
                self.read_to_next_prompt()

        except (OSError, serial.SerialException) as e:
            self._serial = None
            return
        except Exception as e:
            return

        self._reader_thread = Thread(target=self._reader_thread_routine)
        self._reader_thread.start()