v4.2.2¶
v4.2.2는 PNG 이미지 지원(lodepng를 통한 디코딩/인코딩), 테이블 기반 내장 모델 로더, Portenta OV5640 지원, Edge-Impulse TensorFlow 업데이트, ulab 4.0을 추가합니다. RPC CAN 구성 API가 변경되었습니다 — 아래의 호환성 변경 사항을 확인하세요.
주요 사항¶
PNG 지원 —
Image.to_png(),image.PNG, 그리고 PNG 파일 읽기/쓰기.tf.load_builtin_model()— 빌드 시 교체하거나 추가할 수 있는 테이블 기반 내장 모델.Portenta H7 — OV5640 카메라 지원(오토포커스 포함).
MicroPython/ulab — ulab이 4.0.0으로 업데이트되었습니다.
호환성 변경: RPC CAN 구성 API가 변경되었습니다 — 호환성 변경 사항을 참조하세요.
새로운 기능¶
PNG 이미지 포맷 — 통합된 lodepng 코덱을 통해 새로운
Image.to_png()메서드,image.PNG/PIXFORMAT_PNG상수, PNG 파일 로드/저장(.png읽기/쓰기), 그리고image.to()변환에서의 PNG 출력이 추가되었습니다.tf.load_builtin_model(path)— 펌웨어에 내장된 모델을 로드하여(labels, net)튜플을 반환합니다. 내장 모델은 이제 테이블 기반이므로 빌드 시 교체하거나 추가할 수 있습니다.
기타 변경 및 개선 사항¶
TensorFlow / Edge Impulse — 번들된 추론 라이브러리가 Edge Impulse ei-V2.5.0으로 업데이트되었고,
person_detection모델이 내장 모델 테이블로 이동했으며, 더 많은 Edge Impulse 모델이 실행되도록 모든 Cortex-M0+/M4/M7/M55 빌드에 누락되었던 TensorFlow 연산자가 추가되었습니다.ulab이 4.0.0으로 업데이트되었습니다.
USB 가상 직렬 포트를 1200 bps로 열면 이제 Arduino 방식의 터치 리셋으로 부트로더에 진입합니다.
WINC1500 WiFi 모듈 펌웨어가 (업데이터 스크립트와 함께) 19.7.6으로 업데이트되었으며, 이제 실제 호스트 드라이버 버전을 보고합니다.
RP2 포트는 “MPY: soft reboot”를 출력하며 UART init/de-init 기능을 추가했습니다.
버그 수정¶
Arduino Nano RP2040 Connect의 원시 프레임 버퍼 크기와 Arduino Nicla Vision의 USB 제품 ID(올바른 USB 열거)를 수정했습니다.
하드웨어 및 보드 지원¶
Arduino Portenta H7 — OV5640 카메라 지원(오토포커스 포함); Portenta에서는 GC2145가 비활성화됩니다.
Arduino Nano RP2040 Connect — 메모리 구성 및 새 파일 시스템 템플릿.
WiFi Shield (WINC1500) — 펌웨어가 19.7.6으로 업데이트되었습니다.
호환성 변경 API¶
v4.2.1과 v4.2.2 사이에서 사용자에게 보이는 API 변경 사항입니다. 범위: modules/의 Python C 모듈과 scripts/libraries/의 Python 라이브러리.
각 변경 사항에는 영향도가 표시되어 있습니다:
minor — 좁은 범위의 API이며, 이를 사용한 스크립트에만 영향을 줍니다.
behavior — 동일한 API이지만 다른 결과를 냅니다. 튜닝된 스크립트를 다시 확인하세요.
변경 사항은 그 순서대로 영향도별로 그룹화되어 있습니다. 각 커밋 해시는 GitHub의 해당 diff로 연결됩니다.
RPC CAN 구성 API (minor)¶
rpc 라이브러리에서 rpc_can_master / rpc_can_slave의 CAN 키워드 인자 sampling_point가 (업스트림 MicroPython에 맞추기 위해) sample_point로 이름이 변경되었고, 수동 CAN 비트 타이밍 헬퍼가 제거되었습니다 — CAN 버스는 이제 CAN(..., baudrate=, sample_point=)을 통해 구성합니다. sampling_point를 전달했거나 이전 비트 타이밍 계산에 의존하던 스크립트는 업데이트해야 합니다.
image.format()와 압축 이미지 (behavior)¶
PNG를 위해 추가된 통합 압축 이미지 경로로 인해 image.format()은 이제 알 수 없는 포맷에 대해 PIXFORMAT_INVALID를 반환하며, 압축 이미지 인덱싱 / 반복 / 출력이 이제 JPEG뿐만 아니라 PNG도 다룹니다. 알 수 없는 포맷에 대한 이전 반환값을 검사하던 코드는 다시 확인해야 합니다.
커밋: f12a4659c
마이그레이션 체크리스트¶
v4.2.2로 깔끔하게 이식하려면: RPC CAN sampling_point → sample_point로 이름을 바꾸고 모든 수동 CAN 비트 타이밍 설정을 제거하며(RPC CAN 변경 사항), 알 수 없는 포맷에 대해 image.format()을 검사하던 코드를 다시 확인하세요(format() 변경 사항).