SigmaCanvasはじめました

デモにしろ製品にしろ,最近作っている大抵のシステムは,

  1. イーサネット(UDPパケット)とかPCIe経由とかでデータを取得
  2. 必要に応じて取得したデータを加工
  3. 必要に応じて複数のデータをマージ,あるいは分割
  4. データを表示したり,保存したり

という組み合わせで構成されています.で,RECONF研でのデモ展示の準備のために,また一つこういうシステムを作りながら思ったわけです.私は,これから先,あと何回UDPの受信プログラム(よくWebに掲載されてるサンプルみたいなの)やJFrameの適当GUIを作るのだろうか…

システムを構成する要素を部品化,それらの組み合わせでシステムを実現できるフレームワークがあれば,きっと,もう二度とJFrameほげほげと書かなくてすむに違いない!!

というわけで,名付けてSigmaCanvasという名前のツールを作り始めてみました.

まあ,なんというか,欲しいのは,L○bViewとかM○tLab+SysG○nみたいなツールなわけですが…高くて買えないんだもの…

何ができるか

システムの構成をXMLで記述してフレームワークSigmaCanvasにくわせるとシステムができます.たとえば定義ファイルはこんな感じ.

で,実行すると,受信したパケットを標準出力にダンプしつつ,データを変換してグラフにする,というようなシステムが起動します.

a74f4d0ab10743cb81e3197f9a2e7a28

これ,ちなみに,exStickでUSB扇風機の電圧と電流を計測しているところです.ブラシモータのブラシが切れるときって電流0になるんだなー,とか回転数変わると0になる周期が変わるなー,とか,見てると結構楽しいです.

システム構成の可視化

定義したシステムは目でみて確認することもできます.シンプルですが,こんな感じ.

0990f2936eab7536572e67f7a3427bb3

そのうち,もっと格好いいツールにしたいですね.

今後は…

まずは,ドッグフードたべつつ,

  • XMLを手書きしなくてすむように,(よくあるツールみたいな)グラフィカルエディタによるシステム設計の実現,
  • PCIeその他の入出力I/Fも接続できるような部品を用意する

とか,その他いろいろ,夢が広がり中です.

シェアする

  • このエントリーをはてなブックマークに追加

フォローする