v1.7.0¶
v1.7.0은 큰 프레임을 디버그 직렬 링크를 통해 전송할 수 있도록 직렬 프레임 버퍼 청킹 및 재조립을 추가하고, 카메라의 USB 대용량 저장 드라이브를 플러시(그리고 Windows에서는 꺼냄)하여 리셋을 동반한 연결 해제를 더 안전하게 만들며, 예제 세트를 갱신합니다. 이 릴리스는 Qt Creator 4.0.2(이전 릴리스와 동일한 베이스)를 기반으로 하며, Raspberry Pi 같은 크로스 컴파일 임베디드 Linux 대상에 대한 빌드 지원을 추가합니다. 호환성을 깨는 변경 사항은 없습니다.
주요 내용¶
직렬 프레임 버퍼 청킹 — 큰 프레임 버퍼 전송이 MTU 크기의 청크로 분할되어 픽셀 버퍼에서 재조립되므로, 큰 프레임을 디버그 직렬 링크를 통해 옮길 수 있습니다.
더 안전한 리셋 동반 연결 해제 — 리셋 전에 카메라의 USB 대용량 저장 드라이브를 플러시(그리고 Windows에서는 강제로 꺼냄)하여 파일 시스템이 먼저 동기화되도록 합니다.
원자적 파일 저장 —
main.py와 키포인트 파일이 원자적으로 기록되어 손상을 방지하고main.py를 잘못된 위치에 기록하던 경로 버그를 수정합니다.Raspberry Pi / 임베디드 Linux — 이제 크로스 컴파일 빌드 지원이 포함됩니다.
갱신된 예제 — Servo Shield 세트, 새로운 특징 검출 데모, 그리고 Image Reader/Writer 비디오 예제.
새 기능¶
직렬 프레임 버퍼 청킹 및 재조립. 프레임 버퍼 전송이 MTU 크기의 청크로 분할되어 픽셀 버퍼에서 재조립되므로, 기본 MTU를 사용해 큰 프레임을 디버그 직렬 링크를 통해 옮길 수 있습니다. 펌웨어 버전 게이트가 2.5.0으로 설정된 런타임 MTU 자동 협상 핸드셰이크가 추가되었으며, 이는 같은 커밋에 번들된 2.5.0 펌웨어와 일치합니다 (96458ccef). 이후 릴리스를 위해 게이트가
9.9.9로 상향되었는데, 제공되는 어떤 펌웨어도 이 값을 보고하지 않으므로 카메라는 기본 MTU를 사용하고 협상이 일어나지 않습니다 (abd1dacb9).리셋 동반 연결 해제 시 플러시/꺼내기. 이제 리셋을 동반한 연결 해제는 리셋 전에 카메라의 USB 대용량 저장 드라이브를 플러시합니다. Windows에서는 드라이브가 강제로 꺼내지고, Linux와 macOS에서는 드라이브의 파일 시스템이 동기화됩니다(
syncfs/sync_volume_np). 세 플랫폼 모두에서 실패 시Failed to eject오류가 보고됩니다 (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).Servo Shield 예제.
pca9685.py드라이버와servo.py헬퍼를 포함하여 PCA9685로 구동되는 서보를 시연하는15-Servo-Shield예제 세트를 추가했습니다 (abd1dacb9).새로운 특징 검출 예제.
09-Feature-Detection아래에find_circles(Hough),find_rects(quad-threshold),find_numbers(LeNet 숫자 인식), 그리고 빠르고 견고한 선형 회귀 예제를 추가했습니다 (abd1dacb9).비디오 및 보드 제어 예제. SD 카드에서 스냅샷 스트림을 녹화하고 재생하는 Image Reader/Writer 예제, RTC 보드 제어 예제, 그리고 카메라 내 단위 테스트 실행기를 추가했습니다 (abd1dacb9).
기타 변경 사항 및 개선 사항¶
99-Tests예제 폴더(이전의15-Tests)의 이름을 변경하고unittests.py실행기를 추가했습니다 (abd1dacb9).
버그 수정¶
main.py와 키포인트 파일의 저장을 강화했습니다. 쓰기 작업이 원자적FileSaver쓰기(쓴 후 확정)로 전환되었으며 (4fd4e89cf),main.py를 잘못된 위치에 기록하던 누락된 경로 구분자가 수정되었습니다 (1865ffd31).모든 포트에서 직렬 읽기 버퍼를 1MB로 확대하고 읽기 정지 타임아웃을 늘려
QSerialPort의 데이터 누락 문제를 해결함으로써 직렬 안정성을 개선했습니다 (7f68368dc).MainWindow를 익스포트하고 표시 이벤트 신호를 발신하여 메인 창이 표시될 때 OpenMV 플러그인이 레이아웃을 복원할 수 있도록 함으로써 창 분할기 레이아웃 결함을 수정했습니다 (4895e20b7).
플랫폼 및 도구 지원¶
Qt Creator 베이스: 4.0.2.
Raspberry Pi 같은 크로스 컴파일 임베디드 Linux 대상에 대한 빌드 지원을 추가했습니다. Qt 폰트를 배포하고,
chrpath/RPATH 처리를 수정하며, 호스트 바이너리로 번역을 빌드하고, 누락된qml의존성을 추가합니다 (73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).번들 OpenMV 펌웨어를 2.4.1에서 2.5.0으로 업데이트했습니다 (96458ccef).
펌웨어 폴더
OMV2/OMV3의 이름을OPENMV2/OPENMV3로 변경하고, 업데이트되어 다시 빌드된 STM32F427(OPENMV2) 및 STM32F765(OPENMV3) 펌웨어와 부트로더 바이너리를 제공했습니다 (abd1dacb9).
호환성을 깨는 변경 사항¶
없음. 이 릴리스는 사용자에게 보이는 워크플로우나 동작 변경을 일으키지 않으며, 기존 프로젝트는 변경 없이 계속 작동합니다.