pyb --- fungsi-fungsi terkait papan¶
Peringatan
Modul pyb sudah usang. Gunakan modul lintas-port machine untuk kode baru -- modul ini menyediakan fungsionalitas yang sama di setiap OpenMV Cam terlepas dari keluarga MCU, sedangkan pyb hanya tersedia di papan berbasis STM32. pyb dipertahankan untuk kompatibilitas mundur dengan skrip lama, tidak ada fitur baru yang akan ditambahkan, dan mungkin akan dihapus di rilis mendatang.
Modul pyb berisi fungsi-fungsi khusus STM32 yang terkait dengan papan.
Fungsi lain-lain¶
- pyb.have_cdc() bool¶
Mengembalikan True jika USB terhubung sebagai perangkat serial, False jika tidak.
Catatan
Fungsi ini sudah usang. Gunakan pyb.USB_VCP().isconnected() sebagai gantinya.
- pyb.hid(data: Tuple[int, int, int, int]) None¶
Mengambil 4-tuple (atau daftar) dan mengirimkannya ke host USB (PC) untuk memberi sinyal peristiwa gerakan mouse HID.
Catatan
Fungsi ini sudah usang. Gunakan
pyb.USB_HID.send()sebagai gantinya.
- pyb.main(filename: str) None¶
Mengatur nama file skrip utama yang akan dijalankan setelah boot.py selesai. Jika fungsi ini tidak dipanggil maka file default main.py akan dieksekusi.
Hanya masuk akal untuk memanggil fungsi ini dari dalam boot.py.
- pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None¶
Catatan
Fungsi ini sudah usang. Gunakan
vfs.mount()/vfs.umount()dan perangkat blok turunanvfs.AbstractBlockDevsebagai gantinya.Memasang perangkat blok di bawah
mountpoint.deviceharus mengimplementasikan protokol perangkat blok pyb lama (juga sudah usang -- lihatvfs.AbstractBlockDevuntuk antarmuka modern):Metode
Tujuan
readblocks(self, blocknum, buf)Menyalin
bufbyte dari perangkat mulai dari blokblocknum. Panjangbufadalah kelipatan 512.writeblocks(self, blocknum, buf)(opsional)Menulis
bufke perangkat mulai dari blokblocknum. Jika dihilangkan, perangkat dipasang hanya-baca.count(self)Mengembalikan jumlah blok 512-byte pada perangkat.
sync(self)(opsional)Membuang semua tulisan yang di-cache.
mountpointadalah jalur di root sistem file untuk memasang perangkat; harus dimulai dengan garis miring.readonlymemaksa pemasangan hanya-baca.mkfsmembuat sistem file baru jika tidak ada.
- pyb.repl_uart(uart: UART | None = None) UART | None¶
Mendapatkan atau mengatur objek UART tempat REPL diulangi.
- pyb.usb_mode(modestr: str | None = None, port: int = -1, vid: int = 0xf055, pid: int = -1, msc: Tuple = (), hid: Tuple = pyb.hid_mouse, high_speed: bool = False) str | None¶
Jika dipanggil tanpa argumen, mengembalikan mode USB saat ini sebagai string.
Jika dipanggil dengan modestr yang diberikan, mencoba mengonfigurasi mode USB. Nilai-nilai modestr berikut dipahami:
modestr
Mengonfigurasi
NoneMenonaktifkan USB.
'VCP'Hanya VCP (Virtual COM Port).
'MSC'Hanya MSC (kelas penyimpanan massal USB).
'VCP+MSC'VCP dan MSC.
'VCP+HID'VCP dan HID (perangkat antarmuka manusia).
'VCP+MSC+HID'VCP, MSC dan HID bersama-sama. Tidak didukung di setiap OpenMV Cam.
Untuk kompatibilitas mundur,
'CDC'dipahami berarti'VCP'(dan juga untuk'CDC+MSC'dan'CDC+HID').Parameter port harus berupa integer (0, 1, ...) dan memilih port USB mana yang akan digunakan jika papan mendukung beberapa port. Nilai -1 menggunakan port default atau yang dipilih secara otomatis.
Parameter vid dan pid memungkinkan Anda menentukan VID (vendor id) dan PID (product id). Nilai pid sebesar -1 akan memilih PID berdasarkan nilai modestr.
Jika mengaktifkan mode MSC, parameter msc dapat digunakan untuk menentukan daftar SCSI LUN yang akan diekspos pada antarmuka penyimpanan massal. Misalnya
msc=(pyb.Flash(), pyb.SDCard()).Jika mengaktifkan mode HID, Anda juga dapat menentukan detail HID dengan meneruskan parameter kata kunci hid. Parameter ini mengambil tuple (subclass, protocol, max packet length, polling interval, report descriptor). Secara default, ini akan mengatur nilai yang sesuai untuk mouse USB. Ada juga konstanta
pyb.hid_keyboard, yang merupakan tuple yang sesuai untuk keyboard USB.Parameter high_speed, ketika diatur ke
True, mengaktifkan mode USB HS jika didukung oleh perangkat keras.
Konstanta¶
Kedua konstanta di bawah ini adalah 5-tuple siap pakai dalam bentuk
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
yang cocok untuk diteruskan sebagai argumen hid dari usb_mode() agar OpenMV Cam terlihat oleh host sebagai perangkat USB HID. subclass = 1 berarti "boot interface" dan protocol memilih kelas perangkat boot (1 = keyboard, 2 = mouse). Elemen kelima adalah objek bytes yang menyimpan deskriptor laporan HID yang digunakan saat host mengenumerasi perangkat.
- pyb.hid_mouse: tuple¶
Deskriptor HID bawaan untuk mouse boot 3-tombol dengan gerakan X/Y relatif. Tuple-nya adalah
(1, 2, 4, 8, <mouse report descriptor>): subclass boot, protokol mouse, laporan input 4-byte (mask tombol + X + Y + wheel), di-poll setiap 8 ms. Deskriptor laporan bawaan adalah yang digunakan olehpyb.USB_HID().send((buttons, dx, dy, wheel)).
- pyb.hid_keyboard: tuple¶
Deskriptor HID bawaan untuk keyboard boot USB. Tuple-nya adalah
(1, 1, 8, 8, <keyboard report descriptor>): subclass boot, protokol keyboard, laporan input 8-byte (byte modifier, satu byte cadangan, enam kode tombol serentak), di-poll setiap 8 ms. Deskriptor laporan bawaan cocok dengan tata letak keyboard boot HID 8-byte standar, sehingga laporan yang dikirim melaluiUSB_HID.send()harus berupabytesdengan bentuk(modifiers, 0, key1, key2, key3, key4, key5, key6).
Kelas¶
- kelas ADC -- konversi analog ke digital
- kelas ADCAll -- akses semua kanal ADC
- kelas CAN -- bus komunikasi jaringan area pengontrol
- class DAC -- konversi digital ke analog
- class ExtInt -- konfigurasi pin I/O untuk interupsi pada event eksternal
- class Flash -- akses ke penyimpanan flash bawaan
- class I2C -- protokol serial dua kawat
- class LED -- LED on-board
- kelas Pin -- mengontrol pin I/O
- kelas PinAF -- fungsi alternatif pin
- kelas RTC -- jam waktu nyata
- kelas Servo -- driver servo hobi 3-kabel
- kelas SPI -- protokol serial yang digerakkan oleh controller
- kelas Timer -- mengontrol timer internal
- kelas TimerChannel -- mengatur saluran untuk timer
- kelas UART -- bus komunikasi serial dupleks
- kelas USB_HID -- USB Human Interface Device (HID)
- kelas USB_VCP -- port komunikasi virtual USB