pyb — functies die betrekking hebben op het board¶
Waarschuwing
De pyb-module is verouderd. Gebruik voor nieuwe code de port-overstijgende machine-module – deze biedt dezelfde functionaliteit op elke OpenMV Cam, ongeacht de MCU-familie, terwijl pyb alleen bestaat op de STM32-gebaseerde boards. pyb wordt behouden voor achterwaartse compatibiliteit met oudere scripts, er worden geen nieuwe functies aan toegevoegd en het kan in een toekomstige release worden verwijderd.
De pyb-module bevat STM32-specifieke functies die betrekking hebben op het board.
Diverse functies¶
- pyb.have_cdc() bool¶
Geeft True terug als USB is aangesloten als serieel apparaat, anders False.
Notitie
Deze functie is verouderd. Gebruik in plaats daarvan pyb.USB_VCP().isconnected().
- pyb.hid(data: Tuple[int, int, int, int]) None¶
Neemt een 4-tuple (of lijst) en stuurt deze naar de USB-host (de pc) om een HID-muisbewegingsgebeurtenis te signaleren.
Notitie
Deze functie is verouderd. Gebruik in plaats daarvan
pyb.USB_HID.send().
- pyb.main(filename: str) None¶
Stel de bestandsnaam in van het hoofdscript dat moet worden uitgevoerd nadat boot.py is voltooid. Als deze functie niet wordt aangeroepen, wordt het standaardbestand main.py uitgevoerd.
Het heeft alleen zin om deze functie aan te roepen vanuit boot.py.
- pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None¶
Notitie
Deze functie is verouderd. Gebruik in plaats daarvan
vfs.mount()/vfs.umount()en een blokapparaat dat is afgeleid vanvfs.AbstractBlockDev.Koppel een blokapparaat onder
mountpoint.devicemoet het verouderde pyb blokapparaat-protocol implementeren (ook verouderd – zievfs.AbstractBlockDevvoor de moderne interface):Methode
Doel
readblocks(self, blocknum, buf)Kopieer
bufaan bytes van het apparaat, beginnend bij blokblocknum. De lengte vanbufis een veelvoud van 512.writeblocks(self, blocknum, buf)(optioneel)Schrijf
bufnaar het apparaat, beginnend bij blokblocknum. Indien weggelaten, wordt het apparaat alleen-lezen gekoppeld.count(self)Geeft het aantal blokken van 512 bytes op het apparaat terug.
sync(self)(optioneel)Schrijf eventuele gecachte schrijfacties weg.
mountpointis het pad in de root van het bestandssysteem waar het apparaat aan moet worden gekoppeld; het moet beginnen met een schuine streep naar voren.readonlyforceert een alleen-lezen koppeling.mkfsmaakt een nieuw bestandssysteem aan als er geen aanwezig is.
- pyb.repl_uart(uart: UART | None = None) UART | None¶
Haal het UART-object op waarop de REPL wordt herhaald, of stel dit in.
- pyb.unique_id() bytes¶
Geeft een string van 12 bytes (96 bits) terug, die de unieke ID van de MCU is.
- 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¶
Indien aangeroepen zonder argumenten, geeft de huidige USB-modus als string terug.
Indien aangeroepen met modestr opgegeven, wordt geprobeerd de USB-modus te configureren. De volgende waarden van modestr worden begrepen:
modestr
Configureert
NoneSchakelt USB uit.
'VCP'Alleen VCP (Virtual COM Port).
'MSC'Alleen MSC (USB mass storage class).
'VCP+MSC'VCP en MSC.
'VCP+HID'VCP en HID (human interface device).
'VCP+MSC+HID'VCP, MSC en HID samen. Niet ondersteund op elke OpenMV Cam.
Voor achterwaartse compatibiliteit wordt
'CDC'begrepen als'VCP'(en evenzo voor'CDC+MSC'en'CDC+HID').De parameter port moet een geheel getal zijn (0, 1, …) en selecteert welke USB-poort moet worden gebruikt als het board meerdere poorten ondersteunt. Een waarde van -1 gebruikt de standaard- of automatisch geselecteerde poort.
Met de parameters vid en pid kunt u de VID (vendor id) en PID (product id) opgeven. Een pid-waarde van -1 selecteert een PID op basis van de waarde van modestr.
Bij het inschakelen van de MSC-modus kan de parameter msc worden gebruikt om een lijst van SCSI-LUN’s op te geven die op de mass-storage-interface moeten worden weergegeven. Bijvoorbeeld
msc=(pyb.Flash(), pyb.SDCard()).Bij het inschakelen van de HID-modus kunt u ook de HID-details opgeven door de sleutelwoordparameter hid mee te geven. Deze neemt een tuple van (subclass, protocol, max packet length, polling interval, report descriptor). Standaard stelt het passende waarden in voor een USB-muis. Er is ook een constante
pyb.hid_keyboard, wat een passende tuple is voor een USB-toetsenbord.De parameter high_speed, indien ingesteld op
True, schakelt USB HS-modus in als deze door de hardware wordt ondersteund.
Constanten¶
Beide onderstaande constanten zijn kant-en-klare 5-tuples in de vorm
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
geschikt om door te geven als het hid-argument van usb_mode() om de OpenMV Cam aan de host te laten verschijnen als een USB HID-apparaat. subclass = 1 betekent “boot interface” en protocol selecteert de boot-apparaatklasse (1 = toetsenbord, 2 = muis). Het vijfde element is een bytes-object dat de HID report descriptor bevat die wordt gebruikt wanneer de host het apparaat enumereert.
- pyb.hid_mouse: tuple¶
Kant-en-klare HID descriptor voor een boot-muis met 3 knoppen en relatieve X/Y-beweging. De tuple is
(1, 2, 4, 8, <mouse report descriptor>): boot-subclass, muisprotocol, invoerrapporten van 4 bytes (knopmasker + X + Y + wiel), elke 8 ms gepolld. De ingebouwde report descriptor is dezelfde die wordt gebruikt doorpyb.USB_HID().send((buttons, dx, dy, wheel)).
- pyb.hid_keyboard: tuple¶
Kant-en-klare HID descriptor voor een USB boot-toetsenbord. De tuple is
(1, 1, 8, 8, <keyboard report descriptor>): boot-subclass, toetsenbordprotocol, invoerrapporten van 8 bytes (modifierbyte, één gereserveerde byte, zes gelijktijdige toetscodes), elke 8 ms gepolld. De ingebouwde report descriptor komt overeen met de standaard HID boot-toetsenbordindeling van 8 bytes, dus het rapport dat viaUSB_HID.send()wordt verstuurd moet eenbyteszijn van de vorm(modifiers, 0, key1, key2, key3, key4, key5, key6).
Klassen¶
- class ADC – analoog-naar-digitaalconversie
- class ADCAll – toegang tot alle ADC-kanalen
- class CAN – controller area network communicatiebus
- class DAC – digitaal-naar-analoog-conversie
- class ExtInt – I/O-pinnen configureren om te interrupten op externe gebeurtenissen
- class Flash – toegang tot ingebouwde flashopslag
- class I2C – een tweedraads serieel protocol
- class LED – ingebouwde LED
- class Pin – I/O-pinnen besturen
- class PinAF – alternatieve pinfuncties
- class RTC – realtimeklok
- class Servo – 3-draads hobbyservodriver
- class SPI – een door een controller aangestuurd serieel protocol
- class Timer – interne timers besturen
- class TimerChannel – een kanaal voor een timer instellen
- class UART – duplex seriële communicatiebus
- class USB_HID – USB Human Interface Device (HID)
- class USB_VCP – USB virtuele compoort