rftgyふじこlp:今は反芻している…JP1NOM

のんべんだらりと生きてしまいましたよ。

今日のTERMINAL

2018年05月22日 14時16分00秒 | PC
先日作ったSGに専用ターミナルソフトを作ってみた。
Delphi5と古すぎる環境だけど、気にしない。

SGからのCSV情報をシリアルで読み込むとき、CommXを使ったんだけど、CRとLFを文字として取り出せないっぽいので苦労した。

読み取りに際しては受信バッファを一括して読み込むという設定しかできなくて(多分、俺がタコなだけ)、変なところで改行してしまうことが判明。TeraTermとかならそんな心配ないんだけど。

しょうがないのでSG側でCSVの一行の終わりにサフィックスをつけて、これをCR/LFの代わりに使うことにした。この設定は裏コマンド[4]でサフィックス付きと無しとを切り替える。当初バッファからの一括処理にしくじって取りこぼしが起きたので、転送速度115200bpsと57600bpsを切り替える裏コマンド[3]も追加。

一度Memo1に受信データをぶち込んでから、Memo2に変換してぶち込むという力技。データが1000件とかだと結構時間がかかるね。

Memo2に成型してぶちこまれたデータはそのままCSVファイルとして保存するようにしてみた。

TeraTermだとクリップボードにコピーはできるけど、CSVで保存できないかもしれないので、まあ、用法に沿った仕様。

実はグラフ化も考えたんだけど、グラフ作成についてのノウハウが少なく(コンポーネントはあるらしいけど)、またCanvasに線を引くのもちょっと面倒。その上X,Y軸の目盛りの最適化を加味すると脳みそのシワが消えそうになったので断念。

グラフ化はLotus 1-2-3に任せた。

CFU455のインピーダンス整合を取らずに測定してみた。