2026年10月20日火曜日

Tracker3 (OT3m)の制御で、ハマった話

PCからTracker3 OT3mを制御しようとしたのですが、うまくいかず、解決まで半日かかりました。結論から言うと原因は、コマンドを速く送りすぎたからの模様です。

Agent Systemsが提供しているOTWINCFGという設定ツールを使うと、いろいろな設定が問題なくできます。しかし、自作のPythonプログラムから設定しようとすると、うまく動作するコマンドもあれば、動作しないコマンドもある。。。。。特に、今回、使用するUSBKISSコマンドが動かない。試しに、TeratermからUSBKISS ONとマニュアルタイプすると動作する。。。

ネットで有用な情報がないか、いろいろ見ていたら、ボーレートが速すぎるとマイコンが処理しきれないという書き込みがあり(Tracker3とは全然関係ないマイコンの話)、コマンドを送り込むスピードの問題なのか、、、そこで、一文字送るごとに、若干のWaitを入れてみたところ、動作するようになりました。


"""Writes data to the serial port one byte at a time with a delay."""
def writeSlow(self, data, delay=0.01):
    for byte in data:
        self.ser.write(bytes([byte]))
        self.ser.flush()  # Ensure the byte is sent immediately
        time.sleep(delay)



0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

Tracker3 (OT3m)の制御で、ハマった話

PCから Tracker3 OT3m を制御しようとしたのですが、うまくいかず、解決まで半日かかりました。結論から言うと原因は、コマンドを速く送りすぎたからの模様です。 Agent Systemsが提供している OTWINCFGという設定ツール を使うと、いろいろな設定が問題なく...