USB_HID osztály – USB Human Interface Device (HID)¶
A USB_HID osztály az OpenMV Cam USB Human Interface Device interfészét reprezentálja. Használható perifériák, például egér vagy billentyűzet emulálására.
Egy USB_HID objektum létrehozása előtt hívja meg a pyb.usb_mode() függvényt egy olyan móddal, amely tartalmazza a HID értéket (pl. 'VCP+HID') – ez felsorolja az USB HID osztályt a gazdagépen. A usb_mode függvénynek átadott report descriptor választja ki az eszközosztályt; előre elkészített tuple-ök érhetők el a pyb.hid_mouse és pyb.hid_keyboard formájában.
Példa – egér bal kattintás küldése, majd mozgatása 5 képponttal jobbra:
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
Konstruktorok¶
- class pyb.USB_HID¶
Létrehoz egy új USB_HID objektumot. Csak egyetlen HID interfész van, így a konstruktor a singleton objektumot adja vissza.
Metódusok¶
- send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None¶
HID bemeneti jelentést küld az USB gazdagépnek.
A
dataegész számok tuple-je/listája vagy egybytes-szerű puffer, amelynek elrendezése a használt report descriptortól függ. A beépített egér descriptor esetén a jelentés(buttons, dx, dy, wheel); a billentyűzet descriptor esetén(modifiers, 0, key1, key2, key3, key4, key5, key6). Lásd:pyb.hid_mouseéspyb.hid_keyboard.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
HID kimeneti jelentést fogad az USB gazdagéptől (pl. billentyűzet LED állapota). Azonnal visszatér, ha már van pufferelt jelentés.
A
datavagy egyint(egy friss pufferbe olvasandó bájtok száma), vagy egy módosítható puffer, amelyet a fogadott bájtokkal kell feltölteni.A
timeouta jelentésre való várakozás maximális ideje milliszekundumban.
Ha a
dataegész szám, egy frissbytesobjektum kerül visszaadásra; ellenkező esetben adatapufferbe írt bájtok száma kerül visszaadásra.