v3.6.8

v3.6.8 では OpenMV Cam Pure Thermal ボードを追加し、TensorFlow を CMSIS-NN へ移行することで tf の推論を約 4 倍高速化 し、デスクトップ版 rpc ライブラリに UART / Kvaser CAN / I2C / SPI インターフェースを拡張し、Arduino Portenta H7 の SD カード を有効化しました。SD カードのパーティション処理と、センサーを持たないボードでの import sensor の挙動が変更されています — 下記の互換性を壊す変更を参照してください。

ハイライト

  • OpenMV Cam Pure Thermal — 新しいボードのサポート。

  • TensorFlow が約 4 倍高速化tf の推論が CMSIS-NN 上で動作するようになりました。

  • rpc ライブラリ — UART、Kvaser CAN、I2C/SPI のマスター/スレーブインターフェースを追加しました。

  • Portenta H7 の SD カード — PLL1/HSE/ADC クロックの修正とともに、SD カードのサポートを有効化しました。

  • 互換性を壊す変更: SD カード起動時にパーティションを自動検出するようになり、画像センサーが存在しない場合に import sensor が例外を送出するようになりました — 互換性を壊す変更を参照してください。

新機能

  • rpc — デスクトップ版 RPC ライブラリに UART、Kvaser CAN、I2C/SPI のマスター/スレーブインターフェース(rpc_uart_master / rpc_uart_slaverpc_kvarser_can_master / rpc_kvarser_can_slave、および I2C/SPI のマスター/スレーブ)を追加しました。

  • センサーを持たないボード — ファームウェアが画像センサーを持たないボードをサポートするようになりました(Pure Thermal ボードを実現)。

  • JPEG ジオメトリ — JPEG ジオメトリを読み取るための JPEG 読み取り設定構造体(jpg_w / jpg_h / jpg_size)を追加しました。

その他の変更と改善

  • TensorFlow を CMSIS-NN へ切り替え、tf の推論を約 4 倍高速化しました(ボードごとの imlib 設定を調整)。ulab のサンプルは ulab.numerical.mean / std を使用するようになり、ディープスリープのサンプルは OV7725 のレギュレータバイパスレジスタへの書き込みの前に sensor.sleep(True) を呼び出すようになりました。

バグ修正

カメラと画像処理:

  • ディスクからの JPEG 画像の読み込み(JPEG ジオメトリが非対応フォーマットとして拒否されていた)を修正し、sensor.reset() がハードリセットを行うようにしてレギュレータのシャットダウン後にセンサーが復帰できるようにし、OpenMV 4 / 4 Plus での FLIR Lepton SPI のオルタネート機能/クロック設定を修正し、OpenMV 4 / 4 Plus での FSYNC ピンの割り当てを修正しました。

接続性とシステム:

  • H7 でのタイマー駆動の pyb.DAC 書き込みを修正し、WINC1500 の WLAN.start_ap() が OPEN セキュリティでキーを必要としないようにし、Portenta でカメラとユーザーペリフェラル間の I2C バス共有を修正し、セルフテストの SWD フレームバッファマーカーをボードごとにして、マーカーを持たないボードでフレームバッファの bpp を破壊しないようにしました。

ハードウェアとボードサポート

  • OpenMV Cam Pure Thermal — 新しいボード。

  • Arduino Portenta H7 — PLL1(400 MHz/40 MHz、USB/RNG は HSI48)、HSE(25 MHz)、ADC クロックソースの修正とともに、SD カードを有効化しました。

互換性を壊す API 変更

v3.6.7 と v3.6.8 の間のユーザーから見える API の破壊的変更。対象範囲: modules/ 内の Python C モジュールと scripts/libraries/ 内の Python ライブラリ。

どちらの破壊的変更も 動作 の変更(API は同じだが結果が異なる)です — 影響を受けるスクリプトを再確認してください。各コミットハッシュは GitHub 上の差分へのリンクになっています。

SD カードのパーティション自動検出 (動作)

SD カード起動時に、常にパーティション 1 をマウントするのではなく、パーティションを自動検出するようになりました。従来の固定パーティション 1 の動作に依存していたカードは、別のファイルシステムをマウントする可能性があります。マルチパーティションの SD カードと、想定されるマウントを再確認してください。

コミット: 1f7f003b8

センサーを持たないボードで import sensor が例外を送出 (動作)

画像センサーを持たないボードをサポートするため、sensor モジュールの初期化チェックがインポート時に実行されるようになり、画像センサーが検出されない場合に import sensorRuntimeError を送出するようになりました(以前のように後で失敗するのではなく)。サーマル専用ボードでは、import sensortry / except で囲むか、インポートを避けてください。

コミット: 17b444ad1

移行チェックリスト

新しいパーティション自動検出(SD カードの変更)に対してマルチパーティションの SD カードを再確認し、センサーを持たない/サーマル専用のボードでは import sensor を保護してください(センサーインポートの変更)。それ以外のスクリプトはすべてそのまま動作します。