v4.3.1

v4.3.1은 VL53L5CX 다중 영역 ToF(time-of-flight) 지원, 개선된 CAN FD, 자동으로 닫히는 ImageIO 종료자(finalizer), 그리고 카메라, USB, 소프트 재부팅 안정성에 대한 폭넓은 수정 사항을 추가합니다.

주요 사항

  • VL53L5CX 다중 영역 ToF(time-of-flight) 센서 지원(Python 모듈 + 예제).

  • STM32에서 개선된 CAN FD 지원.

  • ImageIO 자동 닫기 — 스트림이 이제 가비지 컬렉션될 때 스스로 닫힙니다.

  • 호환성 변경: stdout이 이제 버퍼링됩니다 — 호환성 변경 사항을 참조하세요.

새로운 기능

  • VL53L5CX — 새로운 VL53L5CX 다중 영역 ToF 센서 Python 모듈, ST 드라이버, 그리고 ToF 예제 스크립트.

  • ImageIO 종료자 — ImageIO 스트림이 이제 객체가 가비지 컬렉션될 때 자동으로 닫힙니다.

  • CAN FD — STM32에서 개선된 CAN FD 지원.

  • 다중 장치 I2C 버스 — 카메라 버스 스캔이 여러 장치를 반환할 수 있고, FIR 열화상 센서가 다른 장치와 공유되는 버스를 지원하며, RP2 포트에 I2C general-call 지원이 추가되었습니다.

버그 수정

이미지 처리:

  • quad_segment_maxima 메모리 누수(AprilTag/quad 검출), SIMD YCbCr→RGB 색상 변환, 첫 번째 프레임의 검은 줄, 그리고 OpenMV Pure Thermal의 LCD 캐시 사용 문제를 수정했습니다.

카메라 및 센서:

  • MLX9064x 프레임 읽기 동기화, Portenta H7 / STM32의 VSYNC EXTI 처리, 그리고 Arduino Nicla Vision 전원 공급 모드와 HSE 클록 값을 수정했습니다.

시스템 및 USB:

  • USB High-Speed 엔드포인트 디스크립터 오프셋, main.py → IDE 전환 시 모듈 de-init, 소프트 재부팅 정리(mp_deinit() 및 CDC 버퍼 리셋), nRF sys.path 초기화, 그리고 RP2 I2C fast-mode-plus 주파수를 수정했습니다.

하드웨어 및 보드 지원

  • VL53L5CX 다중 영역 ToF 센서.

  • OpenMV Cam H7 — 더 큰 프레임 라인 버퍼(더 넓은 이미지를 처리).

  • Arduino Nicla Vision — 전원 공급 및 클록 수정.

호환성 변경 API

v4.3.0과 v4.3.1 사이에서 사용자에게 보이는 API 변경 사항입니다.

유일한 호환성 변경 사항은 behavior 변경입니다(동일한 API, 다른 타이밍).

버퍼링된 stdout (behavior)

표준 출력이 이제 버퍼링됩니다. print() 출력이 호스트/IDE에 즉시 나타나지 않을 수 있습니다 — 줄바꿈 시 또는 버퍼가 가득 찰 때 플러시됩니다. 문자 단위의 버퍼링되지 않은 출력에 의존하던 스크립트는 즉시 출력이 필요한 곳에 명시적인 플러시(또는 줄바꿈 출력)를 추가해야 합니다.

커밋: 8cddada54

마이그레이션 체크리스트

출력 타이밍만 영향을 받습니다: 즉시 print() 출력에 의존하는 곳에 명시적인 플러시를 추가하세요(버퍼링된 stdout 변경 사항). 다른 모든 스크립트는 변경 없이 실행됩니다.