1
0
Fork 0
BCG101/expect/tss8-basic

54 lines
1.2 KiB
Plaintext

#!/usr/bin/expect --
# tss8-basic -- start a BASIC session on tss8 by uploading a file
# Copyright (c) 2021-2024 Renaud Fivet
if { $argv == "" } exit
if [catch { set file [open $argv "r"]}] { puts $input ; exit }
close $file
spawn telnet 192.168.1.6 4000
#log_file session.log
set timeout 10
expect "TTIX device, line " { sleep 1 ; send "\002s\r" }
while 1 {
expect {
"LOGIN PLEASE\r\n." { send "login 2003 tss8\r" ; break }
"\r\n." { send "KJ\r" }
timeout { send "\002s\r" }
}
}
expect "\r\n\r\n."
send "r basic\r"
expect "NEW OR OLD--" { send "new\r"}
expect "NEW PROGRAM NAME--" { send "upload\r"}
expect "READY\r\n\r\n" {
set file [open $argv]
while 1 {
if {[gets $file line] == -1} break
set line [string trimleft $line]
set line [string toupper $line]
set len [string length $line]
while {$len > 40} {
set outs [string range $line 0 39]
set line [string range $line 40 end]
incr len -40
send -- $outs
expect -ex $outs
}
if {$len > 0} {
send -- $line
expect -ex $line
}
send "\r"
expect "\r\r\n"
}
close $file
}
puts ">>>"
interact