classe USB_HID – Dispositivo de Interface Humana USB (HID)¶
A classe USB_HID representa a interface USB Human Interface Device da OpenMV Cam. Pode ser utilizada para emular um periférico tal como um rato ou teclado.
Antes de construir um objeto USB_HID, chame pyb.usb_mode() com um modo que inclua HID (p. ex. 'VCP+HID') – isto enumera a classe USB HID no host. O descritor de relatório passado para usb_mode seleciona a classe de dispositivo; tuplos pré-construídos estão disponíveis como pyb.hid_mouse e pyb.hid_keyboard.
Exemplo – enviar um clique esquerdo do rato e depois movê-lo 5 pixels para a direita:
import pyb
pyb.usb_mode("VCP+HID", hid=pyb.hid_mouse)
hid = pyb.USB_HID()
# report layout: (buttons, dx, dy, wheel)
hid.send((1, 0, 0, 0)) # press left button
hid.send((0, 0, 0, 0)) # release
hid.send((0, 5, 0, 0)) # move +5 in X
Construtores¶
- class pyb.USB_HID¶
Cria um novo objeto USB_HID. Existe apenas uma interface HID, por isso o construtor devolve o objeto singleton.
Métodos¶
- send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None¶
Envia um relatório de entrada HID ao host USB.
dataé um tuplo/lista de inteiros ou um buffer do tipobytescujo layout depende do descritor de relatório em uso. Para o descritor de rato incorporado, o relatório é(buttons, dx, dy, wheel); para o descritor de teclado é(modifiers, 0, key1, key2, key3, key4, key5, key6). Consultepyb.hid_mouseepyb.hid_keyboard.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
Recebe um relatório de saída HID do host USB (p. ex. estado dos LEDs do teclado). Retorna imediatamente se já houver um relatório em buffer.
dataé umint(o número de bytes a ler para um novo buffer) ou um buffer mutável a preencher com os bytes recebidos.timeouté o tempo máximo em milissegundos para aguardar um relatório.
Se
datafor um inteiro, é devolvido um novo objetobytes; caso contrário, é devolvido o número de bytes escritos emdata.