v4.4.2

A v4.4.2 adiciona reversão de bytes no SPI-LCD e override do clock do MT9V0xx, execução de scripts e tratamento de sockets WiFi mais robustos, e corrige um bug notável de copy= em imagens. A ordem dos argumentos de compressão JPEG e a seleção do clock da câmera mudaram — leia as mudanças incompatíveis abaixo.

Destaques

  • Reversão de bytes no LCD SPI e override do clock externo do MT9V0xx.

  • Execução de scripts mais robusta e tratamento de exceções, além de correções em sockets WiFi.

  • Corrigido um bug de copy= no image que modificava o objeto original.

  • Incompatível: a ordem dos argumentos posicionais de compressão JPEG e a seleção do clock da câmera mudaram — veja as mudanças incompatíveis.

Novos recursos

  • Reversão de bytes no LCD SPI — o caminho do LCD SPI do STM32 ganhou suporte a reversão de bytes.

  • Override do clock do MT9V0xx — a frequência do clock externo do MT9V0xx agora pode ser sobrescrita (o Portenta sobrescreve o clock padrão de seu sensor MT).

Outras mudanças e melhorias

  • A execução de scripts e o tratamento de exceções foram tornados mais robustos nas portas nRF, RP2 e STM32.

  • Otimizado o carregamento do patch do sensor MT9M114 (inicialização mais rápida).

Correções de bugs

Processamento de imagem:

  • Corrigido um bug no argumento copy= de operações de image em que o objeto original era modificado em vez de uma cópia.

Câmera e sensores:

  • Adicionado controle de leitura do sensor no Nicla Vision e corrigida a orientação de sua imagem.

Rede e USB:

  • O WINC1500 agora mantém o socket de escuta aberto em um timeout de accept e limpa corretamente a NIC ao fechar sockets; corrigida a biblioteca RTSP.

  • O módulo de áudio agora usa nós de agendador estáticos para um agendamento de callback mais confiável; o depurador USB é desabilitado antes de exceções serem levantadas, melhorando a estabilidade da conexão com a IDE em erros de script.

Suporte a hardware e placas

  • Arduino Nicla Vision — controle de leitura do sensor e orientação de imagem corrigida.

  • Arduino Portenta — sobrescreve o clock padrão de seu sensor MT.

Mudanças incompatíveis na API

Quebras de API visíveis ao usuário entre a v4.4.1 e a v4.4.2. Escopo: C-modules em Python em modules/ e bibliotecas Python em scripts/libraries/.

Ambas as mudanças incompatíveis são mudanças de behavior (mesma API, resultados diferentes) — reveja scripts ajustados. Cada hash de commit aponta para seu diff no GitHub.

Ordem dos argumentos de compressão JPEG (behavior)

O tratamento de argumentos posicionais da família de compressão JPEG (compress() / compressed() / JPEG save()) foi corrigido para que quality seja o primeiro argumento posicional, com um padrão de 90. Scripts que passavam os argumentos de compressão posicionalmente segundo a ordem anterior (incorreta) precisam ser atualizados.

Commit: 509b094a5

Seleção da frequência do clock da câmera (behavior)

A seleção do clock externo da câmera no STM32 agora escolhe a frequência disponível mais próxima abaixo do valor solicitado em vez de falhar ou ultrapassá-lo. O clock de pixel real para uma dada solicitação pode diferir das versões anteriores — reveja capturas sensíveis a temporização.

Commit: 39ba1a7f5

Checklist de migração

Para uma portabilidade limpa para a v4.4.2: passe quality do JPEG como o primeiro argumento posicional (ou como palavra-chave) (a mudança de argumentos do JPEG) e reveja quaisquer configurações de clock de câmera sensíveis a temporização (a mudança de seleção de clock).