plfdtd (0.1.0) | 2012-05-14 18:57 |
pylaf (0.5.0) | 2012-10-18 17:20 |
このプロジェクトでは、ラボにおけるソフトウェア開発を支援するためのアプリケーションフレームワークPyLAFを開発します。 PyLAFは、TkinterベースのGUIを備えたコンポーネントを簡単に開発するためのフレームワークと、 これらのコンポーネントをデータ駆動的に連携させるイベント処理機構を備えています。 PyLAFでコンポーネントを組み合わせたアプリケーションを書く方法は簡単です。
# coding: utf-8 import Tkinter, PyLAF # 無線信号発生器とスペクトルアナライザの生成 o = PyLAF.Wireless.Transmitter.application(Tkinter.Tk(),figsize=(300,300),dpi=75); o.master.title('Transmitter'); o.pack() v = PyLAF.Spectrum.application(Tkinter.Toplevel(o.master)); v.master.title('Spectrum'); v.pack() # 無線信号発生器とスペクトルアナライザ間の配線 o.sig_out.link(v.sig_in) o.oversamplingrate.link(v.samplerate) # パラメータの設定 v.xmin.set(-2); v.xmax.set(2) v.ymin.set(-200); v.ymax.set(0) # イベントループの起動 Tkinter.mainloop()Plugin Error: attach file not found: PyLAF_Transmitter.png
回路シミュレータのネットリストのように、PythonスクリプトにてPyLAFコンポーネントを生成し、配線し、Tkinter.mainloop()にてイベントループを起動します。
画面はQPSKの無線通信信号の生成器とスペクトルアナライザのコンポーネントを接続して表示したものです。 無線信号生成器は疑似乱数二値データ発生器、ローパスフィルタなどの別のコンポーネントから構成されていて、生成器のパネルに表示されている ボタンを押すことで別コンポーネントにアクセスすることができます。 ここではすべてのコンポーネントの操作パネルを表示させました。
コンポーネントの作成にはPythonとTkinterの知識が必要ですが、PyLAF.Componentを継承し、データのインタフェースにPyLAF.Portを使用することだけ守れば、 容易にPyLAFのルールに則ったコンポーネントを作成できるようにしています。
将来、eclipseのGEFなどを活用してGUIを備えた統合開発環境に発展して、ExcelやLabViewやSimulinkのように部品を用意して配線すればアプリケーションが 作れるようになればいいですね。
plfdtd (0.1.0) | 2012-05-14 18:57 |
pylaf (0.5.0) | 2012-10-18 17:20 |