##################################

SICS-226

util/utility.tcl
Added set_chopper_attributes to set hdb metadata on chopperadapters

server_config.tcl
Set hdb metadata on chopperadapters

hipadaba_configuration_common.tcl
:hdb::sobjadd can now add chopperadapters to the hdb tree
::hdb::cmd_par now preserves case when adding command parameters.

instdict_specification.tcl
Added chopperadapter sicstype and disk_chopper class

nxscripts_common_1.tcl
Added chopperadapter save and sdsinfo commands.

reflectometer/config/chopper/chopper.tcl
Set units on chopperadapters.

 ##################################

hipd,hrpd,rsd, /config/commands.tcl
Add instrument specific initialisation procedure for commands

reflectometer/config/commands.tcl
Created omega_2theta and set_mode commands from Andrew Nelson's procs in extraconfig.tcl

reflectometer/.../motor_configuration.tcl
Added ds and rs prefix to the two_theta drive and read scripts to prevent name collision with the two_theta procs in commans.tcl

SICS-108 reflectometer/../parameters.tcl
Added parameters for guide, slit and chopper distances and elements.

SICS-108 common_instrument_dictionary.tcl
Make parameters saveable

r2678 | ffr | 2008-08-18 13:01:29 +1000 (Mon, 18 Aug 2008) | 40 lines
This commit is contained in:
Ferdi Franceschini
2008-08-18 13:01:29 +10:00
committed by Douglas Clowes
parent 348bd3aed1
commit 8090104407
13 changed files with 429 additions and 24 deletions

View File

@@ -435,7 +435,7 @@ proc ::hdb::add_hpath {basePath path {priv spy} {dtype none} {dlen ""}} {
# @see command
proc ::hdb::add_cmd_par {hpath sobj name} {
hattach $hpath $sobj $name
foreach {prop pval} [attlist $sobj] {
foreach {prop pval} [::utility::normalattlist $sobj] {
hsetprop $hpath/$name $prop $pval
}
hsetprop $hpath/$name data false
@@ -756,6 +756,23 @@ proc ::hdb::sobjadd {hpath sobj args} {
clientput "ERROR: $hpath/$sobjatt(long_name) for $sobj exists" error
}
}
chopperadapter {
if {[info exists sobjatt(group)]} {
set hpath [add_hpath $hpath $sobjatt(group)]
hsetprop $hpath type part
}
if {[lsearch [hlist $hpath] $sobjatt(long_name)] == -1} {
set node_path [add_node $hpath node $sobj long_name [normalgetatt $sobj long_name] kind $sobjatt(kind)]
hsetprop $node_path sicsdev $sobj
hsetprop $node_path nxalias $sobj
hsetprop $node_path savecmd $sobjatt(savecmd)
hsetprop $node_path sdsinfo $sobjatt(sdsinfo)
hsetprop $node_path mutable $sobjatt(mutable)
hsetprop $node_path privilege $sobjatt(privilege)
} else {
clientput "ERROR: $hpath/$sobjatt(long_name) for $sobj exists" error
}
}
nxscript {
# TODO
todo_msg "$sobjatt(type) case, add $sobj to $hpath"
@@ -771,6 +788,9 @@ proc ::hdb::sobjadd {hpath sobj args} {
environment_controller {
todo_msg "$sobjatt(type) case, add $sobj to $hpath"
}
default {
error "ERROR: Unknown sics object type $sobjatt(type)"
}
}
} message ] {
if {$::errorCode=="NONE"} {return $message}