v4.4.0#
A v4.4.0 adiciona uma API tf.regression(), suporte ao sensor térmico FLIR Lepton na OpenMV Cam H7 Pro, suporte ao coprocessador Cortex-M4 na Arduino Nicla Vision e MicroPython 1.19. Alguns módulos específicos de placa e comportamentos de WiFi/LCD foram alterados — consulte as alterações incompatíveis abaixo.
Destaques#
tf.regression()— executa modelos de regressão TensorFlow Lite com entrada/saída 1D.Suporte ao sensor térmico FLIR Lepton na OpenMV Cam H7 Pro.
Arduino Nicla Vision — suporte ao coprocessador Cortex-M4, MicroSpeech funcional, LPUART1.
MicroPython atualizado para 1.19; ulab atualizado para 5.1.1.
Incompatível: os módulos
lcd/tvda Nicla Vision foram desativados e o controlador WiFi do RP2040 Connect foi alterado — consulte as alterações incompatíveis.
Novas funcionalidades#
tf.regression(model, input_array)— nova função para modelos de regressão TensorFlow Lite com entrada/saída 1D, devolvendo uma lista de valores em vírgula flutuante.Controlos GC2145 —
sensor.set_auto_exposure()esensor.set_auto_whitebal()passam a funcionar no GC2145 (a exposição automática e o balanço de brancos automático podem ser desativados; a exposição/ganho explícito ainda não é suportado).Arduino Nicla Vision — suporte ao coprocessador Cortex-M4 (CM4) e o periférico LPUART1 foram ativados.
machine.Pin— o pinoUSB_VBUSestá agora disponível para scripts do utilizador.
Outras alterações e melhorias#
MicroPython atualizado para 1.19; ulab para 5.1.1; o controlador WiFi cyw43 incluído foi atualizado.
As portas RP2 (Arduino Nano RP2040 Connect) e nRF (Arduino Nano 33 BLE Sense) passaram a utilizar o novo depurador baseado em TinyUSB para a ligação IDE/anfitrião.
O XCLK do OV7670 foi aumentado de 12 MHz para 24 MHz (conjunto de registos atualizado).
Correções de erros#
Câmara e sensores:
As estatísticas de temperatura de manchas no OpenMV Pure Thermal passaram a utilizar a imagem infravermelha em vez da imagem colorida, tornando a temperatura média por mancha correta.
Corrigido o tratamento de ROI e o escalonamento de área em
draw_image()para uma saída escalada mais precisa.A IMU é reinicializada após um reset por software, mantendo-se em funcionamento quando o barramento SPI da IMU está ativado.
Sistema:
Corrigidos problemas de comparação com/sem sinal na deteção de características FAST/AGAST, deteção de manchas, CLAHE e controladores LCD/TV; corrigida a desinicialização de câmara-GPIO / SPI / DAC no STM32, o mapeamento de pinos LPUART no H7, e o registo do módulo
nnno STM32Cube.AI.
Arduino Nicla Vision:
O MicroSpeech passa a funcionar (buffer PDM duplicado, exemplo adicionado) e o modo de espera de baixo consumo foi corrigido.
Hardware e suporte de placa#
OpenMV Cam H7 Pro — suporte ao sensor térmico FLIR Lepton.
Arduino Nicla Vision — coprocessador CM4, LPUART1, MicroSpeech, modo de espera de baixo consumo.
Alterações incompatíveis na API#
Alterações da API visíveis pelo utilizador entre a v4.3.3 e a v4.4.0. Âmbito: módulos C Python em modules/ e bibliotecas Python em scripts/libraries/.
Cada alteração está marcada com o seu impacto:
menor — API restrita; afeta apenas scripts numa placa específica.
comportamento — mesma API, resultados diferentes; verifique novamente os scripts ajustados.
As alterações estão agrupadas por impacto nessa ordem. Se pretende apenas portar o seu código, avance para a lista de verificação de migração no final. Cada hash de commit tem uma ligação para o seu diff no GitHub.
Módulos Nicla Vision e WiFi RP2040 (menor)#
Na Arduino Nicla Vision, os módulos lcd e tv foram desativados para libertar memória para o suporte ao coprocessador CM4 — os scripts que utilizavam esses módulos na Nicla Vision deixarão de os encontrar. O Arduino Nano RP2040 Connect passou da implementação WiFi/nina personalizada da OpenMV para o módulo/controlador NINA-W10 MicroPython upstream, cuja API é diferente.
Tempo limite de socket WiFi e inversão vertical LCD (comportamento)#
Um tempo limite de socket WINC1500 devolve agora um erro não bloqueante (EWOULDBLOCK) em vez de ETIMEDOUT, pelo que os sockets com tempo limite expirado deixam de ser fechados inesperadamente — o código que capturava ETIMEDOUT deve ser atualizado. O shield SPI LCD display passa a lançar ValueError («Vertical flip requires triple buffering!») quando é solicitado um y_scale negativo sem o triple buffering ativado.
Lista de verificação de migração#
Para uma migração limpa para a v4.4.0, o trabalho típico é:
Na Nicla Vision, deixe de utilizar
lcd/tv; no Nano RP2040 Connect, porte o código WiFi para o controlador NINA-W10 upstream (as alterações de módulo de placa).Atualize o código de socket WINC1500 para esperar
EWOULDBLOCKno tempo limite, e ative o triple buffering para saída LCD com inversão vertical (as alterações de comportamento).