SICS-587 Setup hostport dictionary based configuration for Wombat.

This commit is contained in:
Ferdi Franceschini
2013-06-21 09:07:56 +10:00
parent a146da74f2
commit 76f323d15a
5 changed files with 74 additions and 21 deletions

View File

@@ -5,3 +5,5 @@ instrument_vars.tcl
wombat_configuration.tcl
config
util
hostport_config.tcl
hostport_config_test.tcl

View File

@@ -15,10 +15,14 @@ proc ::counter::isc_initialize {} {
variable isc_numchannels
variable isc_monitor_address
variable isc_portlist
variable isc_beam_monitor_list {MONITOR_1 MONITOR_2 MONITOR_3}
set isc_monitor_address "das1-[SplitReply [instrument]]"
set isc_portlist [list 30000 30001 30002 30003 30004 30005 30006 30007]
dict for {k v} $::MONITOR_HOSTPORT {
lappend monlist $k
lappend hostlist [dict get $v HOST]
lappend isc_portlist [dict get $v PORT]
}
variable isc_beam_monitor_list $monlist
set isc_monitor_address [lindex $hostlist 0]
set isc_numchannels [llength $isc_beam_monitor_list]
::counter::ic_initialize
} message ] {

View File

@@ -8,28 +8,15 @@
set animal wombat
set sim_mode [SplitReply [motor_simulation]]
# Setup addresses of Galil DMC2280 controllers.
set dmc2280_controller1(host) mc1-$animal
set dmc2280_controller1(port) pmc1-$animal
set dmc2280_controller2(host) mc2-$animal
set dmc2280_controller2(port) pmc2-$animal
set dmc2280_controller3(host) mc3-$animal
set dmc2280_controller3(port) pmc3-$animal
set dmc2280_controller4(host) mc4-$animal
set dmc2280_controller4(port) pmc4-$animal
if {$sim_mode == "true"} {
set motor_driver_type asim
} else {
set motor_driver_type DMC2280
MakeAsyncQueue mc1 DMC2280 $dmc2280_controller1(host) $dmc2280_controller1(port)
MakeAsyncQueue mc2 DMC2280 $dmc2280_controller2(host) $dmc2280_controller2(port)
MakeAsyncQueue mc3 DMC2280 $dmc2280_controller3(host) $dmc2280_controller3(port)
MakeAsyncQueue mc4 DMC2280 $dmc2280_controller4(host) $dmc2280_controller4(port)
makesctcontroller sct_mc2 galil mc2-wombat:[portnum pmc2-wombat]
MakeAsyncQueue mc1 DMC2280 [dict get $::MOTOR_HOSTPORT MC1 HOST] [dict get $::MOTOR_HOSTPORT MC1 PORT]
MakeAsyncQueue mc2 DMC2280 [dict get $::MOTOR_HOSTPORT MC2 HOST] [dict get $::MOTOR_HOSTPORT MC2 PORT]
MakeAsyncQueue mc3 DMC2280 [dict get $::MOTOR_HOSTPORT MC3 HOST] [dict get $::MOTOR_HOSTPORT MC3 PORT]
MakeAsyncQueue mc4 DMC2280 [dict get $::MOTOR_HOSTPORT MC4 HOST] [dict get $::MOTOR_HOSTPORT MC4 PORT]
makesctcontroller sct_mc2 galil [dict get $::MOTOR_HOSTPORT MC2 HOST]:[dict get $::MOTOR_HOSTPORT MC2 PORT]
}
#Measured absolute encoder reading at home position

View File

@@ -0,0 +1,29 @@
# MOTOR HOST AND PORT
foreach {mc host port} {
MC1 mc1-wombat pmc1-wombat
MC2 mc2-wombat pmc2-wombat
MC3 mc3-wombat pmc3-wombat
MC4 mc4-wombat pmc4-wombat
} {
dict set MOTOR_HOSTPORT $mc HOST $host
dict set MOTOR_HOSTPORT $mc PORT $port
}
# BEAM MONITOR HOST AND PORT
foreach {bm host port} {
MONITOR_1 das1-wombat 30000
MONITOR_2 das1-wombat 30001
MONITOR_3 das1-wombat 30002
} {
dict set MONITOR_HOSTPORT $bm HOST $host
dict set MONITOR_HOSTPORT $bm PORT $port
}
# HISTOGRAM SERVER HOST AND PORT
foreach {key host port} {
HMM das1-wombat.nbi.ansto.gov.au 8080
HMSTAT das1-wombat.nbi.ansto.gov.au 8081
} {
dict set HISTMEM_HOSTPORT $key HOST $host
dict set HISTMEM_HOSTPORT $key PORT $port
}

View File

@@ -0,0 +1,31 @@
# Specify NONE for HOST and PORT if there is no fake device to talk to.
# TEST MOTOR HOST AND PORT
foreach {key host port} {
MC1 localhost 62134
MC2 localhost 62135
MC3 localhost 62136
MC4 localhost 62137
} {
dict set MOTOR_HOSTPORT $key HOST $host
dict set MOTOR_HOSTPORT $key PORT $port
}
# TEST BEAM MONITOR HOST AND PORT
foreach {key host port} {
MONITOR_1 localhost 30000
MONITOR_2 localhost 30001
MONITOR_3 localhost 30002
} {
dict set MONITOR_HOSTPORT $key HOST $host
dict set MONITOR_HOSTPORT $key PORT $port
}
# TEST HISTOGRAM SERVER HOST AND PORT
foreach {key host port} {
HMM das1-test.nbi.ansto.gov.au 8080
HMSTAT das1-test.nbi.ansto.gov.au 8081
} {
dict set HISTMEM_HOSTPORT $key HOST $host
dict set HISTMEM_HOSTPORT $key PORT $port
}