pyb — funciones relacionadas con la placa¶
Advertencia
El módulo pyb está obsoleto. Para código nuevo, utilice el módulo multiplataforma machine, ya que ofrece la misma funcionalidad en cualquier OpenMV Cam independientemente de la familia de MCU, mientras que pyb solo existe en las placas basadas en STM32. pyb se conserva por compatibilidad con scripts antiguos, no se añadirán nuevas funciones y podría eliminarse en una versión futura.
El módulo pyb contiene funciones específicas de STM32 relacionadas con la placa.
Funciones varias¶
- pyb.have_cdc() bool¶
Devuelve True si el USB está conectado como dispositivo serie, y False en caso contrario.
Nota
Esta función está obsoleta. Use pyb.USB_VCP().isconnected() en su lugar.
- pyb.hid(data: Tuple[int, int, int, int]) None¶
Toma una tupla de 4 elementos (o lista) y la envía al host USB (el PC) para señalar un evento de movimiento de ratón HID.
Nota
Esta función está obsoleta. Use
pyb.USB_HID.send()en su lugar.
- pyb.info(dump_alloc_table: bool | None = None) None¶
Imprime gran cantidad de información sobre la placa.
- pyb.main(filename: str) None¶
Establece el nombre del archivo del script principal que se ejecutará después de que finalice boot.py. Si no se llama a esta función, se ejecutará el archivo predeterminado main.py.
Solo tiene sentido llamar a esta función desde dentro de boot.py.
- pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None¶
Nota
Esta función está obsoleta. Use
vfs.mount()/vfs.umount()y un dispositivo de bloques derivado devfs.AbstractBlockDeven su lugar.Monta un dispositivo de bloques en
mountpoint.devicedebe implementar el protocolo heredado de dispositivos de bloques de pyb (también obsoleto; consultevfs.AbstractBlockDevpara la interfaz moderna):Método
Propósito
readblocks(self, blocknum, buf)Copia
bufbytes desde el dispositivo a partir del bloqueblocknum. La longitud debufes un múltiplo de 512.writeblocks(self, blocknum, buf)(opcional)Escribe
bufen el dispositivo a partir del bloqueblocknum. Si se omite, el dispositivo se monta en modo de solo lectura.count(self)Devuelve el número de bloques de 512 bytes del dispositivo.
sync(self)(opcional)Vacía cualquier escritura en caché.
mountpointes la ruta en la raíz del sistema de archivos donde se montará el dispositivo; debe comenzar con una barra inclinada.readonlyfuerza un montaje de solo lectura.mkfscrea un nuevo sistema de archivos si no hay ninguno presente.
- pyb.repl_uart(uart: UART | None = None) UART | None¶
Obtiene o establece el objeto UART en el que se repite el 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¶
Si se llama sin argumentos, devuelve el modo USB actual como una cadena.
Si se llama proporcionando modestr, intenta configurar el modo USB. Se entienden los siguientes valores de modestr:
modestr
Configura
NoneDeshabilita el USB.
'VCP'Solo VCP (Virtual COM Port).
'MSC'Solo MSC (clase de almacenamiento masivo USB).
'VCP+MSC'VCP y MSC.
'VCP+HID'VCP y HID (dispositivo de interfaz humana).
'VCP+MSC+HID'VCP, MSC y HID juntos. No compatible con todas las OpenMV Cam.
Por compatibilidad con versiones anteriores,
'CDC'se interpreta como'VCP'(y de forma análoga'CDC+MSC'y'CDC+HID').El parámetro port debe ser un entero (0, 1, …) y selecciona qué puerto USB usar si la placa admite varios puertos. Un valor de -1 usa el puerto predeterminado o seleccionado automáticamente.
Los parámetros vid y pid permiten especificar el VID (identificador de fabricante) y el PID (identificador de producto). Un valor de pid de -1 seleccionará un PID basado en el valor de modestr.
Si se habilita el modo MSC, el parámetro msc puede usarse para especificar una lista de LUN SCSI que se expondrán en la interfaz de almacenamiento masivo. Por ejemplo,
msc=(pyb.Flash(), pyb.SDCard()).Si se habilita el modo HID, también puede especificar los detalles HID pasando el parámetro de palabra clave hid. Toma una tupla de (subclase, protocolo, longitud máxima de paquete, intervalo de sondeo, descriptor de informe). De forma predeterminada establecerá valores apropiados para un ratón USB. También existe la constante
pyb.hid_keyboard, que es una tupla apropiada para un teclado USB.El parámetro high_speed, cuando se establece en
True, habilita el modo USB HS si el hardware lo admite.
Constantes¶
Ambas constantes a continuación son tuplas de 5 elementos predefinidas con la forma
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
adecuadas para pasarse como argumento hid de usb_mode() para hacer que la OpenMV Cam aparezca ante el host como un dispositivo USB HID. subclass = 1 significa «interfaz de arranque» y protocol selecciona la clase de dispositivo de arranque (1 = teclado, 2 = ratón). El quinto elemento es un objeto bytes que contiene el descriptor de informe HID utilizado cuando el host enumera el dispositivo.
- pyb.hid_mouse: tuple¶
Descriptor HID predefinido para un ratón de arranque de 3 botones con movimiento relativo en X/Y. La tupla es
(1, 2, 4, 8, <mouse report descriptor>): subclase de arranque, protocolo de ratón, informes de entrada de 4 bytes (máscara de botones + X + Y + rueda), sondeado cada 8 ms. El descriptor de informe integrado es el que usapyb.USB_HID().send((buttons, dx, dy, wheel)).
- pyb.hid_keyboard: tuple¶
Descriptor HID predefinido para un teclado de arranque USB. La tupla es
(1, 1, 8, 8, <keyboard report descriptor>): subclase de arranque, protocolo de teclado, informes de entrada de 8 bytes (byte modificador, un byte reservado, seis códigos de tecla simultáneos), sondeado cada 8 ms. El descriptor de informe integrado coincide con la disposición estándar del teclado de arranque HID de 8 bytes, por lo que el informe enviado medianteUSB_HID.send()debe ser un objetobytesde la forma(modifiers, 0, key1, key2, key3, key4, key5, key6).
Clases¶
- class ADC – conversión analógica a digital
- class ADCAll – acceso a todos los canales ADC
- clase CAN – bus de comunicación de red de área de controladores (CAN)
- clase DAC – conversión de digital a analógico
- clase ExtInt – configura los pines de E/S para interrumpir ante eventos externos
- clase Flash – acceso al almacenamiento flash integrado
- clase I2C – un protocolo serie de dos hilos
- clase LED – LED integrado
- class Pin – control de pines de E/S
- class PinAF – funciones alternativas de pin
- class RTC – reloj de tiempo real
- class Servo – controlador de servo de aficionado de 3 hilos
- class SPI – un protocolo serie controlado por un controlador
- clase Timer – controla los temporizadores internos
- clase TimerChannel – configura un canal para un temporizador
- clase UART – bus de comunicación serie dúplex
- clase USB_HID – Dispositivo de Interfaz Humana USB (HID)
- clase USB_VCP – puerto de comunicación virtual USB