v1.7.0

A v1.7.0 introduz o módulo cpufreq (controlo da frequência da CPU / overclocking), o módulo os do MicroPython, controlo de atualização/resolução do sensor térmico MLX, e o arranque inicial do OpenMV Cam M7 (STM32F7). A assinatura de fir.init(), o tratamento de fotogramas demasiado grandes e a qualidade JPEG predefinida foram alterados — leia as alterações incompatíveis abaixo.

Destaques

  • Módulo cpufreq — consultar/definir a frequência da CPU, com um exemplo de overclocking.

  • Módulo os — o módulo os do MicroPython está agora disponível.

  • Sensor térmico MLXfir.init() aceita uma taxa de atualização e resolução ADC.

  • OpenMV Cam M7 — arranque inicial da placa STM32F7.

  • Incompatível: fir.init() passa a ser apenas com palavras-chave, fotogramas demasiado grandes são cortados automaticamente, e a qualidade JPEG predefinida foi reduzida — consulte as alterações incompatíveis.

Novas funcionalidades

  • cpufreq — adicionado o módulo cpufreq com cpufreq.get_frequency() / cpufreq.set_frequency() e as constantes CPUFREQ_120MHZ / 144 / 168 / 192 / 216MHZ, mais um exemplo overclocking.py.

  • os — ativado o módulo os do MicroPython.

  • MLX / FIRfir.init() aceita agora uma taxa de atualização e resolução ADC, com os controlos correspondentes refresh / resolution para o sensor térmico MLX.

Outras alterações e melhorias

  • Ajustada a região AGC/AEC do OV7725 (menos desfoque de movimento), ativada a barra de cores sólida DSP para o OV7725, e corrigido o streaming do buffer de fotograma do IDE (sem fotogramas obsoletos / duplicados).

Correções de erros

  • Corrigido um overflow do tamanho de transferência DCMI/DMA em sensor.snapshot(), melhorado o tratamento de overflow do buffer de compressão JPEG, melhorada a região de operação AEC/AGC do OV7725 para melhor exposição/ganho automático, e corrigidos os scripts de barra de cores / autoteste para o OV7725.

Hardware e suporte a placas

  • OpenMV Cam M7 (STM32F7 / OPENMV7) — suporte inicial de placa e bootloader.

  • OpenMV 2 — relógio do sensor acionado pela saída MCO.

Alterações incompatíveis na API

Quebras de API visíveis pelo utilizador entre v1.6.0 e v1.7.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 que a utilizavam.

  • comportamento — mesma API, resultados diferentes; verifique novamente os scripts ajustados.

As alterações estão agrupadas por impacto nessa ordem. Se pretender apenas portar o seu código, salte para a lista de verificação de migração no final. Cada hash de commit contém uma ligação para o diff no GitHub.

fir.init() passa a ser apenas com palavras-chave (menor)

fir.init() foi reformulado para aceitar argumentos de palavra-chave (type= / refresh= / resolution=, predefinição refresh 64 Hz, máximo 512 Hz) em vez de argumentos posicionais. Atualize as chamadas posicionais fir.init(...) para a forma com palavras-chave.

Commits: 958c5b7f7

Fotogramas demasiado grandes são cortados automaticamente para QVGA (comportamento)

sensor.snapshot() já não lança uma exceção quando o fotograma em bruto excede o tamanho máximo de fotograma em bruto da placa — os fotogramas em bruto demasiado grandes são agora janelados/cortados para QVGA (apenas o raw em modo JPEG continua a ser rejeitado). Escolha um tamanho de fotograma suportado se dependia do erro anterior.

Commits: b655a5488, abace9e4f

Tamanho máximo de fotograma do OpenMV 2 reduzido para QVGA (comportamento)

No OpenMV 2, o tamanho máximo de fotograma para imagem integral / raw / mancha foi reduzido de VGA para QVGA. Solicitar VGA para operações de escala de cinzentos / RGB565 / mancha / imagem integral no OpenMV 2 resulta agora num corte para QVGA — redesenhe os scripts que dependiam do processamento VGA nessa placa.

Commits: 7499062bd

Qualidade JPEG predefinida reduzida (comportamento)

A qualidade JPEG predefinida foi reduzida (predefinição 50 → 35, com limiares de subamostragem do IDE mais baixos) para um streaming mais fiável. As imagens JPEG capturadas/transmitidas têm menor qualidade por predefinição — passe um quality explícito para image.compress() se necessitar da qualidade anterior.

Commits: d9c8b1535

Lista de verificação de migração

Para uma migração limpa para v1.7.0, o trabalho típico é:

  1. Converta as chamadas posicionais fir.init(...) para a forma com palavras-chave (a alteração de fir.init).

  2. Utilize um tamanho de fotograma suportado em vez de depender do antigo erro de fotograma demasiado grande (a alteração de fotograma demasiado grande), e redesenhe o processamento VGA no OpenMV 2 (a alteração do tamanho de fotograma do OpenMV 2).

  3. Passe um quality explícito para image.compress() se necessitar da qualidade JPEG anterior (a alteração de qualidade JPEG).

Todos os outros scripts funcionam sem alterações.