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óduloosdo MicroPython está agora disponível.Sensor térmico MLX —
fir.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ódulocpufreqcomcpufreq.get_frequency()/cpufreq.set_frequency()e as constantesCPUFREQ_120MHZ/144/168/192/216MHZ, mais um exemplooverclocking.py.MLX / FIR —
fir.init()aceita agora uma taxa de atualização e resolução ADC, com os controlos correspondentesrefresh/resolutionpara 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.
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 é:
Converta as chamadas posicionais
fir.init(...)para a forma com palavras-chave (a alteração de fir.init).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).
Passe um
qualityexplícito paraimage.compress()se necessitar da qualidade JPEG anterior (a alteração de qualidade JPEG).
Todos os outros scripts funcionam sem alterações.