v4.8.9

v4.8.9는 Qt Creator 14.0.2 기반으로 구축된, 유휴 효율성과 연결 해제 신뢰성을 위한 릴리스입니다. IDE가 하드웨어를 감시하는 방식을 전면 개편하여 아무 일도 일어나지 않을 때 폴링을 멈추도록 하고, 연결/연결 해제 경로를 강화했으며, 번들된 모델 동물원(model zoo)을 정리했습니다. 이 범위에서는 Qt Creator 리베이스가 없지만, 일부 기본 동작과 번들 모델 이름이 변경되었으므로 아래의 호환성 깨짐 항목을 검토하시기 바랍니다.

주요 내용

  • 이벤트 기반 하드웨어 모니터링이 지속적인 장치 폴링을 대체합니다. 이제 IDE는 유휴 상태일 때 스캔 타이머를 멈추고, 실제 USB 연결/연결 해제 및 디스크 마운트/마운트 해제 이벤트에 응답할 때만 시리얼 포트와 드라이브를 다시 스캔하여 유휴 CPU 및 리소스 사용량을 크게 줄입니다.

  • 활동에 따라 게이팅되는 유휴 타이머: 프레임 버퍼 이벤트 타이머(이전에는 1ms마다 발생)는 이제 연결된 동안에만 실행되고, 터미널 커서 깜빡임 타이머(500ms)는 이제 터미널이 포커스를 가진 동안에만 실행됩니다.

  • 기본적으로 꺼진 백그라운드 임포트 동기화: ExamplesDocuments/OpenMV 임포트 폴더의 자동 동기화가 이제 비활성화되고 그 메뉴 토글이 숨겨지므로, IDE가 더 이상 해당 폴더를 지속적으로 다시 스캔하지 않습니다.

  • 더 빠르고 신뢰성 높은 연결 해제: 시리얼 포트가 즉시 닫히고 카메라가 해제되며, 프로토콜 타임아웃이 낮게 조정되었고, 멈춰버린(wedged) 카메라가 이제 멈추지 않고 복구됩니다.

  • 현재 압축 상태를 한눈에 알 수 있도록 JPG Mode 또는 RAW Mode를 표시하는 더 명확한 프레임 버퍼 모드 버튼.

새 기능

  • macOS에서 IOKit과 DiskArbitration을 사용하고, Windows에서 WM_DEVICECHANGE 메시지 전용 창을 사용하며, Linux에서 NETLINK_KOBJECT_UEVENT netlink 소켓을 사용하여 hardwareEventDetected를 발생시키는 새로운 HardwareMonitor를 통한 네이티브 하드웨어 이벤트 모니터링. 시리얼 스캔 및 드라이브 스캔 타이머는 이제 각 이벤트마다 다시 시작되는 10초 스캔 창 뒤에서 게이팅됩니다 (a6612fec9, 462b55f7b, 17c2e93c7).

기타 변경 및 개선 사항

  • 프레임 버퍼 이벤트 처리 타이머(이전에는 1ms마다 발생)는 이제 연결 시 시작되고 연결 해제 시 멈추며, 터미널 커서 깜빡임 타이머(500ms)는 이제 항상 실행되는 대신 터미널 포커스 진입/이탈 시 시작되고 멈춥니다 (a02afea53).

  • ExamplesDocuments/OpenMV 임포트 폴더의 자동 동기화가 기본적으로 비활성화되고 토글이 숨겨집니다. 폴더 스캔 타이머는 더 이상 초기화 시 시작되지 않으며 (이제 숨겨진) 작업이 활성화된 경우에만 실행됩니다 (478f83e97).

  • 프레임 버퍼 형식 토글 버튼은 이제 JPEG 압축이 켜져 있을 때 JPG Mode를, 꺼져 있을 때 RAW Mode를 표시합니다 (c48831224).

  • 연결 시 IDE는 이제 이전에 저장된 보드별 JPG/RAW 선택을 복원하는 대신 항상 프레임 버퍼에 대해 보드의 JPEG 우선 기본값을 적용합니다 (c48831224).

버그 수정

  • 이제 연결 해제 시 close() 내에서 인라인으로 시리얼 포트를 닫고 카메라(및 포트)를 해제하여 연결 해제가 더 빠르고 신뢰성 높아졌습니다 (1e8941080, 9d31bcf80).

  • 포트가 닫힐 때 이제 시리얼 유휴 타이머가 멈추고 v2 프로토콜 플래그가 지워져, 연결 해제 후 남아 있던 유휴 타이머 동작을 수정합니다 (4bd2fd9ea).

  • 프로토콜 명령 타임아웃이 조정되었고(open 타임아웃이 5s에서 2s로 낮아지고, resync 및 CHANNEL_SIZE는 1s의 짧은 타임아웃을 사용), 이제 모든 시리얼 명령이 실패 시 카메라 객체를 폐기하므로, 멈춰버린(wedged) 카메라가 멈추는 대신 더 빠르게 복구되고 연결을 해제합니다 (04aa6aea3).

  • 스크립트를 중지할 때 발생하던 잠금/멈춤 문제를 수정했습니다. 스크립트 중지 이벤트가 이제 프레임 이벤트 상태도 지우고 프레임 준비 타이머를 재설정합니다 (3695b0704).

  • 이제 프로토콜이 카메라로부터의 짧은 읽기(short read)를 허용하여, 데이터를 버리거나 오류를 내는 대신 부분 페이로드나 텍스트를 반환합니다 (0c8ccd58e).

플랫폼 및 도구 지원

  • Qt Creator 기반: 14.0.2.

  • AE3 또는 N6 모듈을 PAG7936 또는 PS5520 센서와 결합한 보드는 이제 더 높은 QVGA 기본값을 갖게 되며(이전에는 AE3 + PAG7936만 해당), 영향을 받는 예제가 QQVGA에서 QVGA로 자동 업그레이드됩니다 (fcc0c3227).

  • 번들된 ST MoveNet 자세 추정 모델 동물원(model zoo)이 정리되었습니다. 중복되는 텐서별(_pt) 변형과 중복된 singlepose/st_movenet 변형이 제거되었고, 남은 채널별 히트맵 모델은 movenet_singlepose_192, movenet_singlepose_224, movenet_singlepose_256으로 이름이 변경되었습니다 (18f66c4c1).

  • 번들된 DeepLabV3 의미론적 세그멘테이션 모델과 그 예제 자산을 모델 동물원(model zoo)에서 제거했습니다 (a929e0dc1).

호환성 깨짐

v4.8.8과 v4.8.9 사이의 사용자에게 보이는 동작 및 번들 자산 변경 사항.

  • 연결 시 프레임 버퍼는 이제 항상 보드의 JPEG 우선 기본값을 사용하며 이전에 저장된 보드별 JPG/RAW 선택을 무시합니다 (c48831224).

  • ExamplesDocuments/OpenMV 임포트 폴더의 백그라운드 동기화가 기본적으로 비활성화되고 그 토글이 숨겨집니다 (478f83e97).

  • 여러 번들 모델이 제거되거나 이름이 변경되었습니다. DeepLabV3 의미론적 세그멘테이션 모델이 사라졌고, ST MoveNet 모델이 정리되어 movenet_singlepose_192/224/256으로 이름이 변경되었습니다. 이전 모델 파일명을 참조하는 스크립트는 업데이트해야 합니다 (a929e0dc1, 18f66c4c1).