/dev/ttyUSB0 経由で Forth ソース ファイルをマイクロコントローラーにアップロードするためのスクリプトを書いています。
私の目的は、「ok」プロンプトを緑色、「再定義」を黄色に色付けし、「見つかりません」などのエラーで終了することです。
私が抱えている問題は、文字の送信が速すぎることです。次のように遅延を使用できることを知っています。
set send_slow {1 .1}
しかし、これは最適ではありません。okプロンプトのような追加のフィードバックを許可しながら、文字がエコーバックされたことを確認するオプションはありますか? これが私のスクリプトの始まりです:
set dev [lindex $argv 0]
set portId [open $dev RDWR]
spawn -open $portId -noecho
set send_slow {1 .1}
for {set i 1} {$i < $argc} {incr i 1} {
set filename [lindex $argv $i]
set fd [open $filename r]
set forth_src [read $fd]
puts "Uploading $filename"
set lines [split $forth_src "\n"]
send -s "\r\n\r\n"
set lines [split $forth_src "\n"]
foreach line $lines {
send -s $line
send -s "\r\n"
expect {
"ok." { }
"not found." { exit }
timeout { exit }
}
}
}