v1.1.0

v1.1.0は、OpenMV IDEをファームウェア対応にします。Qt Creator 4.0.2上に構築され、接続時に古いOpenMV Camを検出してシリアルブートローダー経由でファームウェアを自動的にアップグレードするようになり、新しいCortex-M7のOpenMV Camへの対応を追加し、General Messagesペインを本格的なSerial Terminalに変えます。本リリースでは、ユーザーが把握しておくべきいくつかのデフォルト動作(ファームウェアの自動アップグレードとPythonファイルフィルタ)が変更されています。後述の 互換性を壊す変更 を参照してください。

ハイライト

  • ファームウェアの自動アップグレード — 接続時に、IDEは古いOpenMV Camを検出し、同梱のファームウェアをシリアルブートローダー経由でフラッシュします。内蔵ファイルシステムも併せて消去するオプションがあります。

  • Cortex-M7 OpenMV Camのサポート — 新しいSTM32F769ベースのボード(OMV7)が、既存のCortex-M4ボード(OMV2)と並んでサポートされます。ボードごとのファームウェアと自動検出を備えています。

  • ブリック復旧 — カメラが見つからない場合、IDEは再接続後に、一致するファームウェアを文鎮化したカメラへ強制フラッシュできます。

  • Serial Terminal — General Messagesペインが、出力時にポップアップする、100000行のスクロールバックを備えたダークテーマの Serial Terminal になりました。

  • ノンブロッキングな接続/切断 — 接続、再接続、シャットダウンが進捗ダイアログとともに非同期で実行されるようになり、IDEがハングしなくなりました。

  • ライブのバイナリ/グレースケールプレビュー — フレームバッファビューアが、RGB565とJPEGに加えて1ビット画像とグレースケール画像を描画します。

新機能

  • ファームウェアの自動アップグレード。 接続中のOpenMV Camが同梱の firmware.txt より古いファームウェアバージョンを報告した場合、IDEはブートローダーを起動し、フラッシュセクタを消去し、firmware.bin を進捗ダイアログとともにチャンク単位で書き込み、カメラをリセットします。ユーザーは、アップグレードの一環として内蔵ファイルシステムを任意で消去できます。(a175bff39, 50375ee95, 502177f3c, a871bfb48, 30eb9e0dc, 552803018, 889bc38fb, 047581ed5)

  • ブリック復旧パス。 OpenMV Camが見つからない場合、IDEは文鎮化したカメラが接続されているかどうかを尋ね、ボードタイプを選択させ、デバイスが再接続されると一致するファームウェアを強制フラッシュします。(a175bff39, 30eb9e0dc)

  • スクリプト保存とリセットのアクション。 新しい Tools メニュー項目により、現在のスクリプトをOpenMV Camのフラッシュドライブに保存(Save script to OpenMV Cam)したり、カメラをリセット(Reset OpenMV Cam)したりできます。Stop には Ctrl+T のキーボードショートカットも追加されました。(9fc3dfa5a, a175bff39, 889bc38fb)

  • 更新通知とローカルドキュメント。 IDEは起動時にopenmv.ioをチェックして新しいIDEバージョンの有無を確認し、ダウンロードの通知を表示します。DocsHelp アクションは、ウェブサイトではなくローカルに同梱されたHTMLドキュメント(html/index.html)を開くようになり、ピン配置アクションは同梱のピン配置画像(html/_images/pinout.png)を開くようになりました。(a175bff39, 50375ee95)

  • バイナリ/グレースケールのフレームバッファ。 フレームバッファビューアが、RGB565とJPEGに加えてバイナリ(1ビット)画像とグレースケール画像を描画するようになりました。また、フレームバッファはツールバーからライブでオン・オフを切り替えられます。従来のJPEG圧縮ツールバーボタンは、このオン・オフトグルに置き換わるかたちで非表示になりました。(a175bff39)

  • 新規および更新されたサンプル。 CPUオーバークロックのサンプル(最大216MHz)、改良されたマルチクライアントMJPEG WiFiストリーマー、FPSテスト、OV7725センサーに適応するカラーバーテストを追加しました。(a175bff39, 32dc31962, 502177f3c)

その他の変更と改善

  • Serial Terminal。 General Messagesペインが、ダークな背景、ステータスバー優先度の引き上げ、100000行のスクロールバック、ワードラップなしを備えた Serial Terminal として作り直されました。カメラが出力を表示するとポップアップして点滅します。(9fc3dfa5a)

  • ノンブロッキングな接続と切断。 接続と切断が、進捗ダイアログとクリーンな非同期シャットダウンを備えたノンブロッキング方式に作り直されました。これにより、カメラがビジー状態の間もIDEがハングせず、代わりに Busy... please wait... と表示されます。(502177f3c, a175bff39, 6275d8855, 234f76389)

  • 平滑化されたFPS表示。 FPS表示が、瞬時値ではなく直近の数フレームにわたる平滑化された移動平均になりました。カメラのFPSとは異なる場合があることを示すツールチップが付いています。(a175bff39, 889bc38fb)

  • ダークテーマの磨き込み。 ダークテーマに、エディタやペインをまたいで矢印画像付きのカスタムスタイルのスクロールバー、Inkpotスタイルでのダークテーマの検索結果とスコープのハイライト、Find ツールバーの白文字が加わりました。(9fc3dfa5a, 94d8c41f1, 9d8683355)

  • Python向けのファイルデフォルト。 Find in Files のファイルフィルタのデフォルトが *.py になり、ファイルオープンダイアログがすべてのファイルを表示するようになりました。これはC++ではなくMicroPython開発に合わせたものです。(94d8c41f1, a175bff39)

バグ修正

  • macOS(cu を含むポート名にフィルタリング)とLinux(sudo adduser <user> dialout を提案する、より分かりやすい権限不足の案内)でのシリアルポート処理を改善し、SSL警告を抑制し、ブートローダーダイアログをアプリケーションモーダルにし、信頼性のためにブートローダーのタイミングとタイムアウトを調整しました。(a175bff39, 552803018, a871bfb48, 30eb9e0dc)

  • IDEは起動時にドキュメントが開かれていない場合に helloworld.py のサンプルを自動的に開くようになり、スプラッシュ画面を確実に閉じるようになりました。これにより、編集ウィンドウと起動時の状態に関する問題が修正されました。(a175bff39, 9d8683355, 502177f3c)

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

  • Qt Creatorベース: 4.0.2。

  • OpenMV IDEバージョン: 1.0.0から1.1.0に引き上げ。(50375ee95)

  • 新しいボード: Cortex-M7 OpenMV Cam(STM32F769、OMV7)が、Cortex-M4 OpenMV Cam(STM32F427、OMV2)と並んでサポートされるようになりました。ボードごとのファームウェアディレクトリと、boards.txt を介したボード文字列の自動検出を備えています。(a175bff39)

  • 同梱ファームウェア: OMV2OMV7 の両ボード向けに1.7.0へ、続いて1.8.0へ更新されました。ブートローダーの最小/互換ファームウェアバージョンは1.6.0です。(502177f3c, 32dc31962, a175bff39)

  • Windows USBドライバ: デジタル署名されたWindows USBドライバファイル(openmvpybcdc.inf.cat)を同梱し、ドライバディレクトリをIDEとともにパッケージ化しました。(047581ed5)

互換性を壊す変更

v1.1.0におけるユーザーから見えるワークフローと動作の変更:

  • 接続時のファームウェア自動アップグレード。 接続中のOpenMV Camのファームウェアが同梱の firmware.txt のバージョンより古い場合、IDEは続行を許可する前にアップグレード(および任意で内蔵ファイルシステムの消去)を促します。消去または書き込みのステップ中にキャンセルすると、カメラが再接続され再フラッシュされるまで文鎮化したままになる場合があります。

  • ファイルデフォルトの変更。 Find in Files のデフォルトのファイルフィルタが *.cpp,*.h から *.py に変更され、ファイルオープンダイアログはMIMEタイプごとのフィルタではなくすべてのファイルを表示するようになりました。