Commit Graph

190 Commits

Author SHA1 Message Date
Douglas Clowes
1b7eddc015 Add whatsthere.py to RELEASE-3_1 2014-10-22 12:42:14 +11:00
Douglas Clowes
c6abb1fabd Slight change to the way we do PID in SCT files 2014-09-30 17:24:58 +10:00
Ferdi Franceschini
4a4f464485 Copied prun and pdrive from RELEASE-3_2 branch. 2014-09-11 14:29:24 +10:00
Douglas Clowes
65b50f3fcc Allow sct drivers to get device_class and simulation_group from ini file 2014-09-11 13:27:09 +10:00
Douglas Clowes
bc0606394b Make gitloader and gitrefer executable 2014-09-08 11:37:10 +10:00
Douglas Clowes
ef0c7cc0d5 Extend poll_period to (1,3600) seconds 2014-09-04 11:29:19 +10:00
Douglas Clowes
2cb70741b1 Add hupdateif <path> <value> [<format>] for conditional update of hipadaba 2014-08-19 15:05:32 +10:00
Douglas Clowes
04a87e5ff2 Change IP/PORT to ip_address/tcp_port and add to mkDriver sig
This facilitates use in mkDriver hook code
2014-08-19 11:21:45 +10:00
Douglas Clowes
2c8f1131f6 Add wrapper_property nosctcontroller = <anything> to gen_sct 2014-08-18 12:34:24 +10:00
Douglas Clowes
ea9de2c617 Add @TCL/@END code to gen_sct 2014-08-18 11:39:24 +10:00
Douglas Clowes
da17516491 Add wrapper_property and mkWrapper code for SCT wrappers 2014-08-18 11:39:17 +10:00
Douglas Clowes
c86ff4c883 Prettyfy the dump routines 2014-08-05 17:45:30 +10:00
Douglas Clowes
973f844186 Allow Group_Property override for klass and type and set topleve data true 2014-08-05 17:07:02 +10:00
Douglas Clowes
a1f509d96a Force branch klass to '@none' and type to 'part' 2014-08-05 16:45:42 +10:00
Douglas Clowes
5fb4bc9adc If data is true default klass to parameter in SCT 2014-08-05 16:38:41 +10:00
Douglas Clowes
5be03cc63b make default mutable 'true' and data on branches 2014-08-05 16:04:55 +10:00
Douglas Clowes
d330d7874a Add the FOPDT and PID modules
The First Order Plus Delay Time module is a model of a
controlled system that is useful in modelling and
simulating process control systems.

The Proportional Integral Differential module is a control
system that is useful in controlling process control
systems.

This is not fully functional yet.
2014-08-05 11:44:27 +10:00
Ferdi Franceschini
6112c8afa0 Don't copy 'id' from the option section into the implementation section.
The read_config procs should fetch arguments from both the option and implemention sections.
2014-07-15 08:59:16 +10:00
Ferdi Franceschini
deb6716f9b make_args can now be set in the option section of a sics_config.ini 2014-07-15 08:59:16 +10:00
Ferdi Franceschini
9305d6da53 Don't fetch an implementation if an option is disabled. 2014-07-15 08:59:15 +10:00
Ferdi Franceschini
47fbb1979e You can now set the privilege and type for MakeSICSObj in an sct template. 2014-07-11 17:14:08 +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
679651bd28 Add some help and feedback when saving a file. 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
737e56670b Use shutil.copy2 to preserve file dates 2014-07-07 13:59:03 +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