Pull back Platypus Command changes
This commit is contained in:
@ -87,7 +87,12 @@ proc ::exp_mode::omega_2theta { arg1 arg2 {s1vg 0} {s2vg 0} {s3vg 0} {s4vg 0}} {
|
||||
if {![string is double $s1vg] || ![string is double $s2vg] || ![string is double $s3vg] || ![string is double $s4vg]} {
|
||||
return -code error "ERROR: all the slit openings need to be numbers"
|
||||
}
|
||||
drive ss1u [expr 0.5 * $s1vg] ss1d [expr -0.5 * $s1vg] ss2u [expr 0.5 * $s2vg] ss2d [expr -0.5 * $s2vg] ss3u [expr 0.5 * $s3vg] ss3d [expr -0.5 * $s3vg] ss4u [expr 0.5 * $s4vg] ss4d [expr -0.5*$s4vg]
|
||||
# drive ss1u [expr 0.5 * $s1vg] ss1d [expr -0.5 * $s1vg] ss2u [expr 0.5 * $s2vg] ss2d [expr -0.5 * $s2vg] ss3u [expr 0.5 * $s3vg] ss3d [expr -0.5 * $s3vg] ss4u [expr 0.5 * $s4vg] ss4d [expr -0.5*$s4vg]
|
||||
|
||||
drive ss1u [expr 0.5 * $s1vg] ss1d [expr -0.5 * $s1vg] ss2d [expr -0.5 * $s2vg] ss3u [expr 0.5 * $s3vg] ss4d [expr -0.5*$s4vg]
|
||||
|
||||
drive ss2u [expr 0.5 * $s2vg] ss3d [expr -0.5 * $s3vg] ss4u [expr 0.5 * $s4vg]
|
||||
|
||||
statemon stop om2th
|
||||
return -code ok
|
||||
}
|
||||
@ -102,7 +107,10 @@ proc ::exp_mode::set_guide_element { arg } {
|
||||
global ::exp_mode::c1ht_pos
|
||||
global ::exp_mode::valid_modes
|
||||
|
||||
drive ss1u 0 ss1d 0 ss2u 0 ss2d 0 ss3u 0 ss3d 0 ss4u 0 ss4d 0
|
||||
# drive ss1u 0 ss1d 0 ss2u 0 ss2d 0 ss3u 0 ss3d 0 ss4u 0 ss4d 0
|
||||
drive ss1u 0 ss1d 0 ss2d 0 ss3u 0 ss4d 0
|
||||
drive ss2u 0 ss3d 0 ss4u 0
|
||||
|
||||
if {[lsearch $::exp_mode::valid_modes $arg] == -1} {
|
||||
Clientput "Mode is: $::exp_mode::valid_modes - (polarisation, polarisation and analysis, mt, focussing, DB, single)"
|
||||
return -code error "Mode is: $::exp_mode::valid_modes - (polarisation,polarisation and analysis, mt, focussing, DB, single)"
|
||||
@ -145,9 +153,14 @@ proc ::exp_mode::set_omega { arg } {
|
||||
set h1 [expr -1. * $d1 * tan($argrad)]
|
||||
set h2 [expr -1. * $d2 * tan($argrad)]
|
||||
|
||||
if {[catch {checkMotionAndDrive st3vt $h1} errMsg]} {return -code error $errMsg}
|
||||
if {[catch {isszst4vtsafe sz $h2} errMsg]} {return -code error $errMsg}
|
||||
if {[catch {checkMotionAndDrive sz $h2} errMsg]} {return -code error $errMsg}
|
||||
if { [catch {
|
||||
checkMotion st3vt $h1
|
||||
checkMotion sz $h2
|
||||
} errMsg ] } {
|
||||
return -code error $errMsg
|
||||
}
|
||||
drive st3vt $h1 sz $h2
|
||||
}
|
||||
DB { ;#checked ARJN on 081231
|
||||
set temp [deg2rad 2.4]
|
||||
@ -161,15 +174,21 @@ proc ::exp_mode::set_omega { arg } {
|
||||
|
||||
set offset [expr 599.868*sin($temp)]
|
||||
set arg 4.8 ;#fixed angle
|
||||
set argrad [deg2rad $arg]
|
||||
|
||||
set d1 [expr [SplitReply [slit3_distance]] - [SplitReply [guide2_distance]]]
|
||||
set d2 [expr [SplitReply [sample_distance]] - [SplitReply [guide2_distance]]]
|
||||
set h1 [expr -1. * $d1 * tan($argrad) - $offset]
|
||||
set h2 [expr -1. * $d2 * tan($argrad) - $offset]
|
||||
|
||||
if { [catch {checkMotionAndDrive st3vt $h1} errMsg]} {return -code error $errMsg}
|
||||
if { [catch {isszst4vtsafe sz $h2} errMsg]} {return -code error $errMsg}
|
||||
if { [catch {checkMotionAndDrive sz $h2} errMsg]} {return -code error $errMsg}
|
||||
if { [catch {
|
||||
checkMotion st3vt $h1
|
||||
checkMotion sz $h2
|
||||
} errMsg ] } {
|
||||
return -code error $errMsg
|
||||
}
|
||||
drive st3vt $h1 sz $h2
|
||||
}
|
||||
FOC {
|
||||
if { [catch {
|
||||
@ -250,8 +269,13 @@ proc ::exp_mode::set_two_theta { arg } {
|
||||
set c [expr $d3 / cos($argrad-$omegarad)]
|
||||
set h4 [expr sqrt(pow($b,2) + pow($c,2) - 2*$b*$c*cos($argrad))]
|
||||
if { [catch {isszst4vtsafe st4vt [expr $h2 + $h1]} errMsg]} {return -code error $errMsg}
|
||||
if { [catch {checkMotionAndDrive st4vt [expr $h2 + $h1]} errMsg]} {return -code error $errMsg}
|
||||
if { [catch {checkMotionAndDrive dz [expr $h3 + $h4]} errMsg]} {return -code error $errMsg}
|
||||
if { [catch {
|
||||
checkMotion st4vt [expr $h2 + $h1]
|
||||
checkMotion dz [expr $h3 + $h4]
|
||||
} errMsg ] } {
|
||||
return -code error $errMsg
|
||||
}
|
||||
drive st4vt [expr $h2 + $h1] dz [expr $h3 + $h4]
|
||||
}
|
||||
DB { ;#checked ARJN 081231
|
||||
set temp [deg2rad 2.4]
|
||||
@ -274,8 +298,13 @@ proc ::exp_mode::set_two_theta { arg } {
|
||||
set c [expr $d3 / cos($argrad-$omegarad)]
|
||||
set h4 [expr sqrt(pow($b,2) + pow($c,2) - 2*$b*$c*cos($argrad))]
|
||||
if { [catch {isszst4vtsafe st4vt [expr $h2 + $h1]} errMsg]} {return -code error $errMsg}
|
||||
if { [catch {checkMotionAndDrive st4vt [expr $h2 + $h1]} errMsg]} {return -code error $errMsg}
|
||||
if { [catch {checkMotionAndDrive dz [expr $h3 + $h4]} errMsg]} {return -code error $errMsg}
|
||||
if { [catch {
|
||||
checkMotion st4vt [expr $h2 + $h1]
|
||||
checkMotion dz [expr $h3 + $h4]
|
||||
} errMsg ] } {
|
||||
return -code error $errMsg
|
||||
}
|
||||
drive st4vt [expr $h2 + $h1] dz [expr $h3 + $h4]
|
||||
}
|
||||
FOC {
|
||||
set d1 [SplitReply [dy]]
|
||||
|
Reference in New Issue
Block a user