v1.7.0¶
v1.7.0에서는 cpufreq 모듈(CPU 주파수 / 오버클로킹 제어), MicroPython os 모듈, MLX 열화상 센서 새로 고침 / 해상도 제어, 그리고 초기 OpenMV Cam M7(STM32F7) 보드 브링업이 도입되었습니다. fir.init() 시그니처, 초과 크기 프레임 처리, 기본 JPEG 품질이 변경되었습니다 — 아래의 호환성 변경 사항을 읽어 보세요.
주요 사항¶
cpufreq모듈 — CPU 주파수를 조회 / 설정하며, 오버클럭 예제를 포함합니다.MLX 열화상 —
fir.init()이 갱신 주기와 ADC 해상도를 받습니다.OpenMV Cam M7 — 초기 STM32F7 보드 브링업.
호환성:
fir.init()은 이제 키워드 전용이며, 초과 크기 프레임은 자동으로 잘리고, 기본 JPEG 품질이 낮아졌습니다 — 호환성 변경 사항을 참조하세요.
새로운 기능¶
cpufreq—cpufreq.get_frequency()/cpufreq.set_frequency()와CPUFREQ_120MHZ/144/168/192/216MHZ상수, 그리고overclocking.py예제를 갖춘cpufreq모듈을 추가했습니다.MLX / FIR —
fir.init()이 이제 갱신 주기와 ADC 해상도를 받으며, MLX 열화상 센서에 대응하는refresh/resolution제어를 갖췄습니다.
기타 변경 및 개선 사항¶
OV7725 AGC/AEC 영역을 조정하고(모션 블러 감소), OV7725용 DSP 솔리드 컬러바를 활성화했으며, IDE 프레임버퍼 스트리밍을 수정했습니다(오래되거나 중복된 프레임 없음).
버그 수정¶
sensor.snapshot()의 DCMI/DMA 전송 크기 오버플로를 수정하고, JPEG 압축 버퍼 오버플로 처리를 정리했으며, 더 나은 자동 노출/게인을 위해 OV7725 AEC/AGC 동작 영역을 개선하고, OV7725용 컬러바 / 자가 진단 스크립트를 수정했습니다.
하드웨어 및 보드 지원¶
OpenMV Cam M7 (STM32F7 / OPENMV7) — 초기 보드 및 부트로더 지원.
OpenMV 2 — MCO 출력으로 구동되는 센서 클럭.
호환성을 깨는 API 변경¶
v1.6.0과 v1.7.0 사이의 사용자에게 보이는 API 변경 사항입니다. 범위: modules/의 Python C 모듈과 scripts/libraries/의 Python 라이브러리.
각 변경 사항에는 영향도가 태그로 표시되어 있습니다:
minor — 좁은 API; 이를 사용한 스크립트에만 영향을 줍니다.
behavior — 동일한 API, 다른 결과; 조정된 스크립트를 다시 확인하세요.
변경 사항은 그 순서대로 영향도별로 분류되어 있습니다. 코드를 포팅하기만 하면 된다면, 끝부분의 마이그레이션 체크리스트로 건너뛰세요. 각 커밋 해시는 GitHub의 해당 diff로 연결됩니다.
fir.init()이 이제 키워드 전용입니다 (minor)¶
fir.init()은 위치 인자 대신 키워드 인자(type= / refresh= / resolution=, 기본 refresh 64 Hz, 최대 512 Hz)를 받도록 재작업되었습니다. 위치 인자 형태의 fir.init(...) 호출을 키워드 형태로 갱신하세요.
커밋: 958c5b7f7
초과 크기 프레임이 QVGA로 자동 잘림 (behavior)¶
sensor.snapshot()은 원시 프레임이 보드의 최대 원시 프레임 크기를 초과해도 더 이상 예외를 발생시키지 않습니다 — 초과 크기의 원시 프레임은 이제 QVGA로 윈도잉/크롭됩니다(JPEG 모드 원시 프레임만 여전히 거부됨). 이전 오류 동작에 의존했다면 지원되는 프레임 크기를 선택하세요.
OpenMV 2 최대 프레임 크기가 QVGA로 낮아짐 (behavior)¶
OpenMV 2에서 최대 적분 이미지 / 원시 / 블롭 프레임 크기가 VGA에서 QVGA로 낮아졌습니다. OpenMV 2에서 그레이스케일 / RGB565 / 블롭 / 적분 이미지 연산에 VGA를 요청하면 이제 QVGA로 잘립니다 — 해당 보드에서 VGA 처리에 의존하던 스크립트를 다시 설계하세요.
커밋: 7499062bd
기본 JPEG 품질 감소 (behavior)¶
보다 안정적인 스트리밍을 위해 기본 JPEG 품질이 감소되었습니다(기본값 50 → 35, 더 낮은 IDE 서브샘플 임계값 포함). 캡처/스트리밍된 JPEG는 기본적으로 눈에 띄게 품질이 낮습니다 — 이전 품질이 필요하다면 image.compress()에 명시적인 quality를 전달하세요.
커밋: d9c8b1535
마이그레이션 체크리스트¶
v1.7.0으로 깔끔하게 포팅하려면 일반적으로 다음 작업이 필요합니다:
위치 인자 형태의
fir.init(...)호출을 키워드 형태로 변환하세요 (fir.init 변경).기존의 초과 크기 프레임 오류에 의존하는 대신 지원되는 프레임 크기를 사용하고 (초과 크기 프레임 변경), OpenMV 2에서 VGA 처리를 다시 설계하세요 (OpenMV 2 프레임 크기 변경).
이전 JPEG 품질이 필요하다면
image.compress()에 명시적인quality를 전달하세요 (JPEG 품질 변경).
그 외 모든 스크립트는 변경 없이 실행됩니다.