v2.8.1

v2.8.1 では OpenMV IDE に完全な Arduino ボードサポートをもたらし、Arduino Nano RP2040 Connect および Nano 33 BLE ボードへのファームウェアロード機能を追加するとともに、タブ式エディターとコードミニマップを導入しました。本リリースは Qt Creator 4.0.2 ベースを維持し、新しい 4.1.0 の OpenMV ファームウェアを同梱しています。破壊的変更があります。自動インデントがデフォルトでオフになり、OPENMV2/3/4/4P、OPENMVPT、PORTENTA の各ボード向けの統合された openmv.bin / openmv.dfu ファームウェアイメージが削除されました。これらはこうしたデフォルトやファイル名に依存していたユーザーにとってワークフローおよび動作の変更となります。

ハイライト

  • 新たに同梱された bossac(SAM-BA)および picotool/elf2uf2/rp2040load ツールチェーンを介してプログラムされる、Nano RP2040 Connect および Nano 33 BLE 向けの Arduino ボードファームウェアロード 機能。

  • 開いているファイルがエディター上部に切り替え可能なタブとして表示され、タブの切り替えと並べ替えのショートカットを備えた タブ式エディター

  • ドキュメントの縮小概観を表示する コードミニマップ スクロールバー。テキストエディター設定ページで切り替えや幅の設定が可能です。

  • Nano RP2040 Connect の一式のサンプルと 10 個の Portenta-H7 WiFi スクリプトを含む、新しい Arduino および Portenta のサンプル

  • すべての OpenMV カメラと Arduino Nano 33 / Nano RP2040 のイメージにわたって 同梱ファームウェアを 4.1.0 に更新

  • Arduino Nano RP2040 Connect および Portenta H7 向けの Windows USB ドライバー がインストーラーによってインストールされるようになりました。

新機能

  • Arduino ボードサポート: Arduino Nano RP2040 Connect および Nano 33 BLE ボードへの完全なファームウェアロードサポートを追加し、新しい bossac.txt/boards.txt 記述子(および既存の picotool.txt)によって駆動される、同梱の bossac(SAM-BA)および picotool/elf2uf2/rp2040load ツールチェーンを介してプログラムします(deccee67634e0c0ee1ef5334782eb9c00a33)。

  • タブ式エディター: エディタータブバープラグインを追加し、開いているファイルがエディター上部に切り替え可能なタブとして表示され、前/次のタブ(Ctrl+Page Down / Ctrl+Page Up)のショートカットを備えるようにしました(325cd8d875501a4082)。

  • コードミニマップ: ドキュメントの縮小概観をスクロールバーに表示する、テキストエディター設定ページ(有効化トグル、幅、行数しきい値、スクロールバースライダーのアルファ値)を備えたコードミニマップスクロールバープラグインを追加しました(325cd8d87)。

  • Portenta-H7 WiFi のサンプル: 10 個の WiFi サンプルスクリプト(connect、scan、static IP、DNS、NTP、HTTP クライアント、HTTP-SSL クライアント、MJPEG ストリーマー、MQTT publish/subscribe)を追加しました(b2133f9f5)。

その他の変更と改善

  • タブの並べ替え: 現在のタブを左右に移動するショートカット(Ctrl+Shift+Page Down / Ctrl+Shift+Page Up)を追加し、タブバーのショートカットが機能するようにエディターの競合するデフォルトの Ctrl+PgUp/Ctrl+PgDown/Ctrl+Up/ Ctrl+Down バインディングを無効にしました(5501a4082)。

  • Nano RP2040 Connect のサンプル: 基本、IMU センサー、BLE、WiFi、オーディオ FFT、サーマルカメラを網羅した完全な Python サンプルスケッチ一式を同梱しました(91847b183)。

  • Arduino 接続プロンプト: 2 つの新しい接続フローダイアログを追加しました。古い Arduino RP2040 USB PID が検出されたときに RECGND にショートしてボードをリセットするようユーザーに指示するリカバリーヒントと、フラッシュ FS の消去が要求されたときに Nano 33 BLE にはオンボードのデータフラッシュディスクがないことを知らせる情報通知です(91847b183)。

  • Arduino および Portenta の追加サンプル: Arduino Nano 33 BLE Sense(blinky)、Portenta H7 BLE temperature、改善された Portenta H7 PWM 制御、更新された Portenta H7 イーサネットピアツーピアスクリプト、更新された ulab フィルターサンプル向けの新しい Python サンプルを追加し(45a4564f4)、さらに Portenta H7 イーサネットケーブルテストのサンプルを追加しました(af1b2fcff)。

  • OpenMV WiFi-Shield のサンプル: 14-WiFi-Shield の下に新しい http_post.py HTTP POST サンプルを追加しました(c73d9fdcf)。

  • WiFi 読み取りタイムアウト: 読み取りタイムアウトを分割し、WiFi 接続にはより長いストールタイムアウト(3000ms、シリアルの 1000ms に対して)が割り当てられるようにし、WiFi のストール後には失敗するのではなく保留中のコマンドを再送信するようにしました(81f00ac58)。

  • 簡素化されたエディター外観: エディターツールバーの分割ボタンと分割を閉じるボタンを非表示にし、エディターのレイアウトを一貫させるために Linux で高 DPI 自動スケーリングを強制しました(bc14a2290)。

  • オフラインドキュメント: 同梱のオフラインドキュメントを更新し、センサーごとのカメラピン配置画像(H7 OV7725、H7 Plus OV5640、M4/M7 バリアント)を追加し、IDE の概要ページとチュートリアルページを更新しました(97ff73ebd)。

バグ修正

  • ファームウェアのプログラミング時に使用される RP2040(PICO)のフラッシュ消去オフセットを修正し、正しいフラッシュ領域が消去されるようにしました(91847b183)。

  • 同梱の Linux/macOS の bossac および picotool バイナリを実行可能にし、これらのプラットフォームでファームウェアロードが機能するようにし、また Qt >= 5.6 でのみ実行されるようにミニマップレンダラーをガードしました(76613152f)。

  • ファームウェアアップグレードのプロンプトがダイアログのボタンを尊重するように修正し(QDialog::Accepted をチェック)、シリアル/TCP 転送のストール処理が新しいデータの到着時にタイマーを再起動するようにして、長い転送が誤ってタイムアウトしないようにしました(dd4ce12a5)。

プラットフォームとツールのサポート

  • Qt Creator ベース: 4.0.2。

  • 同梱ファームウェア: 同梱の OpenMV ファームウェアを 4.1.0 リリースに更新しました(firmware.txt: 4.0.2 -> 4.1.0)(b78603045)。サイクルの前半では、同じファイルが中間の 4.0.1 および 4.0.2 ビルドを経て段階的に更新されました(beec4d25beb9c00a33)。

  • 新しいフラッシュツールチェーン: すべてのプラットフォーム(windows/osx/linux32/linux64/arm/aarch64)向けに bossac および picotool/elf2uf2/rp2040load ツールチェーンを同梱しました。

  • Windows USB ドライバー: Arduino Nano RP2040 Connect および Portenta H7 ボード向けの署名済みドライバーのインストールを追加し、インストーラー経由で実行されるようにしました(bc14a2290a8ae96e1b)。

  • 新しく認識されるセンサー: PAJ6100 イメージセンサー(914546e78)と、GC21450x21)および MT9M114 カメラセンサーを、同梱の share/qtcreator/firmware/sensors.txt センサーテーブルに追加しました(9a8b1c762)。MT9M114 の ID は当初 0x81 でしたが、後に 0x2481 に修正されました(eb9c00a33)。

破壊的変更

本リリースにおけるユーザーに見えるワークフローおよび動作の破壊的変更。

  • 自動インデントがデフォルトでオフになりました。 エディターの自動インデントのデフォルトがオフに切り替えられ(読み込み時にも強制的にオフにされ)、Tab キーでインデントされなくなりました。Auto indent および Tab key performs auto-indent コントロールが Text Editor > Behavior 設定ページから削除されたため、ファームウェア/ソースで変更しない限り、入力時に新しい行が自動インデントされなくなりました(bc14a2290)。

  • 統合された openmv.bin / openmv.dfu ファームウェアイメージ(OPENMVPT については openmv.bin のみで、openmv.dfu は出荷されたことがありません)が、OPENMV2/3/4/4P、OPENMVPT、PORTENTA の各ボード向けに削除されました。個別の bootloader/firmware/uvc イメージのみが残ります(84cd4cd2d)。

  • vsync_gpio_output のサンプル(OpenMVArduino/Portenta-H7 の両方の 02-Board-Control サンプルセット内)が、set_vsync_output の代わりにファームウェアの新しい set_vsync_callback API を必要とするようになり、コールバックは IR LED ではなく LED_BLUE を切り替えるようになりました(f13453bdc)。