v4.2.4

v4.2.4는 단일 get_state() 명령으로 카메라 핸드셰이크를 간소화하고, JPEG 포커스 메트릭 계산을 브로드캐스트 경로에서 분리하여 라이브 framebuffer 표시 속도를 높이며, 압축 pixformat 경로에서 원시 비압축 프레임 표시를 추가합니다. 이 릴리스는 Qt Creator 10.0.1 기반을 유지하며 OpenMV 펌웨어 4.5.9를 번들합니다. 번들된 April-Tags 예제는 새로운 펌웨어 AprilTag API에 맞게 다시 작성되었으며, 이전 API에 맞춰 작성된 사용자 스크립트는 업데이트가 필요할 수 있습니다.

주요 사항

  • 단일 get_state() 핸드셰이크는 이를 지원하는 펌웨어에서 카메라의 print 및 frame 버퍼를 하나의 명령으로 비우고 조회하여, 별도의 getTxBuffer/frameSizeDump 폴링을 대체합니다.

  • 더 빠른 라이브 framebuffer 표시는 비용이 큰 JPEG 포커스 메트릭 계산을 framebuffer 브로드캐스트 경로에서 빼내어 히스토그램 업데이트로 옮깁니다.

  • 원시 비압축 프레임(바이너리, grayscale8, RGB565)을 이제 JPEG에 더해 압축 pixformat 경로에서 수신하고 표시할 수 있습니다.

  • 새로 고쳐진 UVC 바이너리를 포함하여 지원되는 모든 보드용 번들 펌웨어 4.5.9.

새로운 기능

  • framebuffer 뷰어가 이제 JPEG에 더해 압축 pixformat 경로로 전송된 원시 비압축 프레임(binary, grayscale8, RGB565)을 수신하고 표시할 수 있습니다. binary 행 스트라이드는 4바이트로 정렬됩니다. (cba5f5dda)

기타 변경 사항 및 개선

  • IDE가 이제 이를 지원하는 펌웨어에서 별도의 getTxBuffer/frameSizeDump 폴링 대신 새로운 단일 get_state() 명령을 사용하여 카메라의 print 및 frame 버퍼를 비우고 조회함으로써, 연결/분리/시작 핸드셰이크를 더 효율적으로 만듭니다. 버전 게이트된 분기가 getState()를 호출하고 frame-size 및 tx-buffer 완료 시 새로운 getStateDone() 신호를 발생시킵니다. (ce137a7b6, 0cf969bfd)

  • JPEG 포커스 메트릭 계산이 broadcastUpdate()에서 히스토그램 업데이트로 옮겨졌기 때문에 라이브 framebuffer 표시가 더 빨라졌으며, 이제 160px 너비로 축소된 pixmap에서 실행됩니다. QCustomPlot 다시 그리기는 이제 큐 방식의 다시 그리기를 사용합니다. (9dbcd8875)

  • 번들된 모든 AprilTag 예제(find_apriltags, find_apriltags_3d_pose, find_apriltags_max_res, find_apriltags_w_lens_zoom, find_small_apriltags, pixy I2C/SPI/UART 에뮬레이션 예제, modbus_apriltag, apriltag_tracking, RPC popular_features_as_the_remote_device 예제)가 속성 접근자를 사용하는 새로운 펌웨어 AprilTag API로 업데이트되고 단순화되었습니다. 번들된 TensorFlow tf_object_detection.py 예제는 이제 sensor.set_windowing((240, 240))을 통해 240x240 윈도잉 크롭을 설정하며, Bluetooth BLE 온도 예제(examples/10-Bluetooth/ble_temperature.py)는 제거되었습니다. (42a646b63)

플랫폼 및 도구 지원

  • Qt Creator 기반: 10.0.1.

  • 번들 OpenMV 펌웨어: OPENMV2/3/4/4P/PT, OPENMV_RT1060, ARDUINO_GIGA/NICLA_VISION/PORTENTA_H7/NANO_RP2040_CONNECT/NANO_33_BLE_SENSE를 포함하여 지원되는 모든 보드에 대해 4.5.8 -> 4.5.9로 업데이트되었으며, 새로 고쳐진 UVC 바이너리를 포함합니다. (42a646b63)

  • OpenMV IDE 버전: 4.2.1 -> 4.2.4로 업데이트.

호환성 단절 변경

번들된 April-Tags 예제가 새로운 펌웨어 AprilTag API에 맞게 다시 작성되었습니다. 태그 접근자가 이제 메서드 호출 대신 속성(tag.rect, tag.cx, tag.cy, tag.rotation, tag.id, tag.name)입니다. 번들된 find_apriltags.py 예제는 이제 TAG36H11 패밀리만 시연하며, 다중 패밀리 선택 코드(TAG16H5/TAG25H7/TAG25H9/TAG36H10/ARTOOLKIT)와 family_name() 헬퍼는 제거되었습니다. 이전 메서드 호출 방식의 AprilTag API에 맞춰 작성된 사용자 스크립트는 펌웨어 4.5.9에 맞게 업데이트가 필요할 수 있습니다.