Provide a parameters and parameters/derived_parameters section as a one stop shop for all your instrument parameter needs.
r2625 | ffr | 2008-06-12 12:42:17 +1000 (Thu, 12 Jun 2008) | 2 lines
This commit is contained in:
committed by
Douglas Clowes
parent
3a40ea5693
commit
177d5f3ed6
@@ -32,6 +32,18 @@ set instrument_dictionary [subst {
|
||||
datatype @none
|
||||
property {data true control true nxsave false klass NXinstrument type instrument}
|
||||
}
|
||||
instrument/parameters {
|
||||
privilege spy
|
||||
sobj {@any parameter}
|
||||
datatype @none
|
||||
property {data false control true nxsave false klass @none type part}
|
||||
}
|
||||
instrument/parameters/derived_parameters {
|
||||
privilege spy
|
||||
sobj {@any derived_parameter}
|
||||
datatype @none
|
||||
property {data false control true nxsave false klass @none type part}
|
||||
}
|
||||
instrument/aperture {
|
||||
privilege spy
|
||||
sobj {@any aperture}
|
||||
|
||||
@@ -11,7 +11,7 @@ set boolean {true false}
|
||||
#}
|
||||
|
||||
# SICS OBJECTS MUST PROVIDE THE FOLLOWING INFORMATION
|
||||
set sobj_klass_list {@none aperture attenuator collimator command crystal data detector entry environment experiment graphics instrument monitor monochromator plc sample scan sensor user}
|
||||
set sobj_klass_list {@none aperture attenuator collimator command crystal data detector entry environment experiment graphics instrument monitor monochromator parameter derived_parameter plc sample scan sensor user}
|
||||
set sobj_sicstype_list {environment_controller sicsvariable macro motor configurablevirtualmotor singlecounter histmem nxscript sicsdata scanobject}
|
||||
# Different kinds of things are added to the hdb in different ways.
|
||||
# command: This is something a client can run with hset /a/b/c start, it may have parameters and feedback.
|
||||
|
||||
@@ -10,7 +10,7 @@ foreach {var nxname} {
|
||||
BeamstopCoordScheme coordinate_scheme
|
||||
CollCoordScheme coordinate_scheme
|
||||
} {
|
||||
::utility::mkVar $var text readonly $nxname true @none false true
|
||||
::utility::mkVar $var text readonly $var true @none false true
|
||||
$var Cartesian
|
||||
$var lock
|
||||
}
|
||||
@@ -28,7 +28,7 @@ foreach {var nxname priv} {
|
||||
SApShape shape readonly
|
||||
BSShape shape user
|
||||
} {
|
||||
::utility::mkVar $var text $priv $nxname true @none true true
|
||||
::utility::mkVar $var text $priv $var true @none true true
|
||||
}
|
||||
|
||||
# The velocity selector position is used as the reference for other instrument
|
||||
@@ -40,7 +40,7 @@ foreach {var nxname units} {
|
||||
EndFacePosYmm y mm
|
||||
RotApPosYmm y mm
|
||||
} {
|
||||
::utility::mkVar $var float readonly $nxname true @none true true
|
||||
::utility::mkVar $var float readonly $var true @none true true
|
||||
if {$units != 1} {
|
||||
sicslist setatt $var units $units
|
||||
}
|
||||
@@ -53,6 +53,7 @@ foreach {var nxname units priv} {
|
||||
LambdaResFWHM% wavelength_spread 1 user
|
||||
VSdeg twist degrees user
|
||||
VSrpm rotation_speed rpm user
|
||||
AttFactor attenuation_factor 1 user
|
||||
AttRotDeg AttRotDeg degrees readonly
|
||||
PleXmm x mm user
|
||||
RotApXmm x mm user
|
||||
@@ -77,7 +78,7 @@ foreach {var nxname units priv} {
|
||||
BSXmm x mm user
|
||||
BSZmm z mm user
|
||||
} {
|
||||
::utility::mkVar $var float $priv $nxname true @none true true
|
||||
::utility::mkVar $var float $priv $var true @none true true
|
||||
if {$units != 1} {
|
||||
sicslist setatt $var units $units
|
||||
}
|
||||
@@ -114,7 +115,7 @@ foreach {pname motor hdbname units} {
|
||||
return [sicsmsgfmt [SplitReply [$motor]]]
|
||||
}]
|
||||
sicslist setatt $pname units $units
|
||||
sicslist setatt $pname long_name $hdbname
|
||||
sicslist setatt $pname long_name $pname
|
||||
}
|
||||
|
||||
################################################################################
|
||||
@@ -202,74 +203,88 @@ RotApPosYmm 675
|
||||
|
||||
################################################################################
|
||||
# Check Config
|
||||
|
||||
namespace eval parameters {
|
||||
set paramlist {
|
||||
AttRotDeg
|
||||
BS1
|
||||
BS2
|
||||
BS3
|
||||
BS4
|
||||
BS5
|
||||
BSPosXmm
|
||||
BSPosZmm
|
||||
BSShape
|
||||
BSXmm
|
||||
BSZmm
|
||||
C1
|
||||
C2
|
||||
C3
|
||||
C4
|
||||
C5
|
||||
C6
|
||||
C7
|
||||
C8
|
||||
C9
|
||||
DetPosXmm
|
||||
DetPosYmm
|
||||
DetPosYmm
|
||||
DetPosYOffsetmm
|
||||
EApPosYmm
|
||||
EApShape
|
||||
EApXmm
|
||||
EApYmm
|
||||
EApZmm
|
||||
EndFacePosYmm
|
||||
LambdaA
|
||||
LambdaResFWHM%
|
||||
Pent
|
||||
Plexmm
|
||||
RotApDeg
|
||||
RotApShape
|
||||
RotApXmm
|
||||
RotApZmm
|
||||
SampleAttributes
|
||||
SampleComments
|
||||
SampleName
|
||||
SampleNum
|
||||
SamplePosXmm
|
||||
SamplePosYmm
|
||||
SamplePosYmm
|
||||
SamplePosZmm
|
||||
SampleRotDeg
|
||||
SampleTiltXDeg
|
||||
SampleTiltYDeg
|
||||
SampleTitle
|
||||
SApPosXmm
|
||||
SApPosYmm
|
||||
SApPosYmm
|
||||
SApPosZmm
|
||||
SApShape
|
||||
SApXmm
|
||||
SApZmm
|
||||
VSdeg
|
||||
VSrpm
|
||||
}
|
||||
foreach p $paramlist {
|
||||
if [::utility::obj_exists $p] {
|
||||
sicslist setatt $p klass parameter
|
||||
}
|
||||
}
|
||||
set derived_paramlist {
|
||||
AttFactor
|
||||
L1mm
|
||||
L2mm
|
||||
}
|
||||
foreach p $derived_paramlist {
|
||||
if [::utility::obj_exists $p] {
|
||||
sicslist setatt $p klass derived_parameter
|
||||
}
|
||||
}
|
||||
}
|
||||
##
|
||||
# @brief List undefined parameters
|
||||
proc missingparams {} {
|
||||
set paramlist {
|
||||
AttFactor
|
||||
AttRotDeg
|
||||
BS1
|
||||
BS2
|
||||
BS3
|
||||
BS4
|
||||
BS5
|
||||
BSPosXmm
|
||||
BSPosZmm
|
||||
BSShape
|
||||
BSXmm
|
||||
BSZmm
|
||||
C1
|
||||
C2
|
||||
C3
|
||||
C4
|
||||
C5
|
||||
C6
|
||||
C7
|
||||
C8
|
||||
C9
|
||||
DetPosXmm
|
||||
DetPosYmm
|
||||
DetPosYmm
|
||||
DetPosYOffsetmm
|
||||
EApPosYmm
|
||||
EApShape
|
||||
EApXmm
|
||||
EApYmm
|
||||
EApZmm
|
||||
EndFacePosYmm
|
||||
L1mm
|
||||
L2mm
|
||||
LambdaA
|
||||
LambdaResFWHM%
|
||||
Pent
|
||||
Plexmm
|
||||
RotApDeg
|
||||
RotApShape
|
||||
RotApXmm
|
||||
RotApZmm
|
||||
SampleAttributes
|
||||
SampleComments
|
||||
SampleName
|
||||
SampleNum
|
||||
SamplePosXmm
|
||||
SamplePosYmm
|
||||
SamplePosYmm
|
||||
SamplePosZmm
|
||||
SampleRotDeg
|
||||
SampleTiltXDeg
|
||||
SampleTiltYDeg
|
||||
SampleTitle
|
||||
SApPosXmm
|
||||
SApPosYmm
|
||||
SApPosYmm
|
||||
SApPosZmm
|
||||
SApShape
|
||||
SApXmm
|
||||
SApZmm
|
||||
VSdeg
|
||||
VSrpm
|
||||
}
|
||||
proc ::parameters::missingparams {} {
|
||||
variable paramlist
|
||||
set num 0
|
||||
foreach param $paramlist {
|
||||
if {[sicslist match $param] == " "} {
|
||||
|
||||
Reference in New Issue
Block a user