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).