v3.1.0

v3.1.0은 fir 서모파일 모듈(MLX90620 / MLX90640 / AMG8833), WINC1500을 통한 WiFi IDE 디버깅 및 탐색, UVC 웹캠 펌웨어, sensor.shutdown(), image.selective_search(), 그리고 uctypespyb.CAN 모듈을 도입합니다. 일부 image 메서드는 OpenMV Cam M4에서 제거되었습니다 — 아래의 호환성 변경 사항을 확인하세요.

주요 사항

  • fir 모듈 — MLX90620 / MLX90640 / AMG8833 서모파일 열화상 카메라 지원.

  • WiFi IDE — UDP 브로드캐스트 탐색을 통해 WiFi(WINC1500)로 디버그 및 프로그래밍(하드코딩된 IP 불필요).

  • UVC 웹캠 — 카메라를 웹캠으로 사용하기 위한 USB Video Class 펌웨어.

  • 새로운 APIsensor.shutdown(), image.selective_search(), 그리고 uctypes / pyb.CAN 모듈.

  • 호환성 변경: image.mean()image.morph()는 더 이상 OpenMV Cam M4에서 사용할 수 없습니다 — 호환성 변경 사항을 참고하세요.

새로운 기능

  • fir — MLX90620 / MLX90640 / AMG8833 지원을 갖춘 서모파일 모듈을 추가했습니다: fir.init(), fir.snapshot(), fir.read_ir(), fir.draw_ir()FIR_MLX90640 / FIR_AMG8833 상수, 그리고 센서별 Thermopile-Shield 예제 포함.

  • WiFi IDE — OpenMV IDE가 카메라를 자동으로 찾을 수 있도록 UDP 브로드캐스트 탐색을 통한 WINC1500 기반 WiFi 프로그래밍/디버그(펌웨어가 IDE에서 STA/AP 설정을 읽음).

  • UVC 웹캠 — USB Video Class 웹캠 펌웨어를 추가했습니다.

  • sensor.shutdown() — PWDN 핀을 통해 카메라 전원을 끕니다.

  • image.selective_search() — 영역 제안 사각형, selective_search.py 예제 포함.

  • 모듈uctypes 모듈을 활성화하고, pyb.CAN을 다시 활성화했으며, 추가 MicroPython 모듈을 활성화했습니다. USB-HID 예제와 IDE 연결 여부를 확인하는 함수를 추가했습니다.

기타 변경 및 개선 사항

  • 보다 안정적인 WiFi 소켓 recv를 위해 소켓별 수신 버퍼를 추가했습니다. image 수학 메서드(top_hat / black_hat / negate / replace / add / sub / mul / div / min / max / difference / blend)는 이제 IMLIB_ENABLE_MATH_OPS 빌드 플래그 뒤에 있습니다(표준 펌웨어에서는 기본적으로 활성화됨).

버그 수정

이미징 및 카메라:

  • image.save()가 raw 이미지를 기록한 후 파일을 닫지 않던 문제(잘리거나 손상된 저장)와 FLIR Lepton SPI GPIO 구성을 수정했습니다.

시스템 및 연결:

  • STM32F7 SPI BUSY 플래그 오류(2.11.2)를 우회하고, WiFi IDE 디버그 브로드캐스트 간격 / 소켓 정리 / 디버그 타이머, openmv.ini 정수 파싱, 그리고 H7 플래시 지연을 수정했습니다.

하드웨어 및 보드 지원

  • MLX90620 / MLX90640 / AMG8833 서모파일(FIR) 센서.

  • UVC 웹캠 — USB Video Class 펌웨어.

  • WINC1500 — WiFi IDE 디버깅 및 탐색.

호환성을 깨는 API 변경

v3.0.0과 v3.1.0 사이의 사용자에게 보이는 API 변경 사항입니다. 범위: modules/의 Python C 모듈과 scripts/libraries/의 Python 라이브러리.

호환성 변경은 OpenMV Cam M4로 범위가 한정된 동작 변경입니다 — 영향을 받는 스크립트를 다시 확인하세요. 각 커밋 해시는 GitHub의 해당 diff로 연결됩니다.

OpenMV Cam M4에서 image.mean() / image.morph() 제거 (동작)

OpenMV Cam M4(OMV2)의 플래시/RAM에 맞추기 위해, image.mean()image.morph()는 해당 보드에서 컴파일에서 제외되었습니다. 이제 이를 호출하면 “unavailable” 오류가 발생합니다. 다른 필터(예: image.median() / image.midpoint())를 사용하거나 더 새로운 카메라(M7 / H7)에서 모폴로지 / 평균 필터링을 실행하세요. 다른 보드는 영향을 받지 않습니다.

커밋: abe97a73b, 4e34b32ec

마이그레이션 체크리스트

OpenMV Cam M4에서는 image.mean() / image.morph()를 다른 필터로 대체하거나 해당 처리를 M7 / H7 카메라로 옮기세요(M4 메서드 제거). 그 외 모든 스크립트는 변경 없이 실행됩니다.