v3.6.8

v3.6.8 adiciona o suporte para a placa OpenMV Cam Pure Thermal, torna a inferência tf cerca de 4× mais rápida ao mover o TensorFlow para CMSIS-NN, expande a biblioteca rpc para computador com interfaces UART / Kvaser CAN / I2C / SPI, e activa o cartão SD no Arduino Portenta H7. O tratamento das partições do cartão SD e o import sensor em placas sem sensor foram alterados — leia as alterações de ruptura abaixo.

Destaques

  • OpenMV Cam Pure Thermal — suporte para nova placa.

  • TensorFlow ~4× mais rápido — a inferência tf corre agora em CMSIS-NN.

  • Biblioteca rpc — adicionadas interfaces UART, Kvaser CAN e I2C/SPI master/slave.

  • Cartão SD Portenta H7 — suporte a cartão SD activado, com correções de relógio PLL1/HSE/ADC.

  • Ruptura: o arranque com cartão SD deteta agora automaticamente a partição, e o import sensor lança uma excepção quando não existe sensor de imagem — veja as alterações de ruptura.

Novas funcionalidades

  • rpc — adicionadas interfaces UART, Kvaser CAN e I2C/SPI master/slave à biblioteca RPC para computador (rpc_uart_master / rpc_uart_slave, rpc_kvarser_can_master / rpc_kvarser_can_slave, e master/slave I2C/SPI).

  • Placas sem sensor — o firmware suporta agora placas sem sensor de imagem (possibilitando a placa Pure Thermal).

  • Geometria JPEG — adicionada uma estrutura de configuração de leitura JPEG (jpg_w / jpg_h / jpg_size) para leitura da geometria JPEG.

Outras alterações e melhorias

  • O TensorFlow foi substituído pelo CMSIS-NN para inferência tf cerca de 4× mais rápida (configuração imlib ajustada por placa); o exemplo ulab utiliza ulab.numerical.mean / std; o exemplo de suspensão profunda chama agora sensor.sleep(True) antes da escrita no registo de bypass do regulador OV7725.

Correções de erros

Câmara e imagem:

  • Corrigido o carregamento de imagens JPEG do disco (a geometria JPEG era rejeitada como formato não suportado), sensor.reset() efectua agora um reset forçado para que o sensor se recupere após um desligamento do regulador, corrigida a configuração de função alternativa / relógio SPI do FLIR Lepton no OpenMV 4 / 4 Plus, e corrigida a atribuição do pino FSYNC no OpenMV 4 / 4 Plus.

Conectividade e sistema:

  • Corrigida a escrita temporizadora pyb.DAC no H7, o WLAN.start_ap() do WINC1500 já não requer uma chave para segurança OPEN, corrigida a partilha do barramento I2C entre a câmara e os periféricos do utilizador na Portenta, e o marcador de framebuffer SWD do autoteste passou a ser por placa para não corromper o bpp do framebuffer nas placas sem ele.

Hardware e suporte a placas

  • OpenMV Cam Pure Thermal — nova placa.

  • Arduino Portenta H7 — cartão SD activado, com correções de relógio PLL1 (400 MHz/40 MHz, USB/RNG em HSI48), HSE (25 MHz) e fonte de relógio ADC.

Alterações de ruptura na API

Alterações de API visíveis pelo utilizador entre v3.6.7 e v3.6.8. Âmbito: módulos C Python em modules/ e bibliotecas Python em scripts/libraries/.

Ambas as alterações de ruptura são alterações de comportamento (mesma API, resultados diferentes) — verifique os scripts afectados. Cada hash de commit é uma ligação para o respectivo diff no GitHub.

Detecção automática de partição do cartão SD (comportamento)

O arranque com cartão SD detecta agora automaticamente a partição em vez de montar sempre a partição 1. Cartões que dependiam do comportamento antigo de partição-1-fixa podem agora montar um sistema de ficheiros diferente; verifique os cartões SD com múltiplas partições e o ponto de montagem esperado.

Commits: 1f7f003b8

import sensor lança excepção em placas sem sensor (comportamento)

Para suportar placas sem sensor de imagem, a verificação de inicialização do módulo sensor corre agora no momento da importação, pelo que o import sensor lança uma RuntimeError quando não é detectado nenhum sensor de imagem (em vez de falhar mais tarde). Numa placa exclusivamente térmica, proteja o import sensor com try / except ou evite importá-lo.

Commits: 17b444ad1

Lista de verificação de migração

Verifique os cartões SD com múltiplas partições face à nova detecção automática de partição (a alteração do cartão SD) e proteja o import sensor em placas sem sensor / exclusivamente térmicas (a alteração de importação do sensor). Todos os outros scripts funcionam sem modificações.