Don't MakeAsyncQueue when using simulated driver.

Add metedata to slit gap and offset motors for new hdb and nexus code.

r2123 | ffr | 2007-08-16 16:37:45 +1000 (Thu, 16 Aug 2007) | 3 lines
This commit is contained in:
Ferdi Franceschini
2007-08-16 16:37:45 +10:00
committed by Douglas Clowes
parent 307e29e60e
commit 950037bfc3
2 changed files with 76 additions and 34 deletions

View File

@@ -1,17 +1,12 @@
# $Revision: 1.15 $
# $Date: 2007-05-15 03:15:00 $
# $Revision: 1.16 $
# $Date: 2007-08-16 06:36:59 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: dcl $
# Last revision by: $Author: ffr $
# START MOTOR CONFIGURATION
set animal wombat
set sim_mode [SplitReply [motor_simulation]]
if {$sim_mode == "true"} {
set motor_driver_type asim
} else {
set motor_driver_type DMC2280
}
# Setup addresses of Galil DMC2280 controllers.
set dmc2280_controller1(host) mc1-$animal
@@ -26,10 +21,15 @@ set dmc2280_controller3(port) pmc3-$animal
set dmc2280_controller4(host) mc4-$animal
set dmc2280_controller4(port) pmc4-$animal
MakeAsyncQueue mc1 DMC2280 $dmc2280_controller1(host) $dmc2280_controller1(port)
MakeAsyncQueue mc2 DMC2280 $dmc2280_controller2(host) $dmc2280_controller2(port)
MakeAsyncQueue mc3 DMC2280 $dmc2280_controller3(host) $dmc2280_controller3(port)
MakeAsyncQueue mc4 DMC2280 $dmc2280_controller4(host) $dmc2280_controller4(port)
if {$sim_mode == "true"} {
set motor_driver_type asim
} else {
set motor_driver_type DMC2280
MakeAsyncQueue mc1 DMC2280 $dmc2280_controller1(host) $dmc2280_controller1(port)
MakeAsyncQueue mc2 DMC2280 $dmc2280_controller2(host) $dmc2280_controller2(port)
MakeAsyncQueue mc3 DMC2280 $dmc2280_controller3(host) $dmc2280_controller3(port)
MakeAsyncQueue mc4 DMC2280 $dmc2280_controller4(host) $dmc2280_controller4(port)
}
#Measured absolute encoder reading at home position
set mphi_Home 7613516
@@ -95,6 +95,10 @@ set ss2l_HiRange [expr $hSlitHome + $hSlitLoRange]
set ss2u_HiRange [expr $vSlitHome + $vSlitHiRange]
set ss2d_HiRange [expr $vSlitHome + $vSlitLoRange]
set slit1VGroup first/vertical
set slit1HGroup first/horizontal
set slit2VGroup second/vertical
set slit2HGroup second/horizontal
# set movecount high to reduce the frequency of
# hnotify messages to a reasonable level
set move_count 10
@@ -614,6 +618,9 @@ publish mthGet user
MakeConfigurableMotor mth
mth readscript mthGet
mth drivescript mthSet
sicslist setatt mth klass crystal
sicslist setatt mth units degrees
sicslist setatt mth long_name half_takeoff_angle
proc sthGet {} { return [expr [SplitReply [stth]]/2.0]}
proc sthSet {val} { return "stth=[SplitReply [stth]]"}
@@ -622,6 +629,9 @@ publish sthSet user
MakeConfigurableMotor sth
sth readscript sthGet
sth drivescript sthSet
sicslist setatt sth klass sample
sicslist setatt sth units degrees
sicslist setatt sth long_name half_azimuthal_angle
proc get_gap_width {m1 m2} {
return [expr [SplitReply [$m1]] - [SplitReply [$m2]]]
@@ -652,7 +662,7 @@ proc set_gap_offset {m1 m2 val} {
}
# make_gap_motors virt_width_motor virt_offset_motor real_high_motor real_low_motor
proc make_gap_motors {vm1 vm2 m1 m2} {
proc make_gap_motors {vm1 vm1_name vm2 vm2_name m1 m2 aunits agroup} {
eval "proc get_$vm1 {} { get_gap_width $m1 $m2 }"
set v {$var}
eval "proc set_$vm1 {var} { set_gap_width $m1 $m2 $v }"
@@ -670,12 +680,23 @@ publish set_$vm1 user
$vm2 drivescript set_$vm2
publish get_$vm2 user
publish set_$vm2 user
sicslist setatt $vm1 units $aunits
sicslist setatt $vm1 klass aperture
sicslist setatt $vm1 long_name $vm1_name
sicslist setatt $vm1 group $agroup
sicslist setatt $vm2 units $aunits
sicslist setatt $vm2 klass aperture
sicslist setatt $vm2 long_name $vm2_name
sicslist setatt $vm2 group $agroup
}
make_gap_motors ss1vg ss1vo ss1u ss1d
make_gap_motors ss1hg ss1ho ss1r ss1l
make_gap_motors ss1vg gap ss1vo offset ss1u ss1d mm $slit1VGroup
make_gap_motors ss1hg gap ss1ho offset ss1r ss1l mm $slit1HGroup
make_gap_motors ss2vg ss2vo ss2u ss2d
make_gap_motors ss2hg ss2ho ss2r ss2l
make_gap_motors ss2vg gap ss2vo offset ss2u ss2d mm $slit2VGroup
make_gap_motors ss2hg gap ss2ho offset ss2r ss2l mm $slit2HGroup
proc motor_set_sobj_attributes {} {
}
# END MOTOR CONFIGURATION

View File

@@ -1,17 +1,12 @@
# $Revision: 1.18 $
# $Date: 2007-07-26 02:22:57 $
# $Revision: 1.19 $
# $Date: 2007-08-16 06:37:45 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: dcl $
# Last revision by: $Author: ffr $
# START MOTOR CONFIGURATION
set animal echidna
set sim_mode [SplitReply [motor_simulation]]
if {$sim_mode == "true"} {
set motor_driver_type asim
} else {
set motor_driver_type DMC2280
}
# Setup addresses of Galil DMC2280 controllers.
set dmc2280_controller1(host) mc1-$animal
@@ -26,10 +21,15 @@ set dmc2280_controller3(port) pmc3-$animal
set dmc2280_controller4(host) mc4-$animal
set dmc2280_controller4(port) pmc4-$animal
MakeAsyncQueue mc1 DMC2280 $dmc2280_controller1(host) $dmc2280_controller1(port)
MakeAsyncQueue mc2 DMC2280 $dmc2280_controller2(host) $dmc2280_controller2(port)
MakeAsyncQueue mc3 DMC2280 $dmc2280_controller3(host) $dmc2280_controller3(port)
MakeAsyncQueue mc4 DMC2280 $dmc2280_controller4(host) $dmc2280_controller4(port)
if {$sim_mode == "true"} {
set motor_driver_type asim
} else {
set motor_driver_type DMC2280
MakeAsyncQueue mc1 DMC2280 $dmc2280_controller1(host) $dmc2280_controller1(port)
MakeAsyncQueue mc2 DMC2280 $dmc2280_controller2(host) $dmc2280_controller2(port)
MakeAsyncQueue mc3 DMC2280 $dmc2280_controller3(host) $dmc2280_controller3(port)
MakeAsyncQueue mc4 DMC2280 $dmc2280_controller4(host) $dmc2280_controller4(port)
}
#Measured absolute encoder reading at home position
set mphi_Home 7413209
@@ -96,6 +96,10 @@ set ss2l_HiRange [expr $hSlitHome + $hSlitLoRange]
set ss2u_HiRange [expr $vSlitHome + $vSlitHiRange]
set ss2d_HiRange [expr $vSlitHome + $vSlitLoRange]
set slit1VGroup first/vertical
set slit1HGroup first/horizontal
set slit2VGroup second/vertical
set slit2HGroup second/horizontal
# set movecount high to reduce the frequency of
# hnotify messages to a reasonable level
set move_count 10
@@ -639,6 +643,9 @@ publish mthGet user
MakeConfigurableMotor mth
mth readscript mthGet
mth drivescript mthSet
sicslist setatt mth klass crystal
sicslist setatt mth units degrees
sicslist setatt mth long_name half_takeoff_angle
proc sthGet {} { return [expr [SplitReply [stth]]/2.0]}
proc sthSet {val} { return "stth=[SplitReply [stth]]"}
@@ -647,6 +654,9 @@ publish sthSet user
MakeConfigurableMotor sth
sth readscript sthGet
sth drivescript sthSet
sicslist setatt sth klass sample
sicslist setatt sth units degrees
sicslist setatt sth long_name half_azimuthal_angle
proc get_gap_width {m1 m2} {
return [expr [SplitReply [$m1]] - [SplitReply [$m2]]]
@@ -677,7 +687,7 @@ proc set_gap_offset {m1 m2 val} {
}
# make_gap_motors virt_width_motor virt_offset_motor real_high_motor real_low_motor
proc make_gap_motors {vm1 vm2 m1 m2} {
proc make_gap_motors {vm1 vm1_name vm2 vm2_name m1 m2 aunits agroup} {
eval "proc get_$vm1 {} { get_gap_width $m1 $m2 }"
set v {$var}
eval "proc set_$vm1 {var} { set_gap_width $m1 $m2 $v }"
@@ -695,12 +705,23 @@ publish set_$vm1 user
$vm2 drivescript set_$vm2
publish get_$vm2 user
publish set_$vm2 user
sicslist setatt $vm1 units $aunits
sicslist setatt $vm1 klass aperture
sicslist setatt $vm1 long_name $vm1_name
sicslist setatt $vm1 group $agroup
sicslist setatt $vm2 units $aunits
sicslist setatt $vm2 klass aperture
sicslist setatt $vm2 long_name $vm2_name
sicslist setatt $vm2 group $agroup
}
make_gap_motors ss1vg ss1vo ss1u ss1d
make_gap_motors ss1hg ss1ho ss1r ss1l
make_gap_motors ss1vg gap ss1vo offset ss1u ss1d mm $slit1VGroup
make_gap_motors ss1hg gap ss1ho offset ss1r ss1l mm $slit1HGroup
make_gap_motors ss2vg ss2vo ss2u ss2d
make_gap_motors ss2hg ss2ho ss2r ss2l
make_gap_motors ss2vg gap ss2vo offset ss2u ss2d mm $slit2VGroup
make_gap_motors ss2hg gap ss2ho offset ss2r ss2l mm $slit2HGroup
proc motor_set_sobj_attributes {} {
}
# END MOTOR CONFIGURATION