Capture error messages in prun and pdrive.
This commit is contained in:
@ -52,22 +52,48 @@ publish reldrive user
|
|||||||
# \brief Posit run command for positional motors
|
# \brief Posit run command for positional motors
|
||||||
# \parameter List of motor names and position names
|
# \parameter List of motor names and position names
|
||||||
proc prun {args} {
|
proc prun {args} {
|
||||||
foreach {mot pname} $args {
|
if [ catch {
|
||||||
lappend drlist $mot [SplitReply [$mot posit2unit $pname]]
|
foreach {mot pname} $args {
|
||||||
|
lappend drlist $mot [SplitReply [$mot posit2unit $pname]]
|
||||||
|
}
|
||||||
|
clientput run {*}$drlist
|
||||||
|
capture run {*}$drlist
|
||||||
|
} message ] {
|
||||||
|
set msg_list [split $message \n]
|
||||||
|
set start [lsearch $msg_list ERROR*]
|
||||||
|
if {$start == -1} {
|
||||||
|
return $messge
|
||||||
|
} else {
|
||||||
|
return [join [lrange $msg_list $start end-1] \n]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
clientput run {*}$drlist
|
|
||||||
run {*}$drlist
|
|
||||||
}
|
}
|
||||||
publish prun user
|
publish prun user
|
||||||
|
|
||||||
# \brief Posit drive command for positional motors
|
# \brief Posit drive command for positional motors
|
||||||
# \parameter List of motor names and position names
|
# \parameter List of motor names and position names
|
||||||
proc pdrive {args} {
|
proc pdrive {args} {
|
||||||
foreach {mot pname} $args {
|
if [ catch {
|
||||||
lappend drlist $mot [SplitReply [$mot posit2unit $pname]]
|
foreach {mot pname} $args {
|
||||||
|
lappend drlist $mot [SplitReply [$mot posit2unit $pname]]
|
||||||
|
}
|
||||||
|
clientput drive {*}$drlist
|
||||||
|
capture drive {*}$drlist
|
||||||
|
} message ] {
|
||||||
|
set msg_list [split $message \n]
|
||||||
|
set start [lsearch $msg_list ERROR*]
|
||||||
|
if {$start == -1} {
|
||||||
|
return $messge
|
||||||
|
} else {
|
||||||
|
return [join [lrange $msg_list $start end-1] \n]
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
foreach {mot pname} $args {
|
||||||
|
lappend ret New $mot position: $pname
|
||||||
|
}
|
||||||
|
lappend ret Driving finished successfully
|
||||||
|
return $ret
|
||||||
}
|
}
|
||||||
clientput drive {*}$drlist
|
|
||||||
drive {*}$drlist
|
|
||||||
}
|
}
|
||||||
publish pdrive user
|
publish pdrive user
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user