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.