class USB_HID – dispozitiv USB de interfață cu utilizatorul (HID)

Clasa USB_HID reprezintă interfața USB Human Interface Device a OpenMV Cam. Poate fi folosită pentru a emula un periferic precum un mouse sau o tastatură.

Înainte de a construi un obiect USB_HID, apelați pyb.usb_mode() cu un mod care include HID (de ex. 'VCP+HID') – acest lucru enumeră clasa USB HID pe gazdă. Descriptorul de raport transmis către usb_mode selectează clasa de dispozitiv; tupluri predefinite sunt disponibile ca pyb.hid_mouse și pyb.hid_keyboard.

Exemplu – trimite un clic stânga de mouse, apoi îl mută 5 pixeli la dreapta:

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

Constructori

class pyb.USB_HID

Creează un nou obiect USB_HID. Există o singură interfață HID, deci constructorul returnează obiectul unic (singleton).

Metode

send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None

Trimite un raport de intrare HID către gazda USB.

data este un tuplu/listă de întregi sau un tampon (buffer) de tip bytes a cărui structură depinde de descriptorul de raport utilizat. Pentru descriptorul de mouse încorporat, raportul este (buttons, dx, dy, wheel); pentru descriptorul de tastatură este (modifiers, 0, key1, key2, key3, key4, key5, key6). Consultați pyb.hid_mouse și pyb.hid_keyboard.

recv(data: int | bytearray, *, timeout: int = 5000) bytes | int

Primește un raport de ieșire HID de la gazda USB (de ex. starea LED-urilor tastaturii). Returnează imediat dacă un raport este deja stocat în tampon.

  • data este fie un int (numărul de octeți de citit într-un tampon nou), fie un tampon (buffer) modificabil care urmează să fie umplut cu octeții primiți.

  • timeout este timpul maxim în milisecunde de așteptare a unui raport.

Dacă data este un întreg, se returnează un nou obiect bytes; altfel se returnează numărul de octeți scriși în data.