Commit Graph

3473 Commits

Author SHA1 Message Date
Ferdi Franceschini
867c6c8eaa Generate a wrapper for the old protek driver from a protekmm.sct template. 2014-07-11 13:52:37 +10:00
Douglas Clowes
4f72bcaaf5 allow legacy sct controllers in generated drivers 2014-07-11 13:37:50 +10:00
Douglas Clowes
5ee7e6719f Defer makesctdrive to end of mkDriver to avoid possible forward references. 2014-07-11 13:37:35 +10:00
Douglas Clowes
0dbe7bd53e Allow empty braces on sct vars and remove semicolons from python code 2014-07-11 13:37:21 +10:00
Douglas Clowes
35067c3673 Clean up Nagelfar warnings in generated drivers 2014-07-11 13:37:17 +10:00
Douglas Clowes
a9e4c80a87 Reindent gen_sct.py to 4 spaces 2014-07-11 13:37:02 +10:00
Ferdi Franceschini
16b228dc0e Sort and save the the Quokka sics_config.ini file in its default configuration. 2014-07-11 09:30:59 +10:00
Ferdi Franceschini
679651bd28 Add some help and feedback when saving a file. 2014-07-11 08:49:40 +10:00
Ferdi Franceschini
6aa229ee75 Driver changes made on ics1-wombat-test. 2014-07-11 08:49:40 +10:00
Ferdi Franceschini
d79865edb4 Write sections to the configuration file in the same order as the screen layout. 2014-07-11 08:49:39 +10:00
Ferdi Franceschini
8953273dac Show IP address and PORT number for implmentations that have them. 2014-07-11 08:49:38 +10:00
Ferdi Franceschini
9be5cc4cec set_imp now works in initialisation code and makes sure that 'none' is not used as a key in imp2opt_dict.
Also provide consistency_check() method to check that there is a one to one
mapping between options and implementations.
2014-07-11 08:49:37 +10:00
Ferdi Franceschini
1b4cca9390 Options not in the cascade list should have their implementation set to 'none' 2014-07-11 08:49:37 +10:00
Ferdi Franceschini
b5d3b745c3 Don't allow the implementation of permanent options to be set to 'none'. 2014-07-11 08:49:36 +10:00
Ferdi Franceschini
a294d50a1d A bit of refactoring, a bit of housekeeping. Make Pylint happy. Mmmmm nice. 2014-07-11 08:49:35 +10:00
Ferdi Franceschini
dee4b0430e The order that __get_options() and __get_implementations() are called in shouldn't matter. 2014-07-11 08:49:35 +10:00
Ferdi Franceschini
cc6634abe9 The implementation field is set only if an option is enabled in the config file.
All other options should be shown as disabled with 'none' as the implementation.
Conflicts between enabled options are resolved in favour of the first option returned
by the ConfigParser which isn't necessarily the first enabled option in the file.
Only enabled options are mapped in the imp2opt_dict dictionary.
2014-07-11 08:49:34 +10:00
Douglas Clowes
cd80f567fe Only do the rotary_bits if the previous counts is valid
This saves decrementing it the first time through because it is in
the fourth quadrant and the initial value (zero) is in the first.
2014-07-10 13:14:27 +10:00
Douglas Clowes
f05bf2e7db Change Dingo stth for multi-turn rotary encoder 2014-07-09 15:02:24 +10:00
Douglas Clowes
f6dfc76ada Pull back changes from Dingo 2014-07-09 15:01:21 +10:00
Douglas Clowes
cc5400c595 Pull back changes in Kookaburra config 2014-07-07 14:48:12 +10:00
Douglas Clowes
852f87f131 Sort and massage Quokka's sics_config.ini 2014-07-07 13:59:41 +10:00
Douglas Clowes
737e56670b Use shutil.copy2 to preserve file dates 2014-07-07 13:59:03 +10:00
Douglas Clowes
47d5604e1e Make the Julabo work for asyncqueue adapters 2014-07-07 13:58:08 +10:00
Ferdi Franceschini
7193129956 Set bruker IP address and port 2014-07-07 10:25:09 +10:00
Ferdi Franceschini
8a8a08e57f Add sics_config.ini to quokka. 2014-07-07 10:22:06 +10:00
Ferdi Franceschini
cc39cc08fe Select sample changer from sics_config.ini 2014-07-07 09:15:54 +10:00
Ferdi Franceschini
3ce563696f Remove debug output and cleanup a bit. 2014-07-06 20:15:41 +10:00
Ferdi Franceschini
46b0e1a9a3 Provide navigation context for __imp_unavailable method. 2014-07-06 20:09:15 +10:00
Ferdi Franceschini
f1b13aa7c6 Remove dependency of viewer on data and manager objects.
It just requires listboxes for the layout.
Also use new style class definition for InstConfigData and InstConfigManager.
2014-07-06 18:27:45 +10:00
Ferdi Franceschini
80cc3350c5 Experiment with "pylint: disable" to eliminate false positives from pylint. 2014-07-06 15:08:03 +10:00
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