# Defines hashes which map SICS device object names to hipadaba paths InstallHdb 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 hmake /experiment user none hattach /experiment title title hattach /experiment sample description hmake /experiment/user spy none hsetprop /experiment/user type part hattach /experiment/user user name hattach /experiment/user email email hattach /experiment/user phone phone hattach /experiment dataFileName datafile #--- 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 #--- Graphics hmake /Graphics spy none ::scanCommand::hpath_setup /Graphics ::scanCommand::init