v3.1.0

A v3.1.0 introduz o módulo de termopilha fir (MLX90620 / MLX90640 / AMG8833), depuração e descoberta pela IDE via WiFi sobre o WINC1500, um firmware de webcam UVC, sensor.shutdown(), image.selective_search() e os módulos uctypes e pyb.CAN. Alguns métodos de image foram removidos na OpenMV Cam M4 — leia as mudanças incompatíveis abaixo.

Destaques

  • Módulo fir — suporte a câmeras térmicas de termopilha MLX90620 / MLX90640 / AMG8833.

  • IDE via WiFi — depure e programe via WiFi (WINC1500) com descoberta por broadcast UDP (sem necessidade de IP fixo).

  • Webcam UVC — um firmware USB Video Class para usar a câmera como webcam.

  • Novas APIssensor.shutdown(), image.selective_search() e os módulos uctypes / pyb.CAN.

  • Incompatível: image.mean() e image.morph() não estão mais disponíveis na OpenMV Cam M4 — veja as mudanças incompatíveis.

Novos recursos

  • fir — adicionado o módulo de termopilha com suporte a MLX90620 / MLX90640 / AMG8833: fir.init(), fir.snapshot(), fir.read_ir(), fir.draw_ir() e as constantes FIR_MLX90640 / FIR_AMG8833, com exemplos do Thermopile-Shield por sensor.

  • IDE via WiFi — programação/depuração via WiFi sobre o WINC1500 com descoberta por broadcast UDP para que a OpenMV IDE possa encontrar câmeras automaticamente (o firmware lê as configurações de STA/AP da IDE).

  • Webcam UVC — adicionado um firmware de webcam USB Video Class.

  • sensor.shutdown() — desliga a câmera pelo pino PWDN.

  • image.selective_search() — retângulos de proposta de região, com um exemplo selective_search.py.

  • Módulos — habilitado o módulo uctypes, reabilitado pyb.CAN e habilitados módulos adicionais do MicroPython; adicionado um exemplo de USB-HID e uma função para verificar se a IDE está conectada.

Outras mudanças e melhorias

  • Adicionado um buffer de recepção por socket para um recv de socket WiFi mais confiável; os métodos matemáticos de image (top_hat / black_hat / negate / replace / add / sub / mul / div / min / max / difference / blend) agora ficam por trás de uma flag de build IMLIB_ENABLE_MATH_OPS (habilitada por padrão no firmware padrão).

Correções de bugs

Processamento de imagem e câmera:

  • Corrigido o image.save() que não fechava o arquivo após gravar imagens raw (salvamentos truncados/corrompidos) e a configuração de GPIO SPI do FLIR Lepton.

Sistema e conectividade:

  • Contornado o erratum (2.11.2) da flag BUSY do SPI no STM32F7, corrigidos o intervalo de broadcast / a limpeza de socket / o timer de depuração da depuração pela IDE via WiFi, o parsing de inteiros do openmv.ini e a latência da flash do H7.

Hardware e suporte a placas

  • Sensores de termopilha (FIR) MLX90620 / MLX90640 / AMG8833.

  • Webcam UVC — firmware USB Video Class.

  • WINC1500 — depuração e descoberta pela IDE via WiFi.

Mudanças incompatíveis na API

Quebras de API visíveis ao usuário entre a v3.0.0 e a v3.1.0. Escopo: módulos C do Python em modules/ e bibliotecas Python em scripts/libraries/.

As mudanças incompatíveis são mudanças de behavior restritas à OpenMV Cam M4 — reverifique os scripts afetados. Cada hash de commit tem um link para o seu diff no GitHub.

image.mean() / image.morph() removidos na OpenMV Cam M4 (behavior)

Para caber na flash/RAM da OpenMV Cam M4 (OMV2), image.mean() e image.morph() foram compilados fora dessa placa; chamá-los agora lança um erro de “indisponível”. Use um filtro diferente (por exemplo, image.median() / image.midpoint()) ou rode a morfologia / a filtragem por média em uma câmera mais nova (M7 / H7). Outras placas não são afetadas.

Commits: abe97a73b, 4e34b32ec

Lista de verificação para migração

Na OpenMV Cam M4, substitua image.mean() / image.morph() por outro filtro ou mova esse processamento para uma câmera M7 / H7 (a remoção de métodos na M4). Todos os demais scripts funcionam sem alterações.