v1.7.0¶
A v1.7.0 introduz o módulo cpufreq (controle de frequência da CPU / overclocking), o módulo os do MicroPython, a atualização do sensor térmico MLX / controle de resolução e a habilitação inicial da placa OpenMV Cam M7 (STM32F7). A assinatura de fir.init(), o tratamento de quadros superdimensionados e a qualidade JPEG padrão mudaram — leia as mudanças incompatíveis abaixo.
Destaques¶
Módulo
cpufreq— consulta / define a frequência da CPU, com um exemplo de overclocking.Módulo
os— o móduloosdo MicroPython agora está disponível.Térmico MLX —
fir.init()aceita uma taxa de atualização e uma resolução do ADC.OpenMV Cam M7 — habilitação inicial da placa STM32F7.
Incompatível:
fir.init()agora aceita apenas argumentos nomeados, os quadros superdimensionados são recortados automaticamente e a qualidade JPEG padrão foi reduzida — veja as mudanças incompatíveis.
Novos recursos¶
cpufreq— adicionado o módulocpufreqcomcpufreq.get_frequency()/cpufreq.set_frequency()e as constantesCPUFREQ_120MHZ/144/168/192/216MHZ, além de um exemplooverclocking.py.MLX / FIR —
fir.init()agora aceita uma taxa de atualização e uma resolução do ADC, com os controlesrefresh/resolutioncorrespondentes para o sensor térmico MLX.
Outras mudanças e melhorias¶
Ajustada a região de AGC/AEC do OV7725 (menos desfoque de movimento), habilitada a barra de cores sólida do DSP para o OV7725 e corrigido o streaming do buffer de quadro na IDE (sem quadros obsoletos / duplicados).
Correções de bugs¶
Corrigido um estouro do tamanho de transferência DCMI/DMA em
sensor.snapshot(), melhorado o tratamento de estouro do buffer de compressão JPEG, aprimorada a região de operação de AEC/AGC do OV7725 para melhor exposição/ganho automáticos e corrigidos os scripts de barra de cores / autoteste do OV7725.
Suporte de hardware e placas¶
OpenMV Cam M7 (STM32F7 / OPENMV7) — suporte inicial de placa e bootloader.
OpenMV 2 — clock do sensor acionado pela saída MCO.
Mudanças incompatíveis na API¶
Quebras de API visíveis ao usuário entre a v1.6.0 e a v1.7.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 que a utilizavam.
behavior — mesma API, resultados diferentes; revise os scripts ajustados.
As mudanças são agrupadas por impacto nessa ordem. Se você só quer portar seu código, vá direto para a lista de verificação de migração no final. Cada hash de commit leva ao seu diff no GitHub.
fir.init() agora aceita apenas argumentos nomeados (minor)¶
fir.init() foi reformulada para receber argumentos nomeados (type= / refresh= / resolution=, padrão refresh de 64 Hz, máximo de 512 Hz) em vez de argumentos posicionais. Atualize as chamadas posicionais fir.init(...) para a forma nomeada.
Commits: 958c5b7f7
Quadros superdimensionados são recortados automaticamente para QVGA (behavior)¶
sensor.snapshot() não gera mais um erro quando o quadro bruto excede o tamanho máximo de quadro bruto da placa — os quadros brutos superdimensionados agora são recortados/janelados para QVGA (apenas o bruto em modo JPEG ainda é rejeitado). Escolha um tamanho de quadro suportado se você dependia do erro anterior.
Tamanho máximo de quadro do OpenMV 2 reduzido para QVGA (behavior)¶
No OpenMV 2, o tamanho máximo de quadro para imagem integral / bruto / blob foi reduzido de VGA para QVGA. Solicitar VGA para operações em tons de cinza / RGB565 / blob / imagem integral no OpenMV 2 agora recorta para QVGA — redesenhe os scripts que dependiam de processamento em VGA nessa placa.
Commits: 7499062bd
Qualidade JPEG padrão reduzida (behavior)¶
A qualidade JPEG padrão foi reduzida (padrão de 50 → 35, com limiares de subamostragem mais baixos na IDE) para um streaming mais confiável. Os JPEGs capturados/transmitidos têm qualidade visivelmente menor por padrão — passe uma quality explícita para image.compress() se você precisar da qualidade anterior.
Commits: d9c8b1535
Lista de verificação de migração¶
Para uma portabilidade limpa para a v1.7.0, o trabalho típico é:
Converter as chamadas posicionais
fir.init(...)para a forma nomeada (a mudança em fir.init).Usar um tamanho de quadro suportado em vez de depender do antigo erro de quadro superdimensionado (a mudança de quadros superdimensionados) e redesenhar o processamento em VGA no OpenMV 2 (a mudança de tamanho de quadro do OpenMV 2).
Passar uma
qualityexplícita paraimage.compress()se você precisar da qualidade JPEG anterior (a mudança de qualidade JPEG).
Todos os outros scripts funcionam sem alterações.