v4.4.0#
A v4.4.0 adiciona uma API tf.regression(), suporte ao FLIR Lepton no OpenMV Cam H7 Pro, suporte ao coprocessador Cortex-M4 no Arduino Nicla Vision e o MicroPython 1.19. Alguns módulos específicos de placa e comportamentos de WiFi/LCD mudaram — leia as mudanças incompatíveis abaixo.
Destaques#
tf.regression()— executa modelos de regressão do TensorFlow Lite com entrada 1D/saída 1D.Suporte ao sensor térmico FLIR Lepton no 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/tvdo Nicla Vision foram desabilitados e o driver WiFi do RP2040 Connect mudou — veja as mudanças incompatíveis.
Novos recursos#
tf.regression(model, input_array)— uma nova função para modelos de regressão do TensorFlow Lite com entrada/saída 1D, que retorna uma lista de saídas de ponto flutuante.Controles do GC2145 —
sensor.set_auto_exposure()esensor.set_auto_whitebal()agora funcionam no GC2145 (a exposição automática / balanço de branco podem ser desabilitados; a exposição/ganho explícitos ainda não são suportados).Arduino Nicla Vision — o suporte ao coprocessador Cortex-M4 (CM4) e o periférico LPUART1 foram habilitados.
machine.Pin— o pinoUSB_VBUSagora está exposto aos scripts do usuário.
Outras mudanças e melhorias#
MicroPython atualizado para 1.19; ulab para 5.1.1; o driver WiFi cyw43 incluído foi atualizado.
As portas RP2 (Arduino Nano RP2040 Connect) e nRF (Arduino Nano 33 BLE Sense) migraram para o novo depurador baseado em TinyUSB para a conexão com a IDE/host.
O XCLK do OV7670 foi aumentado de 12 MHz para 24 MHz (conjunto de registradores atualizado).
Correções de bugs#
Câmera e sensores:
As estatísticas de temperatura de blobs no OpenMV Pure Thermal agora usam a imagem IR em vez da imagem colorida, de forma que a temperatura média por blob fique correta.
Corrigido o tratamento de ROI e o escalonamento de área de
draw_image()para uma saída escalonada mais precisa.A IMU é reinicializada após um soft-reset, de modo que ela continue funcionando quando o barramento SPI da IMU estiver habilitado.
Sistema:
Corrigidos problemas de comparação signed/unsigned na detecção de características FAST/AGAST, na detecção de blobs, no CLAHE e nos drivers de LCD/TV; corrigidas a desinicialização de GPIO de câmera / SPI / DAC no STM32, o mapeamento de pinos LPUART do H7 e o registro do módulo
nndo STM32Cube.AI.
Arduino Nicla Vision:
O MicroSpeech agora funciona (buffer PDM duplicado, exemplo adicionado) e o modo de espera de baixo consumo foi corrigido.
Suporte a hardware e placas#
OpenMV Cam H7 Pro — suporte ao sensor térmico FLIR Lepton.
Arduino Nicla Vision — coprocessador CM4, LPUART1, MicroSpeech, espera de baixo consumo.
Mudanças incompatíveis na API#
Quebras de API visíveis ao usuário entre a v4.3.3 e a v4.4.0. Escopo: C-modules em Python em modules/ e bibliotecas Python em scripts/libraries/.
Cada mudança é marcada com seu impacto:
minor — API restrita; afeta apenas scripts em uma placa específica.
behavior — mesma API, resultados diferentes; reveja scripts ajustados.
As mudanças são agrupadas por impacto nessa ordem. Se você só quer portar seu código, vá direto para o checklist de migração no final. Cada hash de commit aponta para seu diff no GitHub.
Módulos do Nicla Vision e WiFi do RP2040 (minor)#
No Arduino Nicla Vision, os módulos lcd e tv foram desabilitados para liberar memória para o suporte ao coprocessador CM4 — scripts que usam esses módulos no Nicla Vision não os encontrarão mais. O Arduino Nano RP2040 Connect migrou da implementação WiFi/nina customizada da OpenMV para o driver/módulo NINA-W10 oficial do MicroPython, cuja API é diferente.
Timeout de socket WiFi e flip vertical do LCD (behavior)#
Um timeout de socket do WINC1500 agora retorna um erro não bloqueante (EWOULDBLOCK) em vez de ETIMEDOUT, de forma que sockets com timeout não são mais fechados inesperadamente — o código que capturava ETIMEDOUT precisa ser atualizado. O display do shield LCD SPI agora levanta ValueError (“Vertical flip requires triple buffering!”) quando um y_scale negativo é solicitado sem o triple buffering habilitado.
Checklist de migração#
Para uma portabilidade limpa para a v4.4.0, o trabalho típico é:
No Nicla Vision, pare de usar
lcd/tv; no Nano RP2040 Connect, porte o código WiFi para o driver NINA-W10 oficial (as mudanças de módulos de placa).Atualize o código de socket do WINC1500 para esperar
EWOULDBLOCKno timeout e habilite o triple buffering para a saída de LCD com flip vertical (as mudanças de comportamento).