Logger32のローテーターコントロールでのエモト1200FX用として使用したGS-232B設定でのシリアル通信の状態をロジックアナライザーで確認しておきました。変な信号がないかの確認でもあります。Hi !
D0はLogger32から送られてくるコマンド ”C” です。現在のローテーターの位置角度のリクエストです。
D1はコマンド”C”を受けてESP32側でローテーターのA/D変換された0°〜360°の現在のローテーター位置角度数値を返します。その時間も計測してみました。
Logger32からのコマンドを受けてから位置角度情報を返すまでの時間は≒88mSec です。これは一箇所だけ捉えた情報で、実際はかなりバラツキがあります。参考程度情報です。
Logger32からのコマンド"C”をアスキー文字表示設定にして確認です。
コマンド ”C” をESP32側のシリアル受信確認後にリアルタイム現状位置角度の数字をGS-232Bの角度返送時使用するヘッダーを付けて角度の数値をアスキー文字で, その後に ”0D0A” のデリミタ付けて ”A Z = 1 8 0 0 D 0 A ” で返す様にスケッチで組んであります。組んでる通りに見えています。
GS-232B 返送時HEADDER :"AZ="
現在のローテーター角度180° :"180”
デリミタとしてのCRLF :"0D0A"
ローテーター位置角度が変わればその変わった角度の数値を返すという事をローテーターがプリセットで止まっても、いつまでも繰り返しています。”C”コマンドを送り現状位置角度を受取りして位置表示をする事を繰り返し続けるシステムです。なので、”C”コマンドが来ればESP32側は即反応して位置角度情報を送る様にスケッチを組みました。プリセット位置でとまったら終わりではなく、止まったローテーターの位置の角度数値を送り続けます。
あとWindowsXPの場合のLogger32側の処理が遅いので、1秒あたりの位置角度返送回数は5秒間で10回なので、2回/秒のローテーター位置角度確認コマンドを送っている事になります。今時のOSに変わると返送コマンドを受けてから回転表示させて次の”C”コマンドを出すまでの時間が短くなるといいう塩梅かと思います。
停止時ですが位置角度情報を受けて表示して次の”C”コマンド送出までは≒500mSECかかっています。
プリセット動作時は、もっと遅くなります。5秒間に7回ですから 1.4回/秒と時間がかかるようになります。
Logger32で位置角度情報を受けて表示して次のコマンド”C”を送るまでは≒600mSECとなっています。
また、パソコンの状態で変わるようでESP32側のLogger3からコマンド”C”を受けてから角度を返すまでは上のロジックデータを見ても分る通り早かったり遅かったりがあるようです。
現状のロジックアナライザーを使っての確認をしてみました。変なシリアルデータは全くないようです。
つづく?