Commit Graph

3542 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
0fb4519876 Changes to logging
Add 'L' to 'M', 'N', 'D' log flags (for consistency)
Replace colon (':') in logfilenames with minus ('-')
Suppress spurious blank lines in logfile from line terminators
Add filename to open/close messages for chaining convenience
2014-07-03 15:28:05 +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
5454dfb009 Change statemon uninterest or hdbuninterest
To remove all relevant callbacks when doing uninterest or hdbuninterest,
call RemoveCallbackUsr with the relevant function, and check the pCon.

This allows to discriminate normal and hdb cases.

Need to check what happens when connection is closed now.
2014-07-02 12:45:36 +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
ba16ebb992 Add _trial_temp to .gitignore for unit testing from the repository 2014-06-25 13:50:49 +10:00