コード例 #1
0
ファイル: flterm.py プロジェクト: olofk/misoc
 def send_frame(self, frame):
     frame.encode()
     retry = 1
     while retry:
         self.write_exact(frame.raw)
         # Get the reply from the device
         reply = character(self.serial.read())
         if reply == sfl_ack_success:
             retry = 0
         elif reply == sfl_ack_crcerror:
             retry = 1
         else:
             print("[FLTERM] Got unknown reply '{}' from the device, aborting.".format(reply))
             return 0
     return 1
コード例 #2
0
ファイル: flterm.py プロジェクト: gbraad/misoc
 def send_frame(self, frame):
     frame.encode()
     retry = 1
     while retry:
         self.write_exact(frame.raw)
         # Get the reply from the device
         reply = character(self.serial.read())
         if reply == sfl_ack_success:
             retry = 0
         elif reply == sfl_ack_crcerror:
             retry = 1
         else:
             print("[FLTERM] Got unknown reply '{}' from the device, aborting.".format(reply))
             return 0
     return 1
コード例 #3
0
ファイル: flterm.py プロジェクト: olofk/misoc
 def writer(self):
     try:
         while self.writer_alive:
             try:
                 b = console.getkey()
             except KeyboardInterrupt:
                 b = serial.to_bytes([3])
             c = character(b)
             if c == chr(0x03):
                 self.stop()
             elif c == "\n":
                 self.serial.write(LF)
             else:
                 self.serial.write(b)
     except:
         self.writer_alive = False
         raise
コード例 #4
0
ファイル: flterm.py プロジェクト: olofk/misoc
    def reader(self):
        try:
            while self.reader_alive:
                c = character(self.serial.read())
                if c == "\r":
                    sys.stdout.write("\n")
                else:
                    sys.stdout.write(c)
                sys.stdout.flush()

                if self.kernel_image is not None:
                    if self.detect_magic(c):
                        self.answer_magic()

        except serial.SerialException:
            self.reader_alive = False
            raise
コード例 #5
0
ファイル: flterm.py プロジェクト: gbraad/misoc
 def writer(self):
     try:
         while self.writer_alive:
             try:
                 b = console.getkey()
             except KeyboardInterrupt:
                 b = serial.to_bytes([3])
             c = character(b)
             if c == chr(0x03):
                 self.stop()
             elif c == '\n':
                 self.serial.write(LF)
             else:
                 self.serial.write(b)
     except:
         self.writer_alive = False
         raise
コード例 #6
0
ファイル: flterm.py プロジェクト: gbraad/misoc
    def reader(self):
        try:
            while self.reader_alive:
                c = character(self.serial.read())
                if c == '\r':
                    sys.stdout.write('\n')
                else:
                    sys.stdout.write(c)
                sys.stdout.flush()

                if self.kernel_image is not None:
                    if self.detect_magic(c):
                        self.answer_magic()

        except serial.SerialException:
            self.reader_alive = False
            raise