Search code examples
pythonarrayspython-3.xpyserial

How to add bytes to bytearray in Python 3.7?


I am new the Python 3.7 and I am trying to read bytes from a serial port using the following code. I am using pySerial module and the read() function returns bytes.

self.uart = serial.Serial()
self.uart.port = '/dev/tty/USB0'
self.uart.baudrate = 115200
self.uart.open()
# buffer for received bytes
packet_bytes = bytearray()
# read and process data from serial port
while True:
    # read single byte from serial port
    current_bytes = self._uart.read()
    if current_bytes is B'$':
        self.process_packet(packet_bytes)
        packet_bytes = bytearray()
    else:
        packet_bytes.append(current_bytes)        <- Error occurs here

I receive the following error:

TypeError: an integer is required

Some idea how to solve?


Solution

  • packet_bytes += bytearray(current_bytes)