v2.4.0¶
v2.4.0은 Qt Creator 4.0.2를 기반으로 하며, 새로운 V3 부트로더(펌웨어 로딩 중 QSPI 플래시 레이아웃 조회 및 온보드 데이터 플래시 전체 소거 시 소거), 상태 표시줄의 실시간 센서 및 보드 보고, 그리고 번들 펌웨어와 일치하는 새로운 32비트 USB 디버그 프로토콜을 중심으로 합니다. 또한 첫 실행 LED 안내와 다수의 새로운 TensorFlow, Modbus, WiFi 예제를 추가합니다. 디버그 프로토콜이 변경되었으므로, 연결하려면 카메라에서 새로운 번들 펌웨어를 실행해야 합니다.
주요 사항¶
V3 부트로더 지원은 펌웨어 로딩 중 보드의 외장 QSPI 플래시 레이아웃을 조회하고, 온보드 데이터 플래시 전체 소거 시 이를 소거합니다 (d953df62f).
센서 및 보드 보고는 연결 시 연결된 카메라의 센서 모듈을 조회하여 새로운 보드 유형 레이블과 함께 상태 표시줄에 표시합니다(OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) (0ffa82958).
TensorFlow 모델 복사를 통해
.network신경망 파일뿐만 아니라.tflite모델도 카메라에 복사할 수 있습니다 (ad1aa98f0).온보드 데이터 플래시 소거(Erase Onboard Data Flash)는 펌웨어를 다시 플래시하지 않고 확인 프롬프트 후 카메라의 온보드 파일시스템 플래시만 소거하는 새로운
Tools명령입니다 (d953df62f, 98686ac46).첫 실행 LED 안내는 온보드 LED 상태를 설명하고 영구적으로 닫을 수 있는 새로운
OpenMV Cam LED Colors대화 상자입니다 (c2d00422f).
새로운 기능¶
V3 부트로더는 펌웨어 로딩 중 QSPI 플래시 레이아웃을 조회하고, 온보드 데이터 플래시 전체 소거 시에만 외장 QSPI 플래시를 소거합니다.
connectClicked는 V3 보드에서 항상bootloaderQSPIFLayout을 구동하지만,bootloaderQSPIFErase는forceFlashFSErase가 설정된 경우에만 실행합니다(QSPI 쓰기/메모리 테스트 명령은 IO 계층에 구현되어 있지만 로더에서는 사용되지 않습니다) (d953df62f).센서 및 보드 상태는 연결 시 카메라의 센서 모듈을 조회하여 새로운
sensors.txtID-이름 매핑을 사용해 새로운 보드 유형 레이블과 함께 상태 표시줄에 표시합니다(OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) (0ffa82958).첫 실행 LED 안내는 첫 실행 시
helloworld_1.py가 열린 문서일 때 짧은 지연 후 나타나 온보드 LED 상태(녹색 깜박임 = 부트로더 실행 중, 파란색 =main.py실행 중, 흰색 = 하드웨어 오류 패닉)를 설명하는 새로운OpenMV Cam LED Colors대화 상자를 추가합니다. “Don’t show this message again.” 체크박스는DONT_SHOW_LED_STATES_AGAIN설정을 통해 닫힘 상태를 유지합니다 (c2d00422f).OpenMV Cam 드라이브 폴더 열기(Open OpenMV Cam Drive folder)는 시스템 파일 브라우저에서 카메라의 마운트된 드라이브를 여는 새로운
Tools메뉴 항목입니다 (a49f54305).온보드 데이터 플래시 소거(Erase Onboard Data Flash)는 펌웨어를 다시 플래시하지 않고 확인 프롬프트 후 온보드 파일시스템 플래시만 소거하는 새로운
Tools명령입니다 (d953df62f, 98686ac46).TensorFlow 모델 복사를 통해 모델 복사 대화 상자에서
.network신경망 파일에 더해.tflite모델도 카메라에 복사할 수 있습니다. 대화 상자 필터에도Label Files (*.txt)및All Files항목이 추가되었습니다 (ad1aa98f0, 0ffa82958, c0dbdd9e5).디버그 프로토콜 버전 전환은 신뢰성을 위해 펌웨어 3.5.3+와 통신할 때
GetAttribute,SetAttribute,FBEnable,JPEGEnable시리얼 명령을 분할합니다 (83b9ca18f).새로운 번들 예제는 TensorFlow Lite mobilenet 및 인물 검출 슬라이딩 윈도우 스크립트와 STM32Cube.AI(
nn_stm32cubeai.py) MNIST 예제, 새로운32-modbus폴더(modbus_rtu_slave.py,modbus_apriltag.py), WiFi 실드 추가(http_client_ssl,static_ip,mqtt_pub/mqtt_sub), Arduino UART/SPI 슬레이브, 그리고 CAN을 추가합니다 (e26b90d79, 42ba8f5c4).
기타 변경 사항 및 개선¶
USB 디버그 프로토콜을 새 펌웨어에 맞게 업데이트했습니다: 속성 읽기는 새로운 32비트
ATTR_READ_2(0xCA) 명령을 사용하며, 속성, 값, 프레임버퍼 활성화 페이로드는 16비트 워드 대신 32비트 long으로 전송됩니다 (55d7cfe70).Save open script to OpenMV Cam이
main.py를 기록함을 명확히 하기 위해 Save open script to OpenMV Cam (as main.py)로 이름을 변경했습니다 (a49f54305).Run Bootloader의 용도를 명확히 하기 위해 Run Bootloader (Load Firmware)로 이름을 변경했습니다 (ad1aa98f0).
예제 메뉴는 이제 숫자 폴더/파일 접두사를 기준으로 정렬되며, 표시되는 이름에서 앞쪽의
NN-숫자가 제거됩니다 (ad1aa98f0).출력 및 시리얼 터미널은 이제 하드코딩된 너비 8 대신 텍스트 편집기 설정의 구성 가능한 시리얼 터미널 탭 너비를 사용하여 탭을 공백으로 렌더링합니다 (98686ac46).
Linux 드라이브 감지는 이제 카메라 드라이브를 연결할 때
fuseblk로 마운트된 파일시스템(예: exFAT/NTFS 볼륨)도 허용합니다 (c0dbdd9e5).IDE 도움말에 표시되는 번들 MicroPython HTML 문서 세트(라이브러리 레퍼런스, esp8266/esp32 튜토리얼, 생성된 페이지 및 이미지)를 업데이트했습니다 (e69d71f7c, 90b5c6eb5, 97b0f645a).
버그 수정¶
누산기를
int에서 64비트로 확장하여 히스토그램 통계(평균, 사분위수, 중앙값, 표준 편차)의 숫자 오버플로를 수정함으로써 큰 이미지에서 잘못된 통계가 나오는 것을 방지했습니다 (55d7cfe70).Linux에서의 연결 해제/꺼내기를 재작업했습니다. 신뢰할 수 없던
syncfs/closedir플러시를 제거하고, 이제 진행 대화 상자 없이 일반umount명령으로 드라이브를 마운트 해제합니다 (b86d5c62c, c0dbdd9e5, 30d4a7d2d).이제 보드의 USB 드라이브는 펌웨어가 충분히 최신이거나
.openmv_disk마커 파일이 있을 때만 연결되어, IDE가 잘못된 이동식 드라이브를 가져가는 것을 방지합니다 (e464eaed4).재연결 로직을 수정하여, 연결된 상태에서 부트로더/소거 작업을 트리거하면 이제 먼저 깔끔하게 연결을 해제한 후 재시도하므로 작업 상태에 멈추는 현상을 방지합니다 (d953df62f).
카메라로 스크립트를 보낼 때 사용하는 주석/공백 제거기를 문자열을 인식하는 상태 머신으로 다시 작성하여, 문자열 내부의
#문자가 더 이상 주석으로 오인되지 않으며 후행 공백과 docstring도 처리됩니다 (24dff1b2f).여러 연결/터미널 대화 상자 메시지의 번역 문자열 처리를 수정하여, 포함된 셸 명령(
sudo adduser,pydfu설치 단계)이 더 이상 번역 가능한 텍스트의 일부가 되지 않고 올바르게 렌더링되도록 했습니다 (b5705a57e).
플랫폼 및 도구 지원¶
Qt Creator 기반: 4.0.2.
OpenMV Cam H7 Plus 보드/펌웨어의 이름을
OPENMV4R에서OPENMV4P(OMV4P_H7_32768_SDRAM)로 변경하고 그 펌웨어를 새 이름으로 번들했습니다 (c0dbdd9e5).H7 Plus 보드 표시 이름을 공백 대신 밑줄을 사용하도록 수정했습니다(
OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).번들 펌웨어가 이번 릴리스 전반에 걸쳐 업데이트되어 OPENMV2/3/4/4P의 버전 3.5.2에서 마무리되었습니다(최종 증가는 15c07498c에서, 이전 누적 증가는 3.4.2로 42ba8f5c4, 3.4.3으로 a99c2e3e1, 3.5.0으로 e26b90d79, 3.5.1로 97b0f645a에서 이루어졌습니다).
번들 펌웨어 버전: OPENMV2 (Cam M4) 1.4.11, OPENMV3 (Cam M7) 1.4.11, OPENMV4 (Cam H7) 1.2.15, OPENMV4P (Cam H7 Plus) 1.2.15.
OpenMV IDE 버전이 2.2.1에서 2.4.0으로 올라갔습니다.
호환성 변경 사항¶
USB 디버그 속성 읽기 프로토콜이 기존 16비트 ATTR_READ (0x8A) 명령에서 새로운 32비트 ATTR_READ_2 (0xCA) 명령으로 전환되었으며, 속성, 값, 활성화 페이로드가 이제 32비트 long으로 전송됩니다. 또한 IDE는 연결 시 카메라 센서 ID를 조회합니다. 이를 위해서는 새 프로토콜을 구현한 펌웨어가 필요합니다. 번들로 제공되는 1.2.15 / 1.4.11 펌웨어가 이를 지원하므로, 구형 카메라는 연결하려면 새 펌웨어로 플래시해야 합니다.