pyb — a kártyához kapcsolódó függvények¶
Figyelem
A pyb modul elavult. Új kódhoz használd a portfüggetlen machine modult – az minden OpenMV Cam eszközön ugyanazt a funkcionalitást nyújtja, függetlenül az MCU-családtól, míg a pyb csak az STM32-alapú kártyákon létezik. A pyb a régebbi szkriptekkel való visszafelé kompatibilitás miatt marad meg, új funkciók nem kerülnek bele, és egy jövőbeli kiadásban el is távolíthatják.
A pyb modul a kártyához kapcsolódó STM32-specifikus függvényeket tartalmazza.
Egyéb függvények¶
- pyb.have_cdc() bool¶
True értéket ad vissza, ha az USB soros eszközként van csatlakoztatva, egyébként False értéket.
Megjegyzés
Ez a függvény elavult. Helyette használd a pyb.USB_VCP().isconnected() hívást.
- pyb.hid(data: Tuple[int, int, int, int]) None¶
Egy 4-elemű tuple-t (vagy listát) fogad, és elküldi az USB-gazdagépnek (a PC-nek) egy HID egérmozgási esemény jelzéséhez.
Megjegyzés
Ez a függvény elavult. Helyette használd a
pyb.USB_HID.send()metódust.
- pyb.main(filename: str) None¶
Beállítja a boot.py befejezése után futtatandó fő szkript fájlnevét. Ha ezt a függvényt nem hívják meg, akkor az alapértelmezett main.py fájl kerül végrehajtásra.
Ennek a függvénynek a meghívása csak a boot.py-on belülről van értelme.
- pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None¶
Megjegyzés
Ez a függvény elavult. Helyette használd a
vfs.mount()/vfs.umount()függvényeket és egyvfs.AbstractBlockDev-ből származtatott blokkeszközt.Egy blokkeszköz csatolása a
mountpointalá. Adeviceeszköznek meg kell valósítania a régi pyb blokkeszköz-protokollt (amely szintén elavult – a modern interfészért lásd avfs.AbstractBlockDevosztályt):Metódus
Cél
readblocks(self, blocknum, buf)Átmásol
bufméretnyi bájtot az eszközről ablocknumblokktól kezdve. Abufhossza 512 többszöröse.writeblocks(self, blocknum, buf)(opcionális)A
bufkiírása az eszközre ablocknumblokktól kezdve. Ha elhagyják, az eszköz csak olvashatóan kerül csatolásra.count(self)Visszaadja az eszközön lévő 512 bájtos blokkok számát.
sync(self)(opcionális)Kiüríti a gyorsítótárazott írásokat.
A
mountpointa fájlrendszer gyökerében lévő útvonal, ahova az eszközt csatolni kell; perjellel kell kezdődnie. Areadonlycsak olvasható csatolást kényszerít ki. Azmkfsúj fájlrendszert hoz létre, ha nincs jelen egy sem.
- pyb.repl_uart(uart: UART | None = None) UART | None¶
Lekérdezi vagy beállítja azt a UART objektumot, amelyen a REPL meg van ismételve.
- pyb.unique_id() bytes¶
Visszaad egy 12 bájtos (96 bites) sztringet, amely az MCU egyedi azonosítója.
- 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¶
Ha argumentumok nélkül hívják, visszaadja az aktuális USB-módot sztringként.
Ha a modestr megadásával hívják, megpróbálja beállítani az USB-módot. A modestr alábbi értékei értelmezhetők:
modestr
Beállítja
NoneLetiltja az USB-t.
'VCP'Csak VCP (Virtual COM Port).
'MSC'Csak MSC (USB tömegtároló osztály).
'VCP+MSC'VCP és MSC.
'VCP+HID'VCP és HID (human interface device).
'VCP+MSC+HID'VCP, MSC és HID együtt. Nem minden OpenMV Cam eszközön támogatott.
A visszafelé kompatibilitás érdekében a
'CDC'a'VCP'jelentésével értelmeződik (és hasonlóan a'CDC+MSC'és'CDC+HID'esetében is).A port paraméternek egész számnak kell lennie (0, 1, …), és azt választja ki, hogy melyik USB-portot használja, ha a kártya több portot támogat. A -1 érték az alapértelmezett vagy automatikusan kiválasztott portot használja.
A vid és pid paraméterek lehetővé teszik a VID (vendor id) és PID (product id) megadását. A pid -1 értéke a modestr értéke alapján választ ki egy PID-t.
MSC mód engedélyezésekor az msc paraméterrel megadható azoknak a SCSI LUN-oknak a listája, amelyeket a tömegtároló interfészen meg kell jeleníteni. Például
msc=(pyb.Flash(), pyb.SDCard()).HID mód engedélyezésekor a HID részleteit is megadhatod a hid kulcsszavas paraméter átadásával. Ez egy tuple-t fogad (subclass, protocol, max packet length, polling interval, report descriptor). Alapértelmezés szerint egy USB-egérnek megfelelő értékeket állít be. Létezik egy
pyb.hid_keyboardkonstans is, amely egy USB-billentyűzetnek megfelelő tuple.A high_speed paraméter,
Trueértékre állítva, engedélyezi az USB HS módot, ha a hardver támogatja.
Konstansok¶
Az alábbi két konstans mindegyike kész 5-elemű tuple az alábbi formában
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
amely alkalmas az usb_mode() hid argumentumaként való átadásra, hogy az OpenMV Cam USB HID eszközként jelenjen meg a gazdagép számára. A subclass = 1 jelentése „boot interface”, a protocol pedig a boot eszközosztályt választja ki (1 = billentyűzet, 2 = egér). Az ötödik elem egy bytes objektum, amely a HID report descriptort tartalmazza, amelyet a gazdagép az eszköz felsorolásakor használ.
- pyb.hid_mouse: tuple¶
Előre elkészített HID descriptor egy 3 gombos boot egérhez relatív X/Y mozgással. A tuple
(1, 2, 4, 8, <mouse report descriptor>): boot subclass, egér protokoll, 4 bájtos bemeneti riportok (gombmaszk + X + Y + görgő), 8 ms-onként lekérdezve. A beépített report descriptor az, amelyet apyb.USB_HID().send((buttons, dx, dy, wheel))használ.
- pyb.hid_keyboard: tuple¶
Előre elkészített HID descriptor egy USB boot billentyűzethez. A tuple
(1, 1, 8, 8, <keyboard report descriptor>): boot subclass, billentyűzet protokoll, 8 bájtos bemeneti riportok (módosító bájt, egy fenntartott bájt, hat egyidejű billentyűkód), 8 ms-onként lekérdezve. A beépített report descriptor megfelel a szabványos 8 bájtos HID boot-billentyűzet elrendezésnek, így aUSB_HID.send()metóduson keresztül küldött riportnak egybytesobjektumnak kell lennie(modifiers, 0, key1, key2, key3, key4, key5, key6)formában.
Osztályok¶
- ADC osztály – analóg-digitális átalakítás
- ADCAll osztály – az összes ADC-csatorna elérése
- class CAN – controller area network kommunikációs busz
- DAC osztály – digitális-analóg átalakítás
- ExtInt osztály – I/O lábak konfigurálása külső eseményekre történő megszakításhoz
- Flash osztály – hozzáférés a beépített flash tárolóhoz
- I2C osztály – kétvezetékes soros protokoll
- LED osztály – beépített LED
- class Pin – I/O lábak vezérlése
- class PinAF – láb alternatív funkciói
- class RTC – valós idejű óra
- class Servo – 3 vezetékes hobbi szervó-meghajtó
- class SPI – vezérlő által meghajtott soros protokoll
- Timer osztály – belső időzítők vezérlése
- TimerChannel osztály – egy időzítő csatornájának beállítása
- UART osztály – duplex soros kommunikációs busz
- USB_HID osztály – USB Human Interface Device (HID)
- USB_VCP osztály – USB virtuális kommunikációs port