Wed, 31 Jan 2018 11:21:08 +0100launcher : move call to ShowSplashScreen and BackgroundInitialization to PreStart()
Edouard Tisserant [Wed, 31 Jan 2018 11:21:08 +0100] rev 1914
launcher : move call to ShowSplashScreen and BackgroundInitialization to PreStart()
It doesn't change behaviour of launcher in beremiz, but may have some impact on some customizations.
Some customizations need to squeeze some bitmap folder init in between app creation and ShowSplashScreen

Tue, 30 Jan 2018 16:23:50 +0100modbus extension code cleanup, from smarteh's patch
Edouard Tisserant [Tue, 30 Jan 2018 16:23:50 +0100] rev 1913
modbus extension code cleanup, from smarteh's patch

Tue, 30 Jan 2018 16:06:58 +0100Merged Mario's modbus branch. Fixed line endings.
Edouard Tisserant [Tue, 30 Jan 2018 16:06:58 +0100] rev 1912
Merged Mario's modbus branch. Fixed line endings.

Fri, 24 Mar 2017 12:07:47 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Fri, 24 Mar 2017 12:07:47 +0000] rev 1911
merge

Sun, 05 Mar 2017 00:38:25 +0000Ignore bug report files.
Mario de Sousa <msousa@fe.up.pt> [Sun, 05 Mar 2017 00:38:25 +0000] rev 1910
Ignore bug report files.

Sun, 05 Mar 2017 00:37:54 +0000Add support for Modbus (TCP and RTU) working as master & slave
Mario de Sousa <msousa@fe.up.pt> [Sun, 05 Mar 2017 00:37:54 +0000] rev 1909
Add support for Modbus (TCP and RTU) working as master & slave

Mon, 29 Jan 2018 13:31:14 +0100merge
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 29 Jan 2018 13:31:14 +0100] rev 1908
merge

Wed, 24 Jan 2018 16:12:49 +0100fixed erro introduced 2 commits ago (-e) : tuples have no reverse() method
Edouard Tisserant [Wed, 24 Jan 2018 16:12:49 +0100] rev 1907
fixed erro introduced 2 commits ago (-e) : tuples have no reverse() method

Wed, 24 Jan 2018 15:44:36 +0100Trying to get better logging/display of exceptions at runtime's startup
Edouard Tisserant [Wed, 24 Jan 2018 15:44:36 +0100] rev 1906
Trying to get better logging/display of exceptions at runtime's startup

Wed, 24 Jan 2018 14:48:49 +0100Changed way to deal with extensions arguments (-e) so that path and filename are stored independently and accessible for extensions themselves.
Edouard Tisserant [Wed, 24 Jan 2018 14:48:49 +0100] rev 1905
Changed way to deal with extensions arguments (-e) so that path and filename are stored independently and accessible for extensions themselves.

Mon, 29 Jan 2018 12:56:49 +0100Textviewer : moved call to Colourise in a better place, so that ST highlighting gets also updated when typing in some case, not only IL
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 29 Jan 2018 12:56:49 +0100] rev 1904
Textviewer : moved call to Colourise in a better place, so that ST highlighting gets also updated when typing in some case, not only IL

Fri, 19 Jan 2018 15:12:23 +0100Main runtime template C code : Added HAVE_RETAIN preprocessor definition for customized build to signal it provides IEC-61131 Retain memory handling function. Removed targets/Xenomai/plc_Xenomai_noretain.c, now useless.
Edouard Tisserant [Fri, 19 Jan 2018 15:12:23 +0100] rev 1903
Main runtime template C code : Added HAVE_RETAIN preprocessor definition for customized build to signal it provides IEC-61131 Retain memory handling function. Removed targets/Xenomai/plc_Xenomai_noretain.c, now useless.

Mon, 15 Jan 2018 14:43:53 +0100Clarify licensing, and packaging of runtime only files :
Edouard Tisserant [Mon, 15 Jan 2018 14:43:53 +0100] rev 1902
Clarify licensing, and packaging of runtime only files :
- moved and split targets/typemapping.py into runtime/typemapping.py and runtime/loglevels.py
- added runtime_files.list pointing to files necessary for runtime, and referring to runtime license

Thu, 11 Jan 2018 15:41:20 +0100Enforced check_source.sh pep8 and pylint rules.
Edouard Tisserant [Thu, 11 Jan 2018 15:41:20 +0100] rev 1901
Enforced check_source.sh pep8 and pylint rules.

Thu, 11 Jan 2018 15:39:58 +0100runtime/WAMP: Fixed secret loading into configuration. Fixed secret commandline switch handling.
Edouard Tisserant [Thu, 11 Jan 2018 15:39:58 +0100] rev 1900
runtime/WAMP: Fixed secret loading into configuration. Fixed secret commandline switch handling.

Thu, 11 Jan 2018 13:02:09 +0100runtime/WAMP : was 'Added time print on session left.' from dporopat. Purpose is to log (dis/re)connection, to help debugging connection problem
Edouard Tisserant [Thu, 11 Jan 2018 13:02:09 +0100] rev 1899
runtime/WAMP : was 'Added time print on session left.' from dporopat. Purpose is to log (dis/re)connection, to help debugging connection problem

Thu, 11 Jan 2018 12:48:49 +0100runtime/Wamp : adapt to unicode being enforced in latest crossbar API. Updated some documentation, to explain why there is unused definitions like SubscribedEvents or DoOnJoin.
Edouard Tisserant [Thu, 11 Jan 2018 12:48:49 +0100] rev 1898
runtime/Wamp : adapt to unicode being enforced in latest crossbar API. Updated some documentation, to explain why there is unused definitions like SubscribedEvents or DoOnJoin.

Wed, 10 Jan 2018 15:36:03 +0100Extend python<->PLC global variable description "GlobalDesc" to support Initial value setting.
Edouard Tisserant [Wed, 10 Jan 2018 15:36:03 +0100] rev 1897
Extend python<->PLC global variable description "GlobalDesc" to support Initial value setting.

Rebased from dporopat change "add initial value to runtime.py file", which means :
- GlobalDesc is used by some customized beremiz python runtime
- Those runtimes need to know what is initial value of these special variables

Wed, 10 Jan 2018 14:35:04 +0100update tests/wamp README file, based on changes from dporopat.
Edouard Tisserant [Wed, 10 Jan 2018 14:35:04 +0100] rev 1896
update tests/wamp README file, based on changes from dporopat.

Wed, 10 Jan 2018 13:23:40 +0100Fixed WAMP test (crossbar confile upgrade and use same ID on both PLC and IDE side)
Edouard Tisserant [Wed, 10 Jan 2018 13:23:40 +0100] rev 1895
Fixed WAMP test (crossbar confile upgrade and use same ID on both PLC and IDE side)

Wed, 10 Jan 2018 13:21:42 +0100Fixed changes from dporopat and agregorcic about WAMP CRA and config.
Edouard Tisserant [Wed, 10 Jan 2018 13:21:42 +0100] rev 1894
Fixed changes from dporopat and agregorcic about WAMP CRA and config.

Tue, 09 Jan 2018 15:08:08 +0100WAMP runtime : changes from dporopat and agregorcic, adding CRA (-s) and changed way to load WAMP conf (-c)
Edouard Tisserant [Tue, 09 Jan 2018 15:08:08 +0100] rev 1893
WAMP runtime : changes from dporopat and agregorcic, adding CRA (-s) and changed way to load WAMP conf (-c)
- added Challenge Response Authentication,
- use -s commandline switch to give the shared secret.
- WAMP configuration now either given as -c commandline switch
or taken as default wampconf.json in project files.

Tue, 09 Jan 2018 14:52:56 +0100Set WAMP registration option so that reconnecting while earlier session still didn't timeout is possible (in case of connection lost, for example).
Edouard Tisserant [Tue, 09 Jan 2018 14:52:56 +0100] rev 1892
Set WAMP registration option so that reconnecting while earlier session still didn't timeout is possible (in case of connection lost, for example).

Tue, 09 Jan 2018 14:50:41 +0100More canonical overload of ReconnectingClientFactory (according twisted doc)
Edouard Tisserant [Tue, 09 Jan 2018 14:50:41 +0100] rev 1891
More canonical overload of ReconnectingClientFactory (according twisted doc)

Tue, 09 Jan 2018 14:42:23 +0100non significant print syntax change. ready for py3.
Edouard Tisserant [Tue, 09 Jan 2018 14:42:23 +0100] rev 1890
non significant print syntax change. ready for py3.

Tue, 09 Jan 2018 14:38:45 +0100whitespace cosmetic for pep8
Edouard Tisserant [Tue, 09 Jan 2018 14:38:45 +0100] rev 1889
whitespace cosmetic for pep8

Mon, 08 Jan 2018 11:09:02 +0100Added arbitrary timeout on Pyro, to force it to free memory after disconnect.
Edouard Tisserant [Mon, 08 Jan 2018 11:09:02 +0100] rev 1888
Added arbitrary timeout on Pyro, to force it to free memory after disconnect.

Fri, 05 Jan 2018 15:39:02 +0100Moved code from to Beremiz_service.py Server class Start method to Loop method to allow customisation by hot patching. Also renamed Stop method as _stop and use Restart instead of Stop from everywhere else to make it clear that _stop actually does restart...
Edouard Tisserant [Fri, 05 Jan 2018 15:39:02 +0100] rev 1887
Moved code from to Beremiz_service.py Server class Start method to Loop method to allow customisation by hot patching. Also renamed Stop method as _stop and use Restart instead of Stop from everywhere else to make it clear that _stop actually does restart...

Thu, 04 Jan 2018 16:00:35 +0100enforce PEP8 in previous commit
Edouard Tisserant [Thu, 04 Jan 2018 16:00:35 +0100] rev 1886
enforce PEP8 in previous commit

Fri, 20 Jan 2017 13:22:31 +0100replaced normal panel with scrolled panel under project properties
dporopat <denis.poropat@smarteh.si> [Fri, 20 Jan 2017 13:22:31 +0100] rev 1885
replaced normal panel with scrolled panel under project properties

Tue, 05 Dec 2017 12:38:04 +0300fix missing root in empty search results panel
Surkov Sergey <surkovsv93@gmail.com> [Tue, 05 Dec 2017 12:38:04 +0300] rev 1884
fix missing root in empty search results panel

Mon, 04 Dec 2017 19:35:31 +0300add possibility to specify subprocess stdout encoding
Surkov Sergey <surkovsv93@gmail.com> [Mon, 04 Dec 2017 19:35:31 +0300] rev 1883
add possibility to specify subprocess stdout encoding

Mon, 04 Dec 2017 11:20:46 +0300fix deadlock if method kill() is called after process is already finished
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 04 Dec 2017 11:20:46 +0300] rev 1882
fix deadlock if method kill() is called after process is already finished

Wed, 25 Oct 2017 13:50:26 +0300fix pylint py3k conversion warning: "(no-absolute-import) import missing `from __future__ import absolute_import`"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 25 Oct 2017 13:50:26 +0300] rev 1881
fix pylint py3k conversion warning: "(no-absolute-import) import missing `from __future__ import absolute_import`"

Mon, 23 Oct 2017 18:25:45 +0300make CanFestival to be at the expected place in bitbucket pipelines container
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 23 Oct 2017 18:25:45 +0300] rev 1880
make CanFestival to be at the expected place in bitbucket pipelines container

Thu, 19 Oct 2017 13:33:01 +0300fix pylint error '(unsubscriptable-object) Value 'X' is unsubscriptable'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 19 Oct 2017 13:33:01 +0300] rev 1879
fix pylint error '(unsubscriptable-object) Value 'X' is unsubscriptable'

Thu, 19 Oct 2017 11:03:03 +0300fix pylint warning '(bad-continuation) Wrong hanging indentation before block'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 19 Oct 2017 11:03:03 +0300] rev 1878
fix pylint warning '(bad-continuation) Wrong hanging indentation before block'

Thu, 19 Oct 2017 10:57:35 +0300force all python source code to have LF line ending
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 19 Oct 2017 10:57:35 +0300] rev 1877
force all python source code to have LF line ending

Wed, 18 Oct 2017 12:23:19 +0300fix pylint warning '(expression-not-assigned) Expression "X" is assigned to nothing'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 18 Oct 2017 12:23:19 +0300] rev 1876
fix pylint warning '(expression-not-assigned) Expression "X" is assigned to nothing'

Tue, 17 Oct 2017 11:29:20 +0300fix pylint warning '(redefine-in-handler) Redefining name 'X' from outer scope (line Y) in exception handler'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 17 Oct 2017 11:29:20 +0300] rev 1875
fix pylint warning '(redefine-in-handler) Redefining name 'X' from outer scope (line Y) in exception handler'

Tue, 17 Oct 2017 11:09:01 +0300fix displaying result of update check during Beremiz startup
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 17 Oct 2017 11:09:01 +0300] rev 1874
fix displaying result of update check during Beremiz startup

Tue, 17 Oct 2017 09:51:43 +0300fix pylint warning '(no-init) Class has no __init__ method'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 17 Oct 2017 09:51:43 +0300] rev 1873
fix pylint warning '(no-init) Class has no __init__ method'

Mon, 16 Oct 2017 17:20:31 +0300fix pylint error "(undefined-variable) Undefined variable 'X'"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 16 Oct 2017 17:20:31 +0300] rev 1872
fix pylint error "(undefined-variable) Undefined variable 'X'"

Fri, 13 Oct 2017 13:17:42 +0300fix problem happend when tests are running under python-coverage
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 13 Oct 2017 13:17:42 +0300] rev 1871
fix problem happend when tests are running under python-coverage

$ python-coverage run ./tests/tools/test_application.py

Exception while connecting LOCAL://!
Traceback (most recent call last):
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 1753, in _Connect
self._SetConnector(connectors.ConnectorFactory(uri, self)
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 1702, in _SetConnector
if connector is not None:
PyAssertionError: C++ assertion "m_window" failed at ../src/gtk/dcclient.cpp(2043) in DoGetSize(): GetSize() doesn't work without window

Thu, 12 Oct 2017 16:18:05 +0300fix pylint error '(too-many-function-args) Too many positional arguments for function call'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 12 Oct 2017 16:18:05 +0300] rev 1870
fix pylint error '(too-many-function-args) Too many positional arguments for function call'

Wed, 11 Oct 2017 13:55:56 +0300fix pylint error '(import-error) Unable to import X'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 13:55:56 +0300] rev 1869
fix pylint error '(import-error) Unable to import X'

Wed, 11 Oct 2017 13:15:21 +0300fix pylint error '(no-self-argument) Method should have "self" as first argument'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 13:15:21 +0300] rev 1868
fix pylint error '(no-self-argument) Method should have "self" as first argument'

Wed, 11 Oct 2017 11:54:55 +0300fix pylint error "(no-name-in-module) No name 'X' in module 'Y'"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 11:54:55 +0300] rev 1867
fix pylint error "(no-name-in-module) No name 'X' in module 'Y'"

Wed, 11 Oct 2017 11:41:32 +0300fix pylint error '(bad-except-order) Bad except clauses order (X is an ancestor class of Y)'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 11:41:32 +0300] rev 1866
fix pylint error '(bad-except-order) Bad except clauses order (X is an ancestor class of Y)'

Wed, 11 Oct 2017 11:35:19 +0300fix pylint warning "(no-value-for-parameter) No value for argument 'X' in function call"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 11:35:19 +0300] rev 1865
fix pylint warning "(no-value-for-parameter) No value for argument 'X' in function call"

Wed, 11 Oct 2017 10:34:45 +0300fix problems with unconnected input of InOut function variables and
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Oct 2017 10:34:45 +0300] rev 1864
fix problems with unconnected input of InOut function variables and
enfoce InOut variables to be connected for functions and function blocks

Tue, 10 Oct 2017 16:38:57 +0300fix error for functions with VAR_IN_OUT
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 16:38:57 +0300] rev 1863
fix error for functions with VAR_IN_OUT

The problem was found by pylint '(used-before-assignment) Using variable "X" before assignment'

Tue, 10 Oct 2017 14:01:46 +0300fix pylint warning '(unidiomatic-typecheck) Using type() instead of isinstance() for a typecheck'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 14:01:46 +0300] rev 1862
fix pylint warning '(unidiomatic-typecheck) Using type() instead of isinstance() for a typecheck'

Tue, 10 Oct 2017 13:49:13 +0300fix pylint warning '(misplaced-bare-raise) The raise statement is not inside an except clause'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 13:49:13 +0300] rev 1861
fix pylint warning '(misplaced-bare-raise) The raise statement is not inside an except clause'

Tue, 10 Oct 2017 13:43:55 +0300fix format string argument error found by pylint '(too-many-format-args) Too many arguments for format string'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 13:43:55 +0300] rev 1860
fix format string argument error found by pylint '(too-many-format-args) Too many arguments for format string'

Tue, 10 Oct 2017 13:33:46 +0300fix pylint warning '(wrong-import-position) Import "import X" should be placed at the top of the module'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 13:33:46 +0300] rev 1859
fix pylint warning '(wrong-import-position) Import "import X" should be placed at the top of the module'

Tue, 10 Oct 2017 13:21:48 +0300fix pylint warning '(import-self) Module import itself'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 13:21:48 +0300] rev 1858
fix pylint warning '(import-self) Module import itself'

Tue, 10 Oct 2017 12:50:10 +0300remove old code useless code found by pylint "(unnecessary-pass) Unnecessary pass statement"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 12:50:10 +0300] rev 1857
remove old code useless code found by pylint "(unnecessary-pass) Unnecessary pass statement"

Tue, 10 Oct 2017 12:34:50 +0300fix error found by pylint 'W0104(pointless-statement) Statement seems to have no effect'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 12:34:50 +0300] rev 1856
fix error found by pylint 'W0104(pointless-statement) Statement seems to have no effect'

Tue, 10 Oct 2017 12:21:46 +0300fix pylint warning "(undefined-loop-variable) Using possibly undefined loop variable 'X'"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 12:21:46 +0300] rev 1855
fix pylint warning "(undefined-loop-variable) Using possibly undefined loop variable 'X'"

Tue, 10 Oct 2017 11:58:30 +0300fix pylint warning 'C0112(empty-docstring) Empty function docstring'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 10 Oct 2017 11:58:30 +0300] rev 1854
fix pylint warning 'C0112(empty-docstring) Empty function docstring'

Mon, 09 Oct 2017 18:13:26 +0300fix pylint warning "(relative-import) Relative import 'Y', should be 'X.Y'"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 09 Oct 2017 18:13:26 +0300] rev 1853
fix pylint warning "(relative-import) Relative import 'Y', should be 'X.Y'"

Mon, 09 Oct 2017 16:04:39 +0300fix pylint warning '(dangerous-default-value) Dangerous default value {} as argument'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 09 Oct 2017 16:04:39 +0300] rev 1852
fix pylint warning '(dangerous-default-value) Dangerous default value {} as argument'

Mon, 09 Oct 2017 12:30:14 +0300fix pylint warning '(old-style-class) Old-style class defined.'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 09 Oct 2017 12:30:14 +0300] rev 1851
fix pylint warning '(old-style-class) Old-style class defined.'

This warning is ignored for classes from PyJSLib, because library
overrides base object class.