Edouard Tisserant [Wed, 23 May 2018 10:53:57 +0200] rev 2011
Make Modbus mutexes non blocking for PLC. If data related to some modbus request is alredy locked when PLC wants to access it, then data isn't copied to/from PLC
Edouard Tisserant [Thu, 17 May 2018 09:33:58 +0200] rev 2010
Merged #2476, URI dialog fixes
Edouard Tisserant [Thu, 17 May 2018 09:33:14 +0200] rev 2009
close branch #2476 - URI dialog fixed
dporopat <denis.poropat@smarteh.si> [Mon, 14 May 2018 13:26:35 +0200] rev 2008
#2476 Changes to the comment.
dporopat <denis.poropat@smarteh.si> [Thu, 10 May 2018 13:11:11 +0200] rev 2007
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si> [Wed, 09 May 2018 15:09:54 +0200] rev 2006
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si> [Wed, 09 May 2018 11:16:27 +0200] rev 2005
#2476 Additional check added if we can import wx.
Edouard Tisserant [Thu, 10 May 2018 08:33:50 +0200] rev 2004
Allow deleting configuration tree node with no corresponding directory in project tree
Edouard Tisserant [Mon, 07 May 2018 15:10:39 +0200] rev 2003
Support unicode in LDFLAGS returned by extensions
Edouard Tisserant [Mon, 07 May 2018 14:19:08 +0200] rev 2002
Fixed typos
dporopat <denis.poropat@smarteh.si> [Fri, 20 Apr 2018 11:21:20 +0200] rev 2001
#2476 Added uri location editor, getting connectors from list in Beremiz.
Edouard Tisserant [Fri, 27 Apr 2018 16:32:53 +0200] rev 2000
Fixed random segfault happening when loading new PLC in runtime, when using Xenonai.
Edouard Tisserant [Thu, 19 Apr 2018 15:17:05 +0200] rev 1999
PEP-8 and PyLint
Edouard Tisserant [Thu, 19 Apr 2018 15:03:23 +0200] rev 1998
merged Denis change to apply input as we type in CTN configuration forms text fieds
Edouard Tisserant [Thu, 19 Apr 2018 14:53:42 +0200] rev 1997
PEP-8 and PyLint
Edouard Tisserant [Thu, 19 Apr 2018 13:09:41 +0200] rev 1996
Add safety check to prevent exception when disconnecting while debugging
Edouard Tisserant [Thu, 19 Apr 2018 13:02:13 +0200] rev 1995
Removed DebugThread. Take advantage of the fact that buffering is done in runtime. No need to poll for traces more than ten per second, then use simple wxTimer for that. Also removed Debug Lock since now everything happens in wx' mainloop.
Edouard Tisserant [Thu, 19 Apr 2018 12:22:40 +0200] rev 1994
Rework of runtime non-real-time threading, and shared object dynamic loading :
- All exposed operations on PLCObject are now serialized through main thread
(@RunInMain). Only one exception : python trace thread calling _GetDebugData
- Re-loading of same shared object is prevented. dlclose/delte/rewrite/dlopen
don't happen in that case. This is a workaround for some xenomai copperplate
bug triggering segfault, inbetween delete and rewrite.
- Trace thread now waits for data, dies if no data, and dies instead of
suspending as before when no data consumed after 3 seconds.
- Disabled threading in Pyro client
- Enforced auxiliary threads starting sequence : Pyro -> [UI] ->
PLCWorker.RunLoop
Edouard Tisserant [Tue, 17 Apr 2018 11:19:18 +0200] rev 1993
Stripped forgotten debug code
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 19 Apr 2018 15:06:10 +0200] rev 1992
close branch
dporopat <denis.poropat@smarteh.si> [Thu, 19 Apr 2018 09:50:00 +0200] rev 1991
#2476 Fix for saving text in URI edit text box. No need to click out of URI edit text box to save edited text.
Edouard Tisserant [Mon, 16 Apr 2018 16:11:18 +0200] rev 1990
Fixed Xenomai 3 PLC stop freeze. Now use explicit finish command with pipes. Closing both ends of pipes doesn't abort blocking read anymore.
Edouard Tisserant [Mon, 16 Apr 2018 11:00:04 +0200] rev 1989
More canonical test.
There is an exception happening around here in some cases when connection is dropped while waiting for answer. Not sure that this fixes it but this is anyhow better.
Edouard Tisserant [Sat, 14 Apr 2018 10:09:33 +0200] rev 1988
PLCObject got more methods serialized through worker : Start, Stop, NewPLC.
This particularly helps with initialization/startup/re-load problems
when targeting Xenomai. It should help in general for runtime robustness,
since those operations aren't meant to be executed concurrently.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 13 Apr 2018 00:29:52 +0200] rev 1987
Fixed implementation of runtime worker that ensure that PLCObject Load and Unload methods always run main thread.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 12 Apr 2018 22:32:43 +0200] rev 1986
merged
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 12 Apr 2018 22:32:12 +0200] rev 1985
merged
Edouard Tisserant [Thu, 12 Apr 2018 22:20:38 +0200] rev 1984
Intermediate state while implementing runtime worker to ensure that PLCObject Load and Unload methods always run main thread.
Edouard Tisserant [Thu, 12 Apr 2018 16:38:09 +0200] rev 1983
Stripped more dead code.
Edouard Tisserant [Thu, 12 Apr 2018 16:33:44 +0200] rev 1982
Cleanup of some dead code in PYRO connector.
Edouard Tisserant [Thu, 12 Apr 2018 16:31:30 +0200] rev 1981
Added logging in Xenomai init phase.
Edouard Tisserant [Thu, 12 Apr 2018 16:29:43 +0200] rev 1980
Apply new RT Pipes API from Xenomai 3
Edouard Tisserant [Thu, 12 Apr 2018 16:27:22 +0200] rev 1979
Removed useless try/except in Canfestival.py
dporopat <denis.poropat@smarteh.si> [Tue, 10 Apr 2018 13:36:36 +0200] rev 1978
#2579 On showing search result, text color of tree item is set to white. We need to change back color to show the result.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 29 Mar 2018 23:33:36 +0200] rev 1977
PEP-8...
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 29 Mar 2018 23:25:26 +0200] rev 1976
Fixed bug that was creating many frames at starup on Windows
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 25 Mar 2018 16:22:36 +0200] rev 1975
re-merge
Edouard Tisserant [Mon, 19 Mar 2018 16:18:17 +0100] rev 1974
Xenomai 3
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 02 Mar 2018 17:01:25 +0100] rev 1973
merged Sergeys changes
Surkov Sergey <surkovsv93@gmail.com> [Mon, 19 Feb 2018 19:36:43 +0300] rev 1972
fix bug with indelible values in some 'optional' fields in project properties panel
only 'required' fields should be indelible
Surkov Sergey <surkovsv93@gmail.com> [Mon, 19 Feb 2018 19:10:07 +0300] rev 1971
make the URI model compatible with https
Surkov Sergey <surkovsv93@gmail.com> [Mon, 19 Feb 2018 19:02:25 +0300] rev 1970
add address validation in Company URL field
Surkov Sergey <surkovsv93@gmail.com> [Fri, 02 Feb 2018 17:16:04 +0300] rev 1969
remove duplicating code for variables name generate
Surkov Sergey <surkovsv93@gmail.com> [Wed, 31 Jan 2018 16:31:01 +0300] rev 1968
add fields autocomplete when adding task or instance in resources
values will be copied from previous row, first row fills with the default values
Surkov Sergey <surkovsv93@gmail.com> [Thu, 18 Jan 2018 14:24:44 +0300] rev 1967
fix search in TextViewer objects, search returns only first entry
side effect of a63bb40
Surkov Sergey <surkovsv93@gmail.com> [Thu, 18 Jan 2018 14:03:29 +0300] rev 1966
fix import order according to PEP8
Surkov Sergey <surkovsv93@gmail.com> [Mon, 15 Jan 2018 12:06:24 +0300] rev 1965
fix default time range choice for debug variable panel
only localized versions were affected
Surkov Sergey <surkovsv93@gmail.com> [Fri, 12 Jan 2018 18:36:02 +0300] rev 1964
enlarge canvas border for debug variable graphic viewer
Surkov Sergey <surkovsv93@gmail.com> [Fri, 12 Jan 2018 18:33:54 +0300] rev 1963
fix rounding milliseconds from nanoseconds
example:rounding 299999 ns to 300ms, if division result is an
integer, remainder will be lost, and result will be 299.
Surkov Sergey <surkovsv93@gmail.com> [Fri, 12 Jan 2018 17:56:48 +0300] rev 1962
fix display TIME type variables in debug variable panel
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 01 Mar 2018 14:28:55 +0100] rev 1961
fix for test app from skv. thanks
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 01 Mar 2018 10:28:17 +0100] rev 1960
Prevent catching exception if exception handling was not enabled (or disabled by test test app).
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 01 Mar 2018 09:41:12 +0100] rev 1959
pep8 and pylint hate me
Edouard Tisserant [Wed, 28 Feb 2018 16:10:05 +0100] rev 1958
Fixed typo introduced in 5736d25bb393
Edouard Tisserant [Fri, 23 Feb 2018 11:16:25 +0100] rev 1957
GetEditedElementInstancesInfos now optimized as well. Forgotten because not using [R.I.P]LibraryResolver, but still XSLT compiling was hapenning on each call.
Edouard Tisserant [Tue, 20 Feb 2018 15:09:01 +0100] rev 1956
Another attempt to make BitBuket's version of pylint happy.
Edouard Tisserant [Tue, 20 Feb 2018 14:46:12 +0100] rev 1955
Attempt to make BitBuket's version of pep8 and pylint happy.
Edouard Tisserant [Tue, 20 Feb 2018 14:24:30 +0100] rev 1954
Removed dead slow code
Edouard Tisserant [Tue, 20 Feb 2018 14:16:51 +0100] rev 1953
PEP8 and PyLint conformance: whitespaces and stuff
Edouard Tisserant [Tue, 20 Feb 2018 11:24:40 +0100] rev 1952
Copy pasted, no time wasted !
Edouard Tisserant [Tue, 20 Feb 2018 11:24:10 +0100] rev 1951
GetVariableDictionary and GetPouInterfaceReturnType optimized with new VariableInfoCollector based on XSLTModelQuery. Moved corresponding definitions out of PLCControler.py.
Edouard Tisserant [Mon, 19 Feb 2018 15:46:50 +0100] rev 1950
GetPouInstanceTagName optimized with XSLTModelQuery.
Edouard Tisserant [Mon, 19 Feb 2018 15:15:36 +0100] rev 1949
Better writing of some xpath added in previous commits about XSLT optimization.
Edouard Tisserant [Mon, 19 Feb 2018 15:14:30 +0100] rev 1948
Moved some definitions away from controller class, and adaped references them through all code.
Edouard Tisserant [Mon, 19 Feb 2018 13:24:57 +0100] rev 1947
Hook Beremiz Launcher AppStart to AdvancedSplash OnPaint event in order to ensure image is beeing displayed before loading.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 18 Feb 2018 22:29:35 +0100] rev 1946
Avoid endline escaping in multiline xpath epressions in xslt. ' ' Is apparently ignored but never know...
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 18 Feb 2018 21:51:33 +0100] rev 1945
Fixed earlier XSLT optimizations. Some/most results were missing.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 18 Feb 2018 21:30:48 +0100] rev 1944
Moved some code from PLCController.py to other modules. Added necessary imports.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 17 Feb 2018 23:58:47 +0100] rev 1943
GetPouVariables optimized with XSLTModelQuery
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 17 Feb 2018 16:42:56 +0100] rev 1942
Added /plcopen/InstancesPathCollector.py, to move more model xslt querying code away from PLCController.py.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 16 Feb 2018 18:38:30 +0100] rev 1941
Fixed Exception dialog disapearing after a view second when exception occurs during app startup.
Problem was caused by splashscreen timeout, wx closing averything else if there is no more main frame.
Changes:
- no more timeout for splashscreen
- use wx.App OnInit method to give first operation to mainloop, object are then now created in mainloop
- main loop is then created _before_ showing splash screen
- no more wxyield or wx processevent tricks needed to display splash screen
- exception handler not blocking anymore on dialog (callafter)
- because of mainloop being there before everything, exit must be called explicitely if exception caught during startup -> exit parameter in handle_exception + try/except around startup calls
UNTESTED ON WINDOWS
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 16 Feb 2018 18:24:55 +0100] rev 1940
Moved XSLTModelQuery class to own module in plcopen package.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 16 Feb 2018 13:00:06 +0100] rev 1939
Added a class to speedup all XSLT queries. WIP, now only for instances_path.xslt / GetInstanceList()
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 16 Feb 2018 03:24:11 +0100] rev 1938
Stripped useless node creation in instances_path stylesheet.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 16 Feb 2018 02:29:10 +0100] rev 1937
This should really help GetInstanceList to perform better: resolver removed, no more deepcopy, no more useless xml serialization, no more node-set() calls.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 16 Feb 2018 01:48:48 +0100] rev 1936
YSLT auto indent trick is useless here, added yslt_noindent.yml2, regenerated XSLT files
Edouard Tisserant [Fri, 16 Feb 2018 01:38:34 +0100] rev 1935
Prevent compiling XSLT on each call of GetInstanceList. To be continued. More optimization needed here. 100x would be fine...
Edouard Tisserant [Wed, 14 Feb 2018 15:39:27 +0100] rev 1934
Changed meaning of -c commandline argument for Beremiz service : only gives DEFAULT wamp config.
If existing project already has a wamp config, it is taken instead.
Edouard Tisserant [Wed, 14 Feb 2018 14:50:10 +0100] rev 1933
Factorized duplicated code
Edouard Tisserant [Wed, 14 Feb 2018 14:48:40 +0100] rev 1932
Better variable naming, and small optimization.
Edouard Tisserant [Tue, 13 Feb 2018 14:01:20 +0100] rev 1931
Unclutter graphics package scope.
Moved some import statements from "graphics" package to "viewer" module.
It also avoid systematic import of everything in graphics when we only need one submodule.
Edouard Tisserant [Tue, 13 Feb 2018 13:57:53 +0100] rev 1930
Removed dead code
Edouard Tisserant [Mon, 12 Feb 2018 13:18:53 +0100] rev 1929
Fixed pyro timeout for runtime, was set too short and runtime was disconnecting when building PLC
Edouard Tisserant [Mon, 12 Feb 2018 11:34:07 +0100] rev 1928
Ask to stop PLC before transfer if it is running
Edouard Tisserant [Mon, 12 Feb 2018 11:32:48 +0100] rev 1927
Factorized some repeated refresh code into a method, to allow customisation.
Edouard Tisserant [Mon, 05 Feb 2018 16:23:51 +0100] rev 1926
Launcher : add a debug attribute, instead of BMZ_DBG, so that customization can use it.
Edouard Tisserant [Fri, 02 Feb 2018 16:25:32 +0100] rev 1925
Stripped old dead code.
Edouard Tisserant [Fri, 02 Feb 2018 16:24:56 +0100] rev 1924
More changes in Launcher. Modules to be loaded in the background are given in a list, and assigned as object attributes. Also splitted CreateUI into CloseSplashScreen and CreatueUI.
Edouard Tisserant [Fri, 02 Feb 2018 16:22:25 +0100] rev 1923
ClassImporter now accepts string, callable or class, for compatibility with some old extensions.
Edouard Tisserant [Fri, 02 Feb 2018 11:12:03 +0100] rev 1922
Launcher: ShowUI call moves from preStart to start. ShowUI() split into CreateUI() and ShowUI(). Start()'s arguments are passed to CreateUI()
This is meant to allow customizations to pass own pre-instanciated controller to UI at startup.
Edouard Tisserant [Fri, 02 Feb 2018 11:07:39 +0100] rev 1921
Launcher: allows customizations to specify what globals passed to extensions
Edouard Tisserant [Fri, 02 Feb 2018 11:06:41 +0100] rev 1920
Documentation
Edouard Tisserant [Thu, 01 Feb 2018 14:51:18 +0100] rev 1919
Another set of meaningless changes to satisfy PEP8 and PyLint.
Edouard Tisserant [Wed, 31 Jan 2018 15:25:30 +0100] rev 1918
PEP8 conformity for modbus. Most of it done by autopep8, plus some easy refactoring.
Edouard Tisserant [Wed, 31 Jan 2018 15:22:43 +0100] rev 1917
Add some class factory function to ease declaration of simple POU libraries in customizations (i.e. TC6 XML file only, no special C code generation)
Edouard Tisserant [Wed, 31 Jan 2018 15:20:42 +0100] rev 1916
Small pep8 conformity enforcement.