TWELITE GUI Toolの準備というか練習
繰り返しテストを行うとなるとGUI Toolが欲しくなってくる。そこでPythonでGUI Toolを作ってみた。PySimpleGUIが便利との先人の知恵にならって作ってみた。
環境はWindows 10でエディタはVisual Studio Codeにした。最初はCentOSで構築を試みたけれど、PySimpleGUIがうまく動かなかった。CentOS7にはPython 2.7がDefaultでインストールされているが、PySimpleGUIはPython3を前提にしていて、Python 2.7用のPySimpleGUIをインストールしたりしたが上手く動かず、、、Python 3もインストールしてみたけれども、これもいろいろと問題があり(yumが動かなくなったり)。なのでWindows 10にした。よかったこととしてはVisual Studio Codeをつかってみたこと。これは便利だ。
さて、まず受信データの表示を実装した。これは画面描写のタイミングで最新の情報を表示するようにした。そのためCOMポートからデータを読み込むときにreset_input_buffer()を実行している。MONO STICKは1秒単位でデータを受信するので、どんどんCOMポートのBufferにデータがたまってしまう。アプリがCOMポートからデータを読み出しとしてもバッファされた過去のデータを読み出してしまった。このために最新のデータを表示したい(COMポートから読み出したい)ので一旦バッファをクリアしてから、その直後の受信データを読むわけだ。
しかし子機が複数になった場合、この方法ではどの子機のデータを読み出すかわからない。バッファをクリアしてから暫くCOMポートを連続読みして、すべての子機のデータを拾う必要がある(とりあえずこれは今後の課題)。
データ送信側はData Out Port 1(DO1)からPort 4 (DO4)まで個別に制御するようにボタン配置した。アプリ起動時はすべてのポートはHIGH (0)に初期化している。以後、それぞれのポートの操作は記録していて、いずれかのポートの値を変更したとしても、他のポートはそれ以前の値を保つようにしている。
PWMは1000HzでのDuty比を0から100まで設定する。ポート設定値は100で0x0400になる。これもどのポートに値をせっていするかボタン選択している。他のポートの設定値はそのまま維持するようにしている。なお、アプリ起動時の初期値はすべてゼロにしている。
結論:
PySimpleGUIは便利だ。Visual Studio Codeも便利だ。これを使わない手は無い。
CentOSでなやんで半日以上費やしてしまった。CentOS8でも試してみるか、、、、でもそれが目的ではないし。しかし、久しぶりに書くコードは汚くて古臭い、、、、とほほ。
« TWELITE Device IDの設定 | トップページ | ロジアナ LA1010 »
「ツールの使い方」カテゴリの記事
- NTT ONU+ホームゲートウエイの初期化(2024.08.19)
- ECHOLINKでDTMF 9999はECHOTESTサーバーに接続(2024.05.08)
- Windows 11でログオン画面でPINが使えなくなったパスワードロックのリカバリー(2024.04.05)
- WIRESとFTM-100の相性(2024.03.08)
- クロール済み – インデックス未登録の件(2024.02.20)
「TWELITE日記」カテゴリの記事
- TWELITEでソーラーパワーを使う - その4(2024.01.28)
- TWELITEでソーラーパワーを使う - その3(2024.01.26)
- TWELITEでソーラーパワーを使う - その2(2024.01.23)
- TWELITEでソーラーパワーを使う(2024.01.23)
- ゼロプレシャーICソケットに細いピンヘッダーを取り付けた(2024.01.20)
コメント