pyb — funktioner relaterade till kortet¶
Varning
Modulen pyb är föråldrad. Använd den portöverskridande modulen machine för ny kod – den erbjuder samma funktionalitet på alla OpenMV Cam oavsett MCU-familj, medan pyb endast finns på de STM32-baserade korten. pyb behålls för bakåtkompatibilitet med äldre skript, inga nya funktioner kommer att läggas till, och den kan komma att tas bort i en framtida version.
Modulen pyb innehåller STM32-specifika funktioner relaterade till kortet.
Diverse funktioner¶
- pyb.have_cdc() bool¶
Returnerar True om USB är ansluten som en seriell enhet, annars False.
Anteckning
Denna funktion är föråldrad. Använd pyb.USB_VCP().isconnected() i stället.
- pyb.hid(data: Tuple[int, int, int, int]) None¶
Tar en 4-tupel (eller lista) och skickar den till USB-värden (datorn) för att signalera en HID-musrörelsehändelse.
Anteckning
Denna funktion är föråldrad. Använd
pyb.USB_HID.send()i stället.
- pyb.main(filename: str) None¶
Ange filnamnet för huvudskriptet som ska köras efter att boot.py är klar. Om denna funktion inte anropas körs standardfilen main.py.
Det är endast meningsfullt att anropa denna funktion inifrån boot.py.
- pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None¶
Anteckning
Denna funktion är föråldrad. Använd
vfs.mount()/vfs.umount()och en blockenhet härledd frånvfs.AbstractBlockDevi stället.Montera en blockenhet under
mountpoint.devicemåste implementera det äldre pyb-blockenhetsprotokollet (även det föråldrat – sevfs.AbstractBlockDevför det moderna gränssnittet):Metod
Syfte
readblocks(self, blocknum, buf)Kopiera
bufbytes från enheten med start vid blockblocknum. Längden påbufär en multipel av 512.writeblocks(self, blocknum, buf)(valfri)Skriv
buftill enheten med start vid blockblocknum. Om den utelämnas monteras enheten skrivskyddad.count(self)Returnera antalet 512-byteblock på enheten.
sync(self)(valfri)Spola alla cachade skrivningar.
mountpointär sökvägen i filsystemets rot där enheten ska monteras; den måste börja med ett snedstreck framåt.readonlytvingar en skrivskyddad montering.mkfsskapar ett nytt filsystem om inget finns.
- pyb.repl_uart(uart: UART | None = None) UART | None¶
Hämta eller ange UART-objektet där REPL:en upprepas.
- 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¶
Om den anropas utan argument returneras det aktuella USB-läget som en sträng.
Om den anropas med modestr angivet försöker den konfigurera USB-läget. Följande värden på modestr förstås:
modestr
Konfigurerar
NoneInaktiverar USB.
'VCP'Endast VCP (Virtual COM Port).
'MSC'Endast MSC (USB mass storage class).
'VCP+MSC'VCP och MSC.
'VCP+HID'VCP och HID (human interface device).
'VCP+MSC+HID'VCP, MSC och HID tillsammans. Stöds inte på alla OpenMV Cam.
För bakåtkompatibilitet förstås
'CDC'som'VCP'(och på liknande sätt för'CDC+MSC'och'CDC+HID').Parametern port ska vara ett heltal (0, 1, …) och väljer vilken USB-port som ska användas om kortet stöder flera portar. Ett värde på -1 använder standardporten eller den automatiskt valda porten.
Parametrarna vid och pid gör att du kan ange VID (vendor id) och PID (product id). Ett pid-värde på -1 väljer ett PID baserat på värdet av modestr.
Om MSC-läge aktiveras kan parametern msc användas för att ange en lista över SCSI-LUN:er som ska exponeras på masslagringsgränssnittet. Till exempel
msc=(pyb.Flash(), pyb.SDCard()).Om HID-läge aktiveras kan du även ange HID-detaljerna genom att skicka nyckelordsparametern hid. Den tar en tupel av (subclass, protocol, max packet length, polling interval, report descriptor). Som standard ställer den in lämpliga värden för en USB-mus. Det finns också en konstant
pyb.hid_keyboard, som är en lämplig tupel för ett USB-tangentbord.Parametern high_speed, när den sätts till
True, aktiverar USB HS-läge om det stöds av hårdvaran.
Konstanter¶
Båda konstanterna nedan är färdiga 5-tupler i formen
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
lämpliga att skicka som argumentet hid till usb_mode() för att få OpenMV Cam att framstå för värden som en USB HID-enhet. subclass = 1 betyder ”boot interface” och protocol väljer boot-enhetsklassen (1 = tangentbord, 2 = mus). Det femte elementet är ett bytes-objekt som innehåller HID-rapportdeskriptorn som används när värden räknar upp enheten.
- pyb.hid_mouse: tuple¶
Förbyggd HID-deskriptor för en boot-mus med 3 knappar och relativ X/Y-rörelse. Tupeln är
(1, 2, 4, 8, <mouse report descriptor>): boot-subclass, musprotokoll, 4-byte ingångsrapporter (knappmask + X + Y + hjul), avläst var 8:e ms. Den inbyggda rapportdeskriptorn är den som används avpyb.USB_HID().send((buttons, dx, dy, wheel)).
- pyb.hid_keyboard: tuple¶
Förbyggd HID-deskriptor för ett USB boot-tangentbord. Tupeln är
(1, 1, 8, 8, <keyboard report descriptor>): boot-subclass, tangentbordsprotokoll, 8-byte ingångsrapporter (modifierarbyte, en reserverad byte, sex samtidiga tangentkoder), avläst var 8:e ms. Den inbyggda rapportdeskriptorn matchar standardlayouten på 8 byte för HID boot-tangentbord, så rapporten som skickas viaUSB_HID.send()ska vara ettbytesav formen(modifiers, 0, key1, key2, key3, key4, key5, key6).
Klasser¶
- class ADC – analog-till-digital-omvandling
- class ADCAll – åtkomst till alla ADC-kanaler
- klass CAN – kommunikationsbuss för controller area network
- klass DAC – digital-till-analog-omvandling
- klass ExtInt – konfigurera I/O-stift att avbryta vid externa händelser
- klass Flash – åtkomst till inbyggt flashminne
- klass I2C – ett tvåtrådigt seriellt protokoll
- klass LED – inbyggd LED
- class Pin – styra I/O-stift
- class PinAF – alternativa funktioner för stift
- class RTC – realtidsklocka
- class Servo – 3-tråds hobbyservodrivrutin
- class SPI – ett styrenhetsdrivet seriellt protokoll
- class Timer – styr interna timrar
- class TimerChannel – ställ in en kanal för en timer
- klassen UART – dubbelriktad seriell kommunikationsbuss
- klassen USB_HID – USB Human Interface Device (HID)
- klassen USB_VCP – USB virtuell kommunikationsport