pyb — funções relacionadas à placa¶
Aviso
O módulo pyb está obsoleto. Use o módulo multiplataforma machine para código novo – ele fornece a mesma funcionalidade em qualquer OpenMV Cam, independentemente da família de MCU, enquanto o pyb existe apenas nas placas baseadas em STM32. O pyb é mantido por compatibilidade com scripts mais antigos, nenhum novo recurso será adicionado a ele e ele pode ser removido em uma versão futura.
O módulo pyb contém funções específicas do STM32 relacionadas à placa.
Funções diversas¶
- pyb.have_cdc() bool¶
Retorna True se o USB estiver conectado como um dispositivo serial, False caso contrário.
Nota
Esta função está obsoleta. Use pyb.USB_VCP().isconnected() em vez disso.
- pyb.hid(data: Tuple[int, int, int, int]) None¶
Recebe uma tupla de 4 elementos (ou lista) e a envia ao host USB (o PC) para sinalizar um evento de movimento de mouse HID.
Nota
Esta função está obsoleta. Use
pyb.USB_HID.send()em vez disso.
- pyb.main(filename: str) None¶
Define o nome do arquivo do script principal a ser executado após o boot.py terminar. Se esta função não for chamada, então o arquivo padrão main.py será executado.
Só faz sentido chamar esta função de dentro do boot.py.
- pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None¶
Nota
Esta função está obsoleta. Use
vfs.mount()/vfs.umount()e um dispositivo de bloco derivado devfs.AbstractBlockDevem vez disso.Monta um dispositivo de bloco sob
mountpoint. Odevicedeve implementar o protocolo legado de dispositivo de bloco do pyb (também obsoleto – consultevfs.AbstractBlockDevpara a interface moderna):Método
Finalidade
readblocks(self, blocknum, buf)Copia o equivalente a
bufem bytes do dispositivo, começando no blocoblocknum. O comprimento debufé um múltiplo de 512.writeblocks(self, blocknum, buf)(opcional)Escreve
bufno dispositivo, começando no blocoblocknum. Se omitido, o dispositivo é montado como somente leitura.count(self)Retorna o número de blocos de 512 bytes no dispositivo.
sync(self)(opcional)Descarrega quaisquer escritas em cache.
mountpointé o caminho na raiz do sistema de arquivos onde o dispositivo será montado; ele deve começar com uma barra.readonlyforça uma montagem somente leitura.mkfscria um novo sistema de arquivos se nenhum estiver presente.
- pyb.repl_uart(uart: UART | None = None) UART | None¶
Obtém ou define o objeto UART no qual o REPL é repetido.
- 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¶
Se chamada sem argumentos, retorna o modo USB atual como uma string.
Se chamada com modestr fornecido, tenta configurar o modo USB. Os seguintes valores de modestr são reconhecidos:
modestr
Configura
NoneDesabilita o USB.
'VCP'Apenas VCP (Virtual COM Port).
'MSC'Apenas MSC (USB mass storage class).
'VCP+MSC'VCP e MSC.
'VCP+HID'VCP e HID (human interface device).
'VCP+MSC+HID'VCP, MSC e HID juntos. Não suportado em todos os OpenMV Cam.
Por compatibilidade com versões anteriores,
'CDC'é interpretado como'VCP'(e de forma semelhante para'CDC+MSC'e'CDC+HID').O parâmetro port deve ser um inteiro (0, 1, …) e seleciona qual porta USB usar se a placa suportar múltiplas portas. Um valor de -1 usa a porta padrão ou selecionada automaticamente.
Os parâmetros vid e pid permitem especificar o VID (vendor id) e o PID (product id). Um valor de pid igual a -1 selecionará um PID com base no valor de modestr.
Ao habilitar o modo MSC, o parâmetro msc pode ser usado para especificar uma lista de LUNs SCSI a serem expostos na interface de armazenamento em massa. Por exemplo
msc=(pyb.Flash(), pyb.SDCard()).Ao habilitar o modo HID, você também pode especificar os detalhes do HID passando o parâmetro nomeado hid. Ele recebe uma tupla de (subclasse, protocolo, comprimento máximo do pacote, intervalo de polling, descritor de relatório). Por padrão, ele definirá valores apropriados para um mouse USB. Há também uma constante
pyb.hid_keyboard, que é uma tupla apropriada para um teclado USB.O parâmetro high_speed, quando definido como
True, habilita o modo USB HS se ele for suportado pelo hardware.
Constantes¶
Ambas as constantes abaixo são tuplas de 5 elementos prontas para uso, na forma
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
adequadas para serem passadas como o argumento hid de usb_mode() para fazer o OpenMV Cam aparecer ao host como um dispositivo USB HID. subclass = 1 significa “boot interface” e protocol seleciona a classe do dispositivo de boot (1 = teclado, 2 = mouse). O quinto elemento é um objeto bytes contendo o descritor de relatório HID usado quando o host enumera o dispositivo.
- pyb.hid_mouse: tuple¶
Descritor HID pré-construído para um mouse de boot de 3 botões com movimento relativo em X/Y. A tupla é
(1, 2, 4, 8, <mouse report descriptor>): subclasse de boot, protocolo de mouse, relatórios de entrada de 4 bytes (máscara de botões + X + Y + roda), com polling a cada 8 ms. O descritor de relatório embutido é o usado porpyb.USB_HID().send((buttons, dx, dy, wheel)).
- pyb.hid_keyboard: tuple¶
Descritor HID pré-construído para um teclado de boot USB. A tupla é
(1, 1, 8, 8, <keyboard report descriptor>): subclasse de boot, protocolo de teclado, relatórios de entrada de 8 bytes (byte de modificadores, um byte reservado, seis códigos de tecla simultâneos), com polling a cada 8 ms. O descritor de relatório embutido corresponde ao layout padrão de teclado de boot HID de 8 bytes, então o relatório enviado viaUSB_HID.send()deve ser umbytesna forma(modifiers, 0, key1, key2, key3, key4, key5, key6).
Classes¶
- classe ADC – conversão analógico-digital
- classe ADCAll – acesso a todos os canais ADC
- classe CAN – barramento de comunicação controller area network
- classe DAC – conversão digital para analógico
- classe ExtInt – configura pinos de E/S para interromper em eventos externos
- classe Flash – acesso ao armazenamento flash interno
- classe I2C – um protocolo serial de dois fios
- classe LED – LED embarcado
- class Pin – controle de pinos de I/O
- class PinAF – funções alternativas de pino
- class RTC – relógio de tempo real
- class Servo – driver de servo de hobby de 3 fios
- class SPI – um protocolo serial acionado por um controlador
- classe Timer – controla os timers internos
- classe TimerChannel – configura um canal para um timer
- classe UART – barramento de comunicação serial duplex
- classe USB_HID – Dispositivo de Interface Humana (HID) USB
- classe USB_VCP – porta de comunicação virtual USB