pyb — funkcije povezane s pločom¶
Upozorenje
Modul pyb je zastario. Za novi kod koristite međuportabilni modul machine – on pruža istu funkcionalnost na svakoj OpenMV Cam neovisno o porodici MCU-a, dok pyb postoji samo na pločama temeljenim na STM32. pyb se zadržava radi povratne kompatibilnosti sa starijim skriptama, nove značajke se neće dodavati i mogao bi biti uklonjen u budućem izdanju.
Modul pyb sadrži funkcije specifične za STM32 povezane s pločom.
Razne funkcije¶
- pyb.have_cdc() bool¶
Vraća True ako je USB spojen kao serijski uređaj, inače False.
Napomena
Ova funkcija je zastarjela. Umjesto nje koristite pyb.USB_VCP().isconnected().
- pyb.hid(data: Tuple[int, int, int, int]) None¶
Uzima 4-torku (ili listu) i šalje je USB domaćinu (računalu) kako bi signalizirao događaj pokreta HID miša.
Napomena
Ova funkcija je zastarjela. Umjesto nje koristite
pyb.USB_HID.send().
- pyb.main(filename: str) None¶
Postavlja naziv datoteke glavne skripte koja se izvodi nakon što boot.py završi. Ako se ova funkcija ne pozove, izvršit će se zadana datoteka main.py.
Pozivanje ove funkcije ima smisla samo iz boot.py.
- pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None¶
Napomena
Ova funkcija je zastarjela. Umjesto nje koristite
vfs.mount()/vfs.umount()i blok uređaj izveden izvfs.AbstractBlockDev.Montira blok uređaj pod
mountpoint.devicemora implementirati zastarjeli pyb protokol blok uređaja (također zastario – za moderno sučelje pogledajtevfs.AbstractBlockDev):Metoda
Svrha
readblocks(self, blocknum, buf)Kopira
bufbajtova s uređaja počevši od blokablocknum. Duljinabufje višekratnik broja 512.writeblocks(self, blocknum, buf)(neobavezno)Zapisuje
bufna uređaj počevši od blokablocknum. Ako se izostavi, uređaj se montira samo za čitanje.count(self)Vraća broj blokova od 512 bajtova na uređaju.
sync(self)(neobavezno)Isprazni sve predmemorirane zapise.
mountpointje putanja u korijenu datotečnog sustava na koju se montira uređaj; mora počinjati kosom crtom.readonlyprisiljava montiranje samo za čitanje.mkfsstvara novi datotečni sustav ako nijedan ne postoji.
- pyb.repl_uart(uart: UART | None = None) UART | None¶
Dohvati ili postavi UART objekt na kojem se ponavlja REPL.
- 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¶
Ako se pozove bez argumenata, vraća trenutni USB način rada kao niz.
Ako se pozove s navedenim modestr, pokušava konfigurirati USB način rada. Razumiju se sljedeće vrijednosti modestr:
modestr
Konfigurira
NoneOnemogućuje USB.
'VCP'Samo VCP (Virtual COM Port).
'MSC'Samo MSC (USB klasa masovne pohrane).
'VCP+MSC'VCP i MSC.
'VCP+HID'VCP i HID (uređaj za interakciju s čovjekom).
'VCP+MSC+HID'VCP, MSC i HID zajedno. Nije podržano na svakoj OpenMV Cam.
Radi povratne kompatibilnosti,
'CDC'se tumači kao'VCP'(i slično za'CDC+MSC'i'CDC+HID').Parametar port trebao bi biti cijeli broj (0, 1, …) i odabire koji se USB priključak koristi ako ploča podržava više priključaka. Vrijednost -1 koristi zadani ili automatski odabrani priključak.
Parametri vid i pid omogućuju navođenje VID-a (ID dobavljača) i PID-a (ID proizvoda). Vrijednost pid od -1 odabrat će PID na temelju vrijednosti modestr.
Ako omogućujete MSC način rada, parametar msc može se koristiti za navođenje liste SCSI LUN-ova koji se izlažu na sučelju masovne pohrane. Na primjer
msc=(pyb.Flash(), pyb.SDCard()).Ako omogućujete HID način rada, možete također navesti HID pojedinosti prosljeđivanjem ključnog parametra hid. Uzima n-torku (podklasa, protokol, najveća duljina paketa, interval ispitivanja, deskriptor izvješća). Prema zadanim postavkama postavit će odgovarajuće vrijednosti za USB miš. Postoji i konstanta
pyb.hid_keyboard, koja je odgovarajuća n-torka za USB tipkovnicu.Parametar high_speed, kada je postavljen na
True, omogućuje USB HS način rada ako ga hardver podržava.
Konstante¶
Obje konstante u nastavku gotove su 5-torke u obliku
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
prikladne za prosljeđivanje kao argument hid funkcije usb_mode() kako bi se OpenMV Cam domaćinu prikazala kao USB HID uređaj. subclass = 1 znači „boot sučelje”, a protocol odabire klasu boot uređaja (1 = tipkovnica, 2 = miš). Peti element je bytes objekt koji sadrži HID deskriptor izvješća koji se koristi kada domaćin nabraja uređaj.
- pyb.hid_mouse: tuple¶
Unaprijed izgrađen HID deskriptor za 3-tipkovni boot miš s relativnim X/Y pomakom. N-torka je
(1, 2, 4, 8, <mouse report descriptor>): boot podklasa, protokol miša, 4-bajtna ulazna izvješća (maska tipki + X + Y + kotačić), ispitivana svakih 8 ms. Ugrađeni deskriptor izvješća je onaj koji koristipyb.USB_HID().send((buttons, dx, dy, wheel)).
- pyb.hid_keyboard: tuple¶
Unaprijed izgrađen HID deskriptor za USB boot tipkovnicu. N-torka je
(1, 1, 8, 8, <keyboard report descriptor>): boot podklasa, protokol tipkovnice, 8-bajtna ulazna izvješća (bajt modifikatora, jedan rezervirani bajt, šest istovremenih kodova tipki), ispitivana svakih 8 ms. Ugrađeni deskriptor izvješća odgovara standardnom 8-bajtnom rasporedu HID boot tipkovnice, pa bi izvješće poslano putemUSB_HID.send()trebalo bitibytesu obliku(modifiers, 0, key1, key2, key3, key4, key5, key6).
Klase¶
- klasa ADC – analogno-digitalna pretvorba
- klasa ADCAll – pristup svim ADC kanalima
- klasa CAN – komunikacijska sabirnica controller area network
- klasa DAC – digitalno-analogna pretvorba
- klasa ExtInt – konfiguriranje U/I pinova za prekid na vanjskim događajima
- klasa Flash – pristup ugrađenoj flash pohrani
- klasa I2C – dvožični serijski protokol
- klasa LED – ugrađena LED
- klasa Pin – upravljanje I/O pinovima
- klasa PinAF – alternativne funkcije pina
- klasa RTC – sat stvarnog vremena
- klasa Servo – upravljački program za 3-žični hobi servo
- klasa SPI – serijski protokol kojim upravlja kontroler
- klasa Timer – upravljanje internim mjeračima vremena
- klasa TimerChannel – postavljanje kanala za mjerač vremena
- klasa UART – dvosmjerna serijska komunikacijska sabirnica
- klasa USB_HID – USB uređaj za interakciju s čovjekom (HID)
- klasa USB_VCP – USB virtualni komunikacijski priključak