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]} {
|
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"
|
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
|
statemon stop om2th
|
||||||
return -code ok
|
return -code ok
|
||||||
}
|
}
|
||||||
@ -102,7 +107,10 @@ proc ::exp_mode::set_guide_element { arg } {
|
|||||||
global ::exp_mode::c1ht_pos
|
global ::exp_mode::c1ht_pos
|
||||||
global ::exp_mode::valid_modes
|
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} {
|
if {[lsearch $::exp_mode::valid_modes $arg] == -1} {
|
||||||
Clientput "Mode is: $::exp_mode::valid_modes - (polarisation, polarisation and analysis, mt, focussing, DB, single)"
|
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)"
|
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 h1 [expr -1. * $d1 * tan($argrad)]
|
||||||
set h2 [expr -1. * $d2 * 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 {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
|
DB { ;#checked ARJN on 081231
|
||||||
set temp [deg2rad 2.4]
|
set temp [deg2rad 2.4]
|
||||||
@ -161,15 +174,21 @@ proc ::exp_mode::set_omega { arg } {
|
|||||||
|
|
||||||
set offset [expr 599.868*sin($temp)]
|
set offset [expr 599.868*sin($temp)]
|
||||||
set arg 4.8 ;#fixed angle
|
set arg 4.8 ;#fixed angle
|
||||||
|
set argrad [deg2rad $arg]
|
||||||
|
|
||||||
set d1 [expr [SplitReply [slit3_distance]] - [SplitReply [guide2_distance]]]
|
set d1 [expr [SplitReply [slit3_distance]] - [SplitReply [guide2_distance]]]
|
||||||
set d2 [expr [SplitReply [sample_distance]] - [SplitReply [guide2_distance]]]
|
set d2 [expr [SplitReply [sample_distance]] - [SplitReply [guide2_distance]]]
|
||||||
set h1 [expr -1. * $d1 * tan($argrad) - $offset]
|
set h1 [expr -1. * $d1 * tan($argrad) - $offset]
|
||||||
set h2 [expr -1. * $d2 * 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 {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 {
|
FOC {
|
||||||
if { [catch {
|
if { [catch {
|
||||||
@ -250,8 +269,13 @@ proc ::exp_mode::set_two_theta { arg } {
|
|||||||
set c [expr $d3 / cos($argrad-$omegarad)]
|
set c [expr $d3 / cos($argrad-$omegarad)]
|
||||||
set h4 [expr sqrt(pow($b,2) + pow($c,2) - 2*$b*$c*cos($argrad))]
|
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 {isszst4vtsafe st4vt [expr $h2 + $h1]} errMsg]} {return -code error $errMsg}
|
||||||
if { [catch {checkMotionAndDrive st4vt [expr $h2 + $h1]} errMsg]} {return -code error $errMsg}
|
if { [catch {
|
||||||
if { [catch {checkMotionAndDrive dz [expr $h3 + $h4]} errMsg]} {return -code error $errMsg}
|
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
|
DB { ;#checked ARJN 081231
|
||||||
set temp [deg2rad 2.4]
|
set temp [deg2rad 2.4]
|
||||||
@ -274,8 +298,13 @@ proc ::exp_mode::set_two_theta { arg } {
|
|||||||
set c [expr $d3 / cos($argrad-$omegarad)]
|
set c [expr $d3 / cos($argrad-$omegarad)]
|
||||||
set h4 [expr sqrt(pow($b,2) + pow($c,2) - 2*$b*$c*cos($argrad))]
|
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 {isszst4vtsafe st4vt [expr $h2 + $h1]} errMsg]} {return -code error $errMsg}
|
||||||
if { [catch {checkMotionAndDrive st4vt [expr $h2 + $h1]} errMsg]} {return -code error $errMsg}
|
if { [catch {
|
||||||
if { [catch {checkMotionAndDrive dz [expr $h3 + $h4]} errMsg]} {return -code error $errMsg}
|
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 {
|
FOC {
|
||||||
set d1 [SplitReply [dy]]
|
set d1 [SplitReply [dy]]
|
||||||
|
Reference in New Issue
Block a user