v4.1.0¶
v4.1.0 では、Arduino Nano RP2040 Connect / Raspberry Pi Pico の完全サポート(WiFi、Bluetooth、カメラキャプチャ、ブートローダーへのジャンプ)、直接的な JPEG 画像デコード、フリーズされた urequests HTTP クライアント、OV7670 センサーサポート、標準化されたセンサーエラー報告が追加されました。WiFi API とセンサー例外が変更されています。以下の互換性のない変更をご確認ください。
ハイライト¶
RP2 ボード — Arduino Nano RP2040 Connect / Pico に WiFi(NINA-W10)、Bluetooth(NimBLE)、カメラ/DCMI キャプチャ、ブートローダーへのジャンプが追加されました。
JPEG デコード — 画像操作が圧縮された JPEG 画像を直接受け付けるようになりました。
urequestsHTTP クライアントがファームウェアにフリーズされました。OV7670 カメラセンサーのサポート。
互換性のない変更: NINA/RP2 WiFi API が再設計され、いくつかのセンサーエラーが
RuntimeErrorを送出するようになりました。互換性のない変更をご覧ください。
新機能¶
Arduino Nano RP2040 Connect / Raspberry Pi Pico — NINA-W10
networkドライバ経由の WiFi、Bluetooth/NimBLE、カメラキャプチャ(DCMI PIO プログラム)、ブートローダーへのジャンプコマンド。JPEG 画像デコード —
find_apriltags()、lcd.display()、tv.display()および関連する画像操作が、圧縮された JPEG 画像を直接受け付けるようになりました(バイナリ/グレースケール/RGB565 にデコード)。urequests— HTTP クライアント(GET/POST/PUT/...)が OpenMV 4 / 4 Plus / Portenta / Nicla でフリーズされ、http_post.pyのサンプルが付属します。ble_advertisingヘルパーライブラリが Nano RP2040 Connect でフリーズされました。ホスト/デバッグ — ブートローダーへリセットするための
pyopenmv.reset_to_bl()と新しいUSBDBG_SYS_RESET_TO_BL(0x0E)コマンド、Arduino Nano 33 BLE Sense でのブートローダーへのジャンプ。OV7670 — 新しい OV7670 カメラセンサーのサポート。OpenMV 4 で選択可能です。
その他の変更と改善¶
RP2 UDP ソケットは、バインドされていない状態で使用された場合に一時ポートへ自動的にバインドされるようになりました。バンドルされている MicroPython サブモジュールが更新されました。
バグ修正¶
ネットワーク:
NINA WiFi ソケットの accept/close/send/recv/bind の処理および操作タイムアウト、IDE 出力を破損させる可能性のあった RP2 デバッグテキストバッファの競合を修正しました。
カメラとシステム:
HM01B0 のリセット、OpenMV H7 でセンサースキャン失敗後にカメラ I2C バスがスタックする問題、USB 切断時の H7 ULPI 低電力モードへの移行、H7 ADC ピン生成、Portenta のカメラピン配置 / シールド SPI-CS を修正しました。
ハードウェアとボードのサポート¶
Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi、Bluetooth、カメラ、より大きなフラッシュファイルシステム、MSC ブートローダー。
OV7670 カメラセンサー(OpenMV 4)。
Arduino Portenta H7 — ブレークアウト I2C4、追加の PWM/クロックピン、OV7725 / MT9V034 センサー。
互換性のない API 変更¶
v4.0.2 から v4.1.0 の間のユーザーに見える API の互換性のない変更です。範囲: modules/ 内の Python C モジュールと scripts/libraries/ 内の Python ライブラリ。
各変更にはその影響度がタグ付けされています:
minor — 限定的な API。それを使用していたスクリプトにのみ影響します。
behavior — 同じ API ですが結果が異なります。調整済みのスクリプトを再確認してください。
変更はその順序で影響度別にグループ化されています。コードを移植したいだけであれば、末尾の 移行チェックリスト に進んでください。各コミットハッシュは GitHub 上の diff にリンクしています。
NINA / RP2 WiFi API の再設計 (minor)¶
NINA / RP2 WLAN ドライバが、アップストリームの MicroPython / CYW43 network インターフェースに合わせて再設計されました: WLAN(interface) コンストラクタ(STA/AP モード)、新しい active([bool]) メソッド、connect のエイリアスである config / start_ap、connect() の ssid 引数が essid に改名、新しい channel キーワード、そして nina.fw_version() が生のバイト列ではなく (major, minor, patch) タプルを返すようになりました。NINA ファームウェアのバージョン不一致は OSError ではなく致命的でない警告になりました。
センサーエラーが RuntimeError を送出するように (behavior)¶
センサーエラー報告が統一されたエラーコードテーブルを中心に標準化されました: カメラの障害(キャプチャタイムアウト、不正な framesize/pixformat/window/framerate、フレームバッファエラー、JPEG オーバーフロー、未検出センサーなど)が一貫した説明的なメッセージを送出するようになり、以前は ValueError を送出していたいくつかの状態が RuntimeError を送出するようになりました(sensor.reset() を含む)。これらのケースで ValueError を捕捉していたコードは、代わりに RuntimeError を捕捉する必要があります。
移行チェックリスト¶
v4.1.0 へクリーンに移植するための一般的な作業は次のとおりです:
NINA/RP2 WiFi コードを標準の
network.WLANインターフェース(WLAN(interface)、active()、essid=)に移植し、nina.fw_version()からタプルが返ることを想定してください(WiFi API の変更)。カメラ /
sensor.reset()のエラー処理周辺のexcept ValueErrorをexcept RuntimeErrorに変更してください(センサーエラーの変更)。