More common initialisation code has been moved from the instrument configuration files to server_config.tcl:server_init

server_init now handles restoring status before calling initialisation commands as well as loading extraconfig, building the HDB and catching errors.
Added dummy_motors in the motor_configuration.tcl files for automated tests.

sicshipadaba.c
Fix broken "hset /path start" by set connection object in command callback.

r2724 | ffr | 2008-10-20 11:08:31 +1100 (Mon, 20 Oct 2008) | 7 lines
This commit is contained in:
Ferdi Franceschini
2008-10-20 11:08:31 +11:00
committed by Douglas Clowes
parent fb97ee8631
commit 7ded983eba
11 changed files with 90 additions and 161 deletions

View File

@@ -48,3 +48,13 @@ proc pop { which } {
}
publish pop user
# TODO SICS-198 add feedback support to getset macro generator
foreach pname {AttRotDeg RotApDeg} {
hmake /instrument/parameters/derived_parameters/$pname/feedback spy none
hsetprop /instrument/parameters/derived_parameters/$pname/feedback data false
hsetprop /instrument/parameters/derived_parameters/$pname/feedback control true
hattach /instrument/parameters/derived_parameters/$pname/feedback ${pname}_status status
hsetprop /instrument/parameters/derived_parameters/$pname/feedback/status control true
hsetprop /instrument/parameters/derived_parameters/$pname/feedback/status data false
hsetprop /instrument/parameters/derived_parameters/$pname/feedback/status nxsave false
}

View File

@@ -1,5 +1,5 @@
# $Revision: 1.13 $
# $Date: 2008-08-29 11:38:20 $
# $Revision: 1.14 $
# $Date: 2008-10-20 00:08:31 $
# Author: Ferdi Franceschini (ffr@ansto.gov.au)
# Last revision by: $Author: ffr $
@@ -17,61 +17,29 @@ source server_config.tcl
########################################
# INSTRUMENT SPECIFIC CONFIGURATION
fileeval $cfPath(motors)/motor_configuration.tcl
fileeval $cfPath(source)/source.tcl
source $cfPath(hipadaba)/hipadaba_configuration.tcl
fileeval $cfPath(nexus)/nxscripts.tcl
fileeval $cfPath(parameters)/parameters.tcl
fileeval $cfPath(velsel)/velsel.tcl
fileeval $cfPath(motors)/motor_configuration.tcl
fileeval $cfPath(plc)/plc.tcl
fileeval $cfPath(optics)/optics.tcl
fileeval $cfPath(counter)/counter.tcl
fileeval $cfPath(hmm)/hmm_configuration.tcl
fileeval $cfPath(nexus)/nxscripts.tcl
fileeval $cfPath(hmm)/detector.tcl
fileeval $cfPath(scan)/scan.tcl
fileeval $cfPath(commands)/commands.tcl
fileeval $cfPath(anticollider)/anticollider.tcl
source gumxml.tcl
########
# Parameters set above the restore command will be clobbered by
# the values in the status.tcl file
# BIG WARNING: DON'T PUT 'restore' IN A CATCH BLOCK BECAUSE IT RETURNS
# AN ERROR IF THERE IS NO ../log/status.tcl FILE.
restore
::utility::mkVar ::anticollider::protect_detector text manager protect_detector false detector true false
::anticollider::protect_detector "true"
server_init
###########################################
# WARNING: Do not add any code below server_init, if you do SICS may fail to initialise properly.
########
# Parameters set above the restore command will be clobbered by
# the values in the status.tcl file
# BIG WARNING: DON'T PUT 'restore' IN A CATCH BLOCK BECAUSE IT RETURNS
# AN ERROR IF THERE IS NO ../log/status.tcl FILE.
restore
catch {
::anticollider::init
server_init
if [file exists ../extraconfig.tcl] {
fileeval ../extraconfig.tcl
}
buildHDB instrument_dictionary
# TODO SICS-198 add feedback support to getset macro generator
foreach pname {AttRotDeg RotApDeg} {
hmake /instrument/parameters/derived_parameters/$pname/feedback spy none
hsetprop /instrument/parameters/derived_parameters/$pname/feedback data false
hsetprop /instrument/parameters/derived_parameters/$pname/feedback control true
hattach /instrument/parameters/derived_parameters/$pname/feedback ${pname}_status status
hsetprop /instrument/parameters/derived_parameters/$pname/feedback/status control true
hsetprop /instrument/parameters/derived_parameters/$pname/feedback/status data false
hsetprop /instrument/parameters/derived_parameters/$pname/feedback/status nxsave false
}
}
clientput $errorContext
clientput $callStack
# You can add extra-configuration code in ../extraconfig.tcl