class USB_VCP – USB virtual comm port¶
The USB_VCP class allows creation of a stream-like object representing the USB virtual comm port. It can be used to read and write data over USB to the connected host.
Constructors¶
- class pyb.USB_VCP(id=0)¶
- Create a new USB_VCP object. The id argument specifies which USB VCP port to use. - Create a new USB_VCP object. 
Methods¶
- USB_VCP.init(*, flow=-1)¶
- Configure the USB VCP port. If the flow argument is not -1 then the value sets the flow control, which can be a bitwise-or of - USB_VCP.RTSand- USB_VCP.CTS. RTS is used to control read behaviour and CTS, to control write behaviour.
- USB_VCP.setinterrupt(chr)¶
- Set the character which interrupts running Python code. This is set to 3 (CTRL-C) by default, and when a CTRL-C character is received over the USB VCP port, a KeyboardInterrupt exception is raised. - Set to -1 to disable this interrupt feature. This is useful when you want to send raw bytes over the USB VCP port. 
- USB_VCP.isconnected()¶
- Return - Trueif USB is connected as a serial device, else- False.
- USB_VCP.debug_mode_enabled()¶
- Return - Trueif OpenMV IDE is connected to the OpenMV Cam.
- USB_VCP.any()¶
- Return - Trueif any characters waiting, else- False.
- USB_VCP.close()¶
- This method does nothing. It exists so the USB_VCP object can act as a file. 
- USB_VCP.read([nbytes])¶
- Read at most - nbytesfrom the serial device and return them as a bytes object. If- nbytesis not specified then the method reads all available bytes from the serial device. USB_VCP stream implicitly works in non-blocking mode, so if no pending data available, this method will return immediately with- Nonevalue.
- USB_VCP.readinto(buf[, maxlen])¶
- Read bytes from the serial device and store them into - buf, which should be a buffer-like object. At most- len(buf)bytes are read. If- maxlenis given and then at most- min(maxlen, len(buf))bytes are read.- Returns the number of bytes read and stored into - bufor- Noneif no pending data available.
- USB_VCP.readline()¶
- Read a whole line from the serial device. - Returns a bytes object containing the data, including the trailing newline character or - Noneif no pending data available.
- USB_VCP.readlines()¶
- Read as much data as possible from the serial device, breaking it into lines. - Returns a list of bytes objects, each object being one of the lines. Each line will include the newline character. 
- USB_VCP.write(buf)¶
- Write the bytes from - bufto the serial device.- Returns the number of bytes written. 
- USB_VCP.recv(data, *, timeout=5000)¶
- Receive data on the bus: - datacan be an integer, which is the number of bytes to receive, or a mutable buffer, which will be filled with received bytes.
- timeoutis the timeout in milliseconds to wait for the receive.
 - Return value: if - datais an integer then a new buffer of the bytes received, otherwise the number of bytes read into- datais returned.
- USB_VCP.send(data, *, timeout=5000)¶
- Send data over the USB VCP: - datais the data to send (an integer to send, or a buffer object).
- timeoutis the timeout in milliseconds to wait for the send.
 - Return value: number of bytes sent. 
- USB_VCP.irq(handler=None, trigger=IRQ_RX, hard=False)¶
- Register handler to be called whenever an event specified by trigger occurs. The handler function must take exactly one argument, which will be the USB VCP object. Pass in - Noneto disable the callback.- Valid values for trigger are: - USB_VCP.IRQ_RX: new data is available for reading from the USB VCP object.
 
Constants¶
- USB_VCP.IRQ_RX¶
- IRQ trigger values for - USB_VCP.irq().