From b88b6f8a0585ffa9bce27e8e0f70224e938b347f Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Tue, 20 Feb 2007 08:15:00 +1100 Subject: [PATCH] Modularise to support common info between hrpd and hipd. r1521 | ffr | 2007-02-20 08:15:00 +1100 (Tue, 20 Feb 2007) | 2 lines --- .../common_hipadaba_configuration.tcl | 63 ++++++++++++++++++ .../hipadaba/hipadaba_configuration.tcl | 64 +------------------ .../hrpd/config/hipadaba/hpaths.tcl | 2 +- 3 files changed, 65 insertions(+), 64 deletions(-) create mode 100644 site_ansto/instrument/hrpd/config/hipadaba/common_hipadaba_configuration.tcl diff --git a/site_ansto/instrument/hrpd/config/hipadaba/common_hipadaba_configuration.tcl b/site_ansto/instrument/hrpd/config/hipadaba/common_hipadaba_configuration.tcl new file mode 100644 index 00000000..b0160aa2 --- /dev/null +++ b/site_ansto/instrument/hrpd/config/hipadaba/common_hipadaba_configuration.tcl @@ -0,0 +1,63 @@ +# Defines hashes which map SICS device object names to hipadaba paths +InstallHdb +hmake /graphics spy none +hsetprop /graphics type graphset +hmake /commands spy none +hsetprop /commands type commandset + +#TODO change this to hparts.tcl +source $cfPath(hipadaba)/hpaths.tcl +set instrument [string tolower [SplitReply [Instrument]] ] +hmake /$instrument spy none +hsetprop /$instrument type instrument + +# Generate hipadaba nodes for the paths in the hpaths file +foreach hp $hpaths { + hmake /$instrument/$hp spy none; + hsetprop /$instrument/$hp type part; +} + +#--- admin +hattach /$instrument title title +hattach /$instrument/experiment sample description +hmake /$instrument/user spy none +hsetprop /$instrument/user type part +hattach /$instrument/user user name +hattach /$instrument/user email email +hattach /$instrument/user phone phone + +#--- Motors +foreach {obj name part} $motor_hpath { + hattach /$instrument/$part $obj $name + #TODO Only ignore node deletion errors for simulated motors + if [ catch {hdel /$instrument/$part/$name/axis} ] {} + if [ catch {hdel /$instrument/$part/$name/units} ] {} +} + +#--- Configurable Virtual Motors +foreach {obj name part master_obj} $cvirtmotor_hpath { + set path /$instrument/$part +# hattach /$instrument/$part $obj $name + hattach $path $obj $name + hchain $path/$name $path/$master_obj +} + +#------------- scan command +hsetprop /commands type part +hcommand /commands/scan hdb_hmscan +hsetprop /commands/scan type command +hsetprop /commands/scan priv user +hmake /commands/scan/scan_variable user text +hsetprop /commands/scan/scan_variable argtype drivable +hmake /commands/scan/scan_start user float +hsetprop /commands/scan/scan_start argtype float +hmake /commands/scan/scan_increment user float +hsetprop /commands/scan/scan_increment argtype float +hmake /commands/scan/NP user int +hsetprop /commands/scan/NP argtype int +hmake /commands/scan/mode user text +hsetprop /commands/scan/mode argtype text +hsetprop /commands/scan/mode values monitor,timer +hmake /commands/scan/preset user float +hsetprop /commands/scan/preset argtype float + diff --git a/site_ansto/instrument/hrpd/config/hipadaba/hipadaba_configuration.tcl b/site_ansto/instrument/hrpd/config/hipadaba/hipadaba_configuration.tcl index 05ed50f6..eae0fc03 100644 --- a/site_ansto/instrument/hrpd/config/hipadaba/hipadaba_configuration.tcl +++ b/site_ansto/instrument/hrpd/config/hipadaba/hipadaba_configuration.tcl @@ -1,63 +1 @@ -# Defines hashes which map SICS device object names to hipadaba paths -InstallHdb -hmake /graphics spy none -hsetprop /graphics type graphset -hmake /commands spy none -hsetprop /commands type commandset - -#TODO change this to hparts.tcl -source $cfPath(hipadaba)/hpaths.tcl -set instrument echidna -hmake /$instrument spy none -hsetprop /$instrument type instrument - -# Generate hipadaba nodes for the paths in the hpaths file -foreach hp $hpaths { - hmake /$instrument/$hp spy none; - hsetprop /$instrument/$hp type part; -} - -#--- admin -hattach /$instrument title title -hattach /$instrument/experiment sample description -hmake /$instrument/user spy none -hsetprop /$instrument/user type part -hattach /$instrument/user user name -hattach /$instrument/user email email -hattach /$instrument/user phone phone - -#--- Motors -foreach {obj name part} $motor_hpath { - hattach /$instrument/$part $obj $name - #TODO Only ignore node deletion errors for simulated motors - if [ catch {hdel /$instrument/$part/$name/axis} ] {} - if [ catch {hdel /$instrument/$part/$name/units} ] {} -} - -#--- Configurable Virtual Motors -foreach {obj name part master_obj} $cvirtmotor_hpath { - set path /$instrument/$part -# hattach /$instrument/$part $obj $name - hattach $path $obj $name - hchain $path/$name $path/$master_obj -} - -#------------- scan command -hsetprop /commands type part -hcommand /commands/scan hdb_hmscan -hsetprop /commands/scan type command -hsetprop /commands/scan priv user -hmake /commands/scan/scan_variable user text -hsetprop /commands/scan/scan_variable argtype drivable -hmake /commands/scan/scan_start user float -hsetprop /commands/scan/scan_start argtype float -hmake /commands/scan/scan_increment user float -hsetprop /commands/scan/scan_increment argtype float -hmake /commands/scan/NP user int -hsetprop /commands/scan/NP argtype int -hmake /commands/scan/mode user text -hsetprop /commands/scan/mode argtype text -hsetprop /commands/scan/mode values monitor,timer -hmake /commands/scan/preset user float -hsetprop /commands/scan/preset argtype float - +source $cfPath(hipadaba)/common_hipadaba_configuration.tcl diff --git a/site_ansto/instrument/hrpd/config/hipadaba/hpaths.tcl b/site_ansto/instrument/hrpd/config/hipadaba/hpaths.tcl index f5c3f8cb..ada0b61c 100644 --- a/site_ansto/instrument/hrpd/config/hipadaba/hpaths.tcl +++ b/site_ansto/instrument/hrpd/config/hipadaba/hpaths.tcl @@ -1,5 +1,5 @@ set hpaths [list \ -experiment sample monochromator slits \ +experiment sample monochromator slits \ slits/1 slits/2 detector detector/monitor detector/histmem ] # Maps devices (eg motors) to hipadaba paths.