proc receiver {switch cmd CmdOutPutEnd WaitTime} {
global RecvBuf savefile debugprintcom debugcheckV
puts -nonewline $switch $cmd\r
set TimeStart [ clock seconds ]
#wait for 100 mili seconds
set TimeEnd [ clock seconds ]
set TimeSpend [ expr $TimeEnd - $TimeStart ]
if { $TimeSpend > $WaitTime } \
if {[ regexp
"Unknown command" $RecvBuf
] > 0} {
puts "discover Unknown command"
#get all output from the active switch
set TempStr [ read $switch ]
set RecvBufList [ concat $RecvBufList [ split $TempStr {} ] ]
if { [string length $TempStr] > 0 } {
foreach ch [ split
$TempStr {}] {
#append out put chars to ComPort Recv Buffer
\x0D
{ append RecvBuf "\n" }
default { append RecvBuf $ch }
#find the end output info string for the command
if { [ regexp
$CmdOutPutEnd $RecvBuf
] > 0 }
\
if {[ regexp
"Unknown command" $RecvBuf
] > 0} {
puts "discover Unknown command"
#The last line is ---More---
if { [ regexp
"More--" $RecvBuf
] > 0 }
\
set RecvBufList [split $RecvBuf "\n"]
foreach ch $RecvBufList {
if { $ch != " --More-- " } {
|