64 lines
2.0 KiB
Tcl
64 lines
2.0 KiB
Tcl
# 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
|
|
|