v3.6.8¶
A v3.6.8 adiciona a placa OpenMV Cam Pure Thermal, torna a inferência com tf cerca de 4× mais rápida ao migrar o TensorFlow para o CMSIS-NN, expande a biblioteca rpc de desktop com interfaces UART / Kvaser CAN / I2C / SPI e habilita o cartão SD no Arduino Portenta H7. O tratamento de partições do cartão SD e o import sensor em placas sem sensor mudaram — leia as mudanças incompatíveis abaixo.
Destaques¶
OpenMV Cam Pure Thermal — suporte a nova placa.
TensorFlow ~4× mais rápido — a inferência com
tfagora roda no CMSIS-NN.Biblioteca
rpc— adicionadas interfaces UART, Kvaser CAN e I2C/SPI master/slave.Cartão SD do Portenta H7 — suporte a cartão SD habilitado, com correções de clock de PLL1/HSE/ADC.
Incompatível: o boot do cartão SD agora detecta automaticamente a partição, e o
import sensoragora gera erro quando nenhum sensor de imagem está presente — veja as mudanças incompatíveis.
Novos recursos¶
rpc— adicionadas interfaces UART, Kvaser CAN e I2C/SPI master/slave à biblioteca RPC de desktop (rpc_uart_master/rpc_uart_slave,rpc_kvarser_can_master/rpc_kvarser_can_slavee I2C/SPI master/slave).Placas sem sensor — o firmware agora suporta placas sem um sensor de imagem (viabilizando a placa Pure Thermal).
Geometria JPEG — adicionada uma struct de configurações de leitura JPEG (
jpg_w/jpg_h/jpg_size) para ler a geometria JPEG.
Outras mudanças e melhorias¶
O TensorFlow foi trocado para o CMSIS-NN para uma inferência com
tfcerca de 4× mais rápida (configuração de imlib por placa ajustada); o exemplo deulabusaulab.numerical.mean/std; o exemplo de deep-sleep agora chamasensor.sleep(True)antes da escrita no registrador de bypass do regulador do OV7725.
Correções de bugs¶
Câmera e imagem:
Corrigido o carregamento de imagens JPEG do disco (a geometria JPEG era rejeitada como formato não suportado), feito com que
sensor.reset()realize um hard reset para que o sensor se recupere após o desligamento do regulador, corrigida a configuração de função alternada / clock do SPI do FLIR Lepton nos OpenMV 4 / 4 Plus, e corrigida a atribuição do pino FSYNC nos OpenMV 4 / 4 Plus.
Conectividade e sistema:
Corrigida a escrita temporizada em
pyb.DACno H7, feito com que oWLAN.start_ap()do WINC1500 não exija chave para segurança OPEN, corrigido o compartilhamento do barramento I2C entre a câmera e periféricos do usuário no Portenta, e feito o marcador de framebuffer SWD do autoteste ser por placa para que ele não sobrescreva mais obppdo framebuffer em placas sem ele.
Hardware e suporte a placas¶
OpenMV Cam Pure Thermal — nova placa.
Arduino Portenta H7 — cartão SD habilitado, com correções de PLL1 (400 MHz/40 MHz, USB/RNG no HSI48), HSE (25 MHz) e fonte de clock do ADC.
Mudanças incompatíveis na API¶
Quebras de API visíveis ao usuário entre a v3.6.7 e a v3.6.8. Escopo: C-modules Python em modules/ e bibliotecas Python em scripts/libraries/.
Ambas as mudanças incompatíveis são mudanças de comportamento (mesma API, resultados diferentes) — reverifique os scripts afetados. Cada hash de commit leva ao seu diff no GitHub.
Detecção automática de partição do cartão SD (comportamento)¶
O boot do cartão SD agora detecta automaticamente a partição em vez de sempre montar a partição 1. Cartões que dependiam do antigo comportamento de partição-1 fixa podem agora montar um sistema de arquivos diferente; reverifique cartões SD com múltiplas partições e a montagem esperada.
Commits: 1f7f003b8
import sensor gera erro em placas sem sensor (comportamento)¶
Para suportar placas sem um sensor de imagem, a verificação de inicialização do módulo sensor agora roda na importação, então import sensor gera um RuntimeError quando nenhum sensor de imagem é detectado (em vez de falhar depois). Em uma placa apenas térmica, proteja import sensor com try / except ou evite importá-lo.
Commits: 17b444ad1
Checklist de migração¶
Reverifique cartões SD com múltiplas partições contra a nova detecção automática de partição (a mudança do cartão SD) e proteja import sensor em placas sem sensor / apenas térmicas (a mudança de importação do sensor). Todos os outros scripts funcionam sem alterações.