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
|
datatype @none
|
||||||
property {data true control true nxsave false klass NXinstrument type instrument}
|
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 {
|
instrument/aperture {
|
||||||
privilege spy
|
privilege spy
|
||||||
sobj {@any aperture}
|
sobj {@any aperture}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ set boolean {true false}
|
|||||||
#}
|
#}
|
||||||
|
|
||||||
# SICS OBJECTS MUST PROVIDE THE FOLLOWING INFORMATION
|
# 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}
|
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.
|
# 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.
|
# 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
|
BeamstopCoordScheme coordinate_scheme
|
||||||
CollCoordScheme 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 Cartesian
|
||||||
$var lock
|
$var lock
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@ foreach {var nxname priv} {
|
|||||||
SApShape shape readonly
|
SApShape shape readonly
|
||||||
BSShape shape user
|
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
|
# The velocity selector position is used as the reference for other instrument
|
||||||
@@ -40,7 +40,7 @@ foreach {var nxname units} {
|
|||||||
EndFacePosYmm y mm
|
EndFacePosYmm y mm
|
||||||
RotApPosYmm 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} {
|
if {$units != 1} {
|
||||||
sicslist setatt $var units $units
|
sicslist setatt $var units $units
|
||||||
}
|
}
|
||||||
@@ -53,6 +53,7 @@ foreach {var nxname units priv} {
|
|||||||
LambdaResFWHM% wavelength_spread 1 user
|
LambdaResFWHM% wavelength_spread 1 user
|
||||||
VSdeg twist degrees user
|
VSdeg twist degrees user
|
||||||
VSrpm rotation_speed rpm user
|
VSrpm rotation_speed rpm user
|
||||||
|
AttFactor attenuation_factor 1 user
|
||||||
AttRotDeg AttRotDeg degrees readonly
|
AttRotDeg AttRotDeg degrees readonly
|
||||||
PleXmm x mm user
|
PleXmm x mm user
|
||||||
RotApXmm x mm user
|
RotApXmm x mm user
|
||||||
@@ -77,7 +78,7 @@ foreach {var nxname units priv} {
|
|||||||
BSXmm x mm user
|
BSXmm x mm user
|
||||||
BSZmm z 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} {
|
if {$units != 1} {
|
||||||
sicslist setatt $var units $units
|
sicslist setatt $var units $units
|
||||||
}
|
}
|
||||||
@@ -114,7 +115,7 @@ foreach {pname motor hdbname units} {
|
|||||||
return [sicsmsgfmt [SplitReply [$motor]]]
|
return [sicsmsgfmt [SplitReply [$motor]]]
|
||||||
}]
|
}]
|
||||||
sicslist setatt $pname units $units
|
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
|
# 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
|
# @brief List undefined parameters
|
||||||
proc missingparams {} {
|
proc ::parameters::missingparams {} {
|
||||||
set paramlist {
|
variable 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
|
|
||||||
}
|
|
||||||
set num 0
|
set num 0
|
||||||
foreach param $paramlist {
|
foreach param $paramlist {
|
||||||
if {[sicslist match $param] == " "} {
|
if {[sicslist match $param] == " "} {
|
||||||
|
|||||||
Reference in New Issue
Block a user