kelas USB_HID -- USB Human Interface Device (HID)¶
Kelas USB_HID merepresentasikan antarmuka USB Human Interface Device pada OpenMV Cam. Dapat digunakan untuk mengemulasi periferal seperti mouse atau keyboard.
Sebelum membuat objek USB_HID, panggil pyb.usb_mode() dengan mode yang mencakup HID (misalnya 'VCP+HID') -- ini mendaftarkan kelas USB HID pada host. Deskriptor laporan yang diteruskan ke usb_mode memilih kelas perangkat; tuple bawaan tersedia sebagai pyb.hid_mouse dan pyb.hid_keyboard.
Contoh -- kirim klik kiri mouse kemudian pindahkan 5 piksel ke kanan:
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
Konstruktor¶
- class pyb.USB_HID¶
Membuat objek USB_HID baru. Hanya ada satu antarmuka HID, sehingga konstruktor mengembalikan objek singleton.
Metode¶
- send(data: Tuple[int, ...] | List[int] | bytes | bytearray) None¶
Mengirim laporan input HID ke host USB.
dataadalah tuple/list integer atau buffer sepertibytesyang tata letaknya bergantung pada deskriptor laporan yang digunakan. Untuk deskriptor mouse bawaan laporannya adalah(buttons, dx, dy, wheel); untuk deskriptor keyboard adalah(modifiers, 0, key1, key2, key3, key4, key5, key6). Lihatpyb.hid_mousedanpyb.hid_keyboard.
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
Menerima laporan output HID dari host USB (misalnya status LED keyboard). Langsung dikembalikan jika laporan sudah ada dalam buffer.
dataadalahint(jumlah byte yang dibaca ke buffer baru) atau buffer yang dapat diubah untuk diisi dengan byte yang diterima.timeoutadalah waktu maksimum dalam milidetik untuk menunggu laporan.
Jika
dataadalah integer maka objekbytesbaru dikembalikan; jika tidak, jumlah byte yang ditulis ke dalamdatadikembalikan.