AI の挙動不審
AI (Auto Information) でデータが自動でくるようになるけど、その状態でこちらから読み出しコマンドを出したり、書き込みコマンドを出したりすると、それらのコマンドがうまく読みとってくれなかったり、あるいは出力が混ざったりする。
解決方法でいまいち良いのがない
考えた解決案
- AI はするが、コマンドは何度か送りつける
- 一旦 AI を止めて、コマンドを送りつけて AI を再開する
- AI を一切やめて必要な情報だけをポーリングする
AI はするが、コマンドは何度か送りつける
- 3回程度送りつけても結局失敗することがある
コマンドが成功していることが確認できるまで送り続ける方法もあるが、コマンドごとに確認方法が違うのでコーディングが大変
一旦 AI を止めて、コマンドを送りつけて AI を再開する
- まず、AI を止めるためのコマンドが認識されないことがある
- AI を止めてもすぐに止まるわけではないっぽい
AI を一切やめて必要な情報だけをポーリングする
確実に動くけど
- 情報が反映されるのが非常に遅くなる
例えば読み出しコマンドを発行すると、250ms ぐらいでようやくレスポンスがあるので (何やってんだ?) 、4個値を読み出すだけで1秒かかってしまう。
AI はそのまま
AI はそのままにするのがやはりよさそう。コマンドを送って確実に操作するよりも情報を早く受けとるほうが重要だと思う。
とはいえ、コマンドを送ったのに反映されないのもイラつくので、かなり執拗に送信確認をする必要がある。
- 書きこみするコマンドを3回送りつける
- 読みだしする
として、返答があるのを250msぐらい待って、セットできていなかったらリトライする。