Commit Graph

2191 Commits

Author SHA1 Message Date
Ferdi Franceschini
9228dd2c0c Remove unused variable. 2014-07-06 12:15:13 +10:00
Ferdi Franceschini
82268ecc2e Make sure all instance attributes are defined in __init__ methods.
Also play with named arguments that don't define a default value (**kwargs)
2014-07-06 12:03:19 +10:00
Ferdi Franceschini
a5ea730343 Don't redefine the 'dict' builtin. (Caught by pylint)
Also improve variable name consistency.
2014-07-06 11:47:23 +10:00
Ferdi Franceschini
8a6004e12d Stop pylint complaining about unimplemented abstract methods.
But instantiating an apparently abstract class didn't bother Python???
2014-07-06 11:14:36 +10:00
Ferdi Franceschini
13c837d9b5 Reduce pylint noise and remove unused variable imp_lw 2014-07-06 10:13:40 +10:00
Ferdi Franceschini
7eaa8242bd Always show selected_imp in the implementation list for an option.
Fix imp_statechange bug (imp undefined for disabled options).
2014-07-06 09:40:37 +10:00
Ferdi Franceschini
37e75ab5b4 Make harmless changes to reduce pylint noise.
Work out what to do about warnings and apparent errors later.
2014-07-05 22:32:34 +10:00
Ferdi Franceschini
a0465541b3 set indent to four spaces. 2014-07-05 20:16:09 +10:00
Ferdi Franceschini
30791324ac Always enable permanent options when changing instrument configuration. 2014-07-05 20:09:47 +10:00
Ferdi Franceschini
fb93daeb46 Provide set_imp(opt,imp) method to keep opt and imp mappings in sync.
Added convenience method iter_implementations(opt) to enable looping over an option's implementation list.
Setting option labels now works properly when switching configurations.
2014-07-05 19:37:23 +10:00
Ferdi Franceschini
6625060fa0 Set opt:imp as the label on option checkboxes.
Do this when selecting an implementation and when enabling an option.
TODO:
When an option is disabled insert its implementation into the implementation list.
2014-07-04 17:19:36 +10:00
Ferdi Franceschini
a802f98a24 Remove unavailable implementations from the impelementation list when an option is selected. 2014-07-04 13:46:47 +10:00
Ferdi Franceschini
abcf19553b Copy original file in backup_files method instead of renaming it in case write_config_file fails.
Add a 'none' entry to the implementation list.
2014-07-03 23:36:43 +10:00
Ferdi Franceschini
294b6fa776 Make config_edit.py easier to browse by grouping order of class declarations. 2014-07-03 18:29:39 +10:00
Ferdi Franceschini
7a4ce1f234 Write option id into driver implementation section when saving the sics_config.ini 2014-07-03 16:04:00 +10:00
Ferdi Franceschini
a439601d7d Source mercury scpi driver for Wombat 2014-07-03 16:04:00 +10:00
Douglas Clowes
45a1102b59 Remove duplicate read_config section from sct_protek_common.tcl 2014-07-03 12:47:50 +10:00
Douglas Clowes
81554ee0d7 Adjust motor oscillation and SetRadCol command
Count full cycles on motor oscillate
Add logging on motor oscillate
Add "motor oscillate start high/low" options
Remove SetRadCol offset because it is not needed
2014-07-03 12:12:52 +10:00
Douglas Clowes
1134aa815b Changes to sics_test.py for Wombat testing 2014-07-02 13:45:22 +10:00
Douglas Clowes
3224422d60 Implement hlistprop $path tclnames
Squashed commit of the following:

commit 736f0f3da501ee39fb89735a1142fe6ff2b2c4dd
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Wed Jul 2 12:21:32 2014 +1000

    Use hlistprop $path tclnames in hipadaba_configuration_common.tcl

commit 428cac5ac8fe37f6998d3114c71ca01fc9446644
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Wed Jul 2 12:11:47 2014 +1000

    Use hlistprop $path tclnames in nxscripts_common_1.tcl

commit 123cc63924e92a9453bfd1297a4ee6398b31bd1d
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Wed Jul 2 10:56:34 2014 +1000

    Use hlistprop $path tclnames in gumxml.tcl

commit e23f8befd36a2066ceaa32ce3d37d53bc462f870
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Wed Jul 2 10:55:48 2014 +1000

    Use hlistprop $path tclnames in testing

commit a3587be0a8cc9a9452a75cb0e19572558d35a08a
Author: Douglas Clowes <dcl@ansto.gov.au>
Date:   Wed Jul 2 10:55:01 2014 +1000

    Implement hlistprop $path tclnames
2014-07-02 12:28:41 +10:00
Ferdi Franceschini
87bf34c7b1 Renamed type to optype in sics_config.ini so devices
like multimeters can set a data type parameter eg datype
config_edit.py uses optype instead of type
Also the listwalker is now being generated dynamically so that in the
future unavailable drivers can be moved from the list of radiobuttons.
2014-07-02 08:50:17 +10:00
Ferdi Franceschini
89edcef811 Modified the last two of the old drivers for the new sics_config.ini format. 2014-07-02 08:40:45 +10:00
Ferdi Franceschini
5ee2634d30 Modified some more old drivers to use config_dict as in gen_sct.py
TODO
environment/sct_keithley_2700.tcl
environment/sct_protek_common.tcl
2014-07-01 20:12:42 +10:00
Ferdi Franceschini
d9255be951 Use the 'oscillate' subcommand on oct instead of oscmd 2014-07-01 15:36:49 +10:00
Douglas Clowes
132af9d225 Add a "tclesc[ape]" variant of hlistprop / tcl{,list,esc,escape}
And use it in gumxml.tcl
2014-07-01 11:22:42 +10:00
Ferdi Franceschini
4f397350cb Modified some older drivers to use the tcl dict code from gen_sct.py
TODO
    sct_keithley_2700.tcl
    magneticField/sct_oxford_labview.tcl
    magneticField/sct_bruker_BEC1.tcl
    temperature/sct_watlow_st4.tcl
    temperature/sct_oxford_mercury.tcl
    temperature/sct_mercury_pres.tcl
    temperature/sct_julabo_lh45.tcl
    temperature/sct_lakeshore_340.tcl
    temperature/sct_julabo_lh45_gen.tcl
    temperature/sct_watlow_rm.tcl
    temperature/sct_eurotherm_2000.tcl
    temperature/sct_lakeshore_336.tcl
    temperature/sct_watlow_pm.tcl
    temperature/sct_oxford_itc.tcl
    temperature/sct_lakeshore_370.tcl
    temperature/west400.tcl
2014-06-30 13:47:48 +10:00
Douglas Clowes
7960cb73a0 Change puts to clientput to avoid error on stdout undefined 2014-06-30 13:44:14 +10:00
Douglas Clowes
202004766a Check for existence of config dict fields before using them in generated drivers 2014-06-30 12:49:22 +10:00
Douglas Clowes
62f1170a6d Restore sorted ini files on output 2014-06-30 12:47:21 +10:00
Ferdi Franceschini
bd93c34875 copy.copy() doesn't work with urwid on the SL6 VMs.
Explicitly make a new listwalker imp_lw to avoid overwriting the first entry in self.imp_lw_dict[opt]
Python 2.6 requires field numbers for format strings.
2014-06-30 10:09:34 +10:00
Ferdi Franceschini
e971cd8b64 New sicsconfig.ini file configuration editor.
Updated wombat sics_config.ini and gen_sct.py
Generated new tcl files from sct templates and
modified some old sct_*.tcl drivers.

TODO
sct_keithley_2700.tcl
magneticField/sct_oxford_labview.tcl
magneticField/sct_bruker_BEC1.tcl
temperature/sct_watlow_st4.tcl
temperature/sct_oxford_mercury.tcl
temperature/sct_mercury_pres.tcl
temperature/sct_julabo_lh45.tcl
temperature/sct_lakeshore_340.tcl
temperature/sct_julabo_lh45_gen.tcl
temperature/sct_watlow_rm.tcl
temperature/sct_eurotherm_2000.tcl
temperature/sct_lakeshore_336.tcl
temperature/sct_watlow_pm.tcl
temperature/sct_oxford_itc.tcl
temperature/sct_lakeshore_370.tcl
temperature/west400.tcl
2014-06-30 09:08:19 +10:00
Ferdi Franceschini
c960a3bb2d Added sample changer motor configuration 2014-06-27 18:38:23 +10:00
Ferdi Franceschini
a363bc3c2c Fix bug introduced when AttrWrap was replaced by AttrMap.
AttrWrap transparently passes method calls through to the widget
but you need to use the original_widget attribute with AttrMap to
access methods on the underlying widget.
2014-06-27 15:05:07 +10:00
Ferdi Franceschini
bd97a75e9d Replace deprecated urwid AttrWrap() with AttrMap() 2014-06-27 15:05:05 +10:00
Douglas Clowes
ac24d330c2 Absolute encoders/resolvers changed on PCX, PCR and MOM on Echidna 2014-06-27 14:28:28 +10:00
Douglas Clowes
27f1f1dfa0 Merge from Echidna 2014-06-26 16:26:36 +10:00
Douglas Clowes
8bed9404e4 Pelican merge: pelican_configuration.tcl, motor_configuration.tcl 2014-06-26 15:15:58 +10:00
Douglas Clowes
8bf1764dd9 SICS-754 Use "clientput" instead of "puts stdout" in non-generated drivers 2014-06-26 14:08:20 +10:00
Douglas Clowes
fe3489b61f SICS-754 Use "clientput" instead of "puts stdout" in generated drivers 2014-06-26 13:48:44 +10:00
Douglas Clowes
e2ab77fca7 Make the Fake Galil display window support the 8 controllers 2014-06-26 12:38:59 +10:00
Douglas Clowes
03aa895403 Extract common setup code and add wombat 2014-06-26 12:38:06 +10:00
Douglas Clowes
3ffcdb08da Merge from Quokka quokka_configuration.tcl (partial) 2014-06-25 17:09:27 +10:00
Douglas Clowes
d404bdbb06 Merge from Quokka sans sct_flipper, environment, motor_config 2014-06-25 17:09:22 +10:00
Douglas Clowes
7d36bb0508 Merge from Quokka sct_protek_common.tcl 2014-06-25 17:09:16 +10:00
Douglas Clowes
2d48093820 Merge from Quokka runsics.py move the commented out debug print 2014-06-25 17:09:10 +10:00
Douglas Clowes
6530c54483 Merge from Quokka sct_positmotor_common.tcl set driving false 2014-06-25 17:09:01 +10:00
Douglas Clowes
5b48df31ba Merge from Quokka hvcommands.tcl and pulser.tcl 2014-06-25 17:08:53 +10:00
Douglas Clowes
2676ab9282 Rework the LS-218 driver to make it flexible. 2014-06-25 13:37:32 +10:00
Douglas Clowes
648c8003b7 Merge from Wombat, except sics_config.ini
Conflicts:
	sics/site_ansto/instrument/config/environment/magneticField/sct_green_magnet.tcl
	sics/site_ansto/instrument/config/environment/temperature/sct_lakeshore_336.tcl
	sics/site_ansto/instrument/config/environment/temperature/sct_oxford_mercury.tcl
	sics/site_ansto/instrument/config/hmm/hmm_object.tcl
	sics/site_ansto/instrument/hipd/config/commands/eulerscan.tcl
	sics/site_ansto/instrument/hipd/config/motors/motor_configuration.tcl
	sics/site_ansto/instrument/hipd/util/sics_config.ini
	sics/site_ansto/instrument/server_config.tcl
2014-06-25 13:35:28 +10:00
Douglas Clowes
3f8f5fcba7 Merge from Wombat hmm_object.tcl 2014-06-25 13:22:44 +10:00