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.

Fri, 06 Oct 2017 17:52:34 +0300fix pylint warning '(unused-import), Unused import connectors'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 Oct 2017 17:52:34 +0300] rev 1850
fix pylint warning '(unused-import), Unused import connectors'

Thu, 05 Oct 2017 16:46:29 +0300fix typos
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 05 Oct 2017 16:46:29 +0300] rev 1849
fix typos

Thu, 05 Oct 2017 16:41:31 +0300comment out unused code SFC_Step.RefreshBoundingBox()
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 05 Oct 2017 16:41:31 +0300] rev 1848
comment out unused code SFC_Step.RefreshBoundingBox()

Thu, 05 Oct 2017 16:38:49 +0300explicitly mark unused variables found by pylint with _ or dummy
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 05 Oct 2017 16:38:49 +0300] rev 1847
explicitly mark unused variables found by pylint with _ or dummy

pylint don't ignores unused variables with '_' in the name, even when
they are started with '_'. This bug is already fixed upstream, to fix
this in all versions of pylint custom dummy-variables-rgx is used
'_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy'

Tue, 03 Oct 2017 16:31:31 +0300remove unused variables found by pylint
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Oct 2017 16:31:31 +0300] rev 1846
remove unused variables found by pylint

Tue, 03 Oct 2017 16:12:55 +0300update .PHONE target in Makefile for mki18n.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Oct 2017 16:12:55 +0300] rev 1845
update .PHONE target in Makefile for mki18n.py

Tue, 03 Oct 2017 16:08:40 +0300make mki18n return 0 on success
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Oct 2017 16:08:40 +0300] rev 1844
make mki18n return 0 on success

Tue, 03 Oct 2017 16:08:00 +0300update list with files for internatialization, app.fil
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Oct 2017 16:08:00 +0300] rev 1843
update list with files for internatialization, app.fil

Tue, 03 Oct 2017 16:07:02 +0300move README content to Makefile
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Oct 2017 16:07:02 +0300] rev 1842
move README content to Makefile

It's not necessary to copy commands from README anymore. Just use
'make source_list', 'make template' or 'make locales'.

Mon, 02 Oct 2017 13:19:06 +0300fix pylint warning '(global-variable-not-assigned) Using global for 'X' but no assignment is done'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 02 Oct 2017 13:19:06 +0300] rev 1841
fix pylint warning '(global-variable-not-assigned) Using global for 'X' but no assignment is done'

Mon, 02 Oct 2017 12:43:01 +0300fix pylint error '(function-redefined) method already defined'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 02 Oct 2017 12:43:01 +0300] rev 1840
fix pylint error '(function-redefined) method already defined'

Fri, 29 Sep 2017 16:48:42 +0300fix pylint warning '(unreachable) Unreachable code'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Sep 2017 16:48:42 +0300] rev 1839
fix pylint warning '(unreachable) Unreachable code'

Fri, 29 Sep 2017 16:39:52 +0300fix pylint warning (bad-indentation) Bad indentation. Found X spaces, expected Y
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Sep 2017 16:39:52 +0300] rev 1838
fix pylint warning (bad-indentation) Bad indentation. Found X spaces, expected Y

Fri, 29 Sep 2017 16:26:15 +0300fix pylint warning '(pointless-string-statement) String statement has no effect'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Sep 2017 16:26:15 +0300] rev 1837
fix pylint warning '(pointless-string-statement) String statement has no effect'

Python doesn't support docstring for variables directly. Where
appropriate Sphinx style for docstrings for variables is used
'#: some-docstring'

Fri, 29 Sep 2017 15:36:33 +0300fix error __init__ method from base class is not called
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Sep 2017 15:36:33 +0300] rev 1836
fix error __init__ method from base class is not called

Thu, 28 Sep 2017 17:24:33 +0300fix more than one statement on a single line
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Sep 2017 17:24:33 +0300] rev 1835
fix more than one statement on a single line

Thu, 28 Sep 2017 17:20:31 +0300fix ungrouped imports from package X
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Sep 2017 17:20:31 +0300] rev 1834
fix ungrouped imports from package X

Thu, 28 Sep 2017 16:25:05 +0300fix unnecessary lambda and enable corresponding pylint check
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Sep 2017 16:25:05 +0300] rev 1833
fix unnecessary lambda and enable corresponding pylint check

Thu, 28 Sep 2017 15:17:57 +0300fix wrong-import-order. first standard modules are imported, then others
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Sep 2017 15:17:57 +0300] rev 1832
fix wrong-import-order. first standard modules are imported, then others

Thu, 28 Sep 2017 12:20:40 +0300fix (old-style-class) Old-style class defined error for most parts of
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Sep 2017 12:20:40 +0300] rev 1831
fix (old-style-class) Old-style class defined error for most parts of
the code

only PyJS code is left, because it does some fancy tricks and can't be
easily fixed. So far PyJS doesn't support Python3 anyway.

Fri, 22 Sep 2017 20:12:22 +0300remove in-tree version of Zeroconf and use upstream from
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 20:12:22 +0300] rev 1830
remove in-tree version of Zeroconf and use upstream from
python-zeroconf package

Fri, 22 Sep 2017 18:06:15 +0300remove reimported modules
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 18:06:15 +0300] rev 1829
remove reimported modules

Fri, 22 Sep 2017 16:37:38 +0300fix unnecessary parens after keyword
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 16:37:38 +0300] rev 1828
fix unnecessary parens after keyword

Fri, 22 Sep 2017 10:57:57 +0300enable pylint checker
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 10:57:57 +0300] rev 1827
enable pylint checker

so far only print statement is checked

Fri, 22 Sep 2017 10:54:42 +0300fix usage of python2-only print statement
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 10:54:42 +0300] rev 1826
fix usage of python2-only print statement

Fri, 22 Sep 2017 10:52:44 +0300run python tests with non-english locale to catch bugs related to localization
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Sep 2017 10:52:44 +0300] rev 1825
run python tests with non-english locale to catch bugs related to localization

Thu, 21 Sep 2017 17:19:18 +0300make it possible to update XSD schema in project controller after new
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Sep 2017 17:19:18 +0300] rev 1824
make it possible to update XSD schema in project controller after new
target PLC is added or removed.

For example:


...
import targets
targets.targets["PLC"] = {"xsd": os.path.join(self.customBeremizPath, "PLCtarget", xsd),
"class": lambda: PLC_target,
"code": {"plc_PLC_main.c": os.path.join(self.customBeremizPath, "PLCtarget", "plc_PLC_main.c")}
}

from ProjectController import ProjectController, GetProjectControllerXSD
ProjectController.XSD = GetProjectControllerXSD()

Thu, 21 Sep 2017 16:06:51 +0300fix commit "lazy initialization of highlight pens and brushes
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Sep 2017 16:06:51 +0300] rev 1823
fix commit "lazy initialization of highlight pens and brushes
for DebugVariableViewer" (5562f34f)

Thu, 21 Sep 2017 15:04:15 +0300clean build example project after running test
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Sep 2017 15:04:15 +0300] rev 1822
clean build example project after running test

Thu, 21 Sep 2017 15:02:36 +0300fix problem if DataTypeEditor was imported before localization is
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Sep 2017 15:02:36 +0300] rev 1821
fix problem if DataTypeEditor was imported before localization is
loaded

That doesn't affect systems with english locales.

Sat, 16 Sep 2017 21:26:17 +0300add shell script to run all python tests and automatically handle Xvfb
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:26:17 +0300] rev 1820
add shell script to run all python tests and automatically handle Xvfb

Sat, 16 Sep 2017 21:24:22 +0300add PLCOpenEditor tests
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:24:22 +0300] rev 1819
add PLCOpenEditor tests

Sat, 16 Sep 2017 21:22:53 +0300run application tests in full screen mode
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:22:53 +0300] rev 1818
run application tests in full screen mode

Sat, 16 Sep 2017 21:22:06 +0300clean sys.argv, because if test is running from pytest
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:22:06 +0300] rev 1817
clean sys.argv, because if test is running from pytest
sys.argv contains string "pytest --timeout 0 ./tests/tools"
Beremiz application parses it and throws exception.

Sat, 16 Sep 2017 21:19:19 +0300rework Beremiz application "testCheckProject" test to allow easier reuse later
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:19:19 +0300] rev 1816
rework Beremiz application "testCheckProject" test to allow easier reuse later

Sat, 16 Sep 2017 21:04:34 +0300add application name for PLCOpenEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 16 Sep 2017 21:04:34 +0300] rev 1815
add application name for PLCOpenEditor

This is needed to work user configuration load/store, if PLCOpenEditor
is launched from test environment.

Fri, 15 Sep 2017 20:30:24 +0300rewrite PLCOpenEditor. Add PLCOpenEditorApp class for easier customizations.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 20:30:24 +0300] rev 1814
rewrite PLCOpenEditor. Add PLCOpenEditorApp class for easier customizations.

Fri, 15 Sep 2017 20:28:54 +0300lazy locale initialization
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 20:28:54 +0300] rev 1813
lazy locale initialization

wx.Locale() can't be called without wx.App. So don't call it at
import. It makes PLCOpenEditor simpler.

Fri, 15 Sep 2017 20:05:41 +0300use CustomIntCtrl instead of wx.SpinCtrl because it doesn't support
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 20:05:41 +0300] rev 1812
use CustomIntCtrl instead of wx.SpinCtrl because it doesn't support
long integer needed for UDINT, (U)LINT types.

This commit complements commit 74a3f4d "fix LINT and ULINT ranges".

Fri, 15 Sep 2017 20:01:21 +0300add custom TextCtrl allowed to enter long integer with bounds checking
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 20:01:21 +0300] rev 1811
add custom TextCtrl allowed to enter long integer with bounds checking

It's needed because wx.SpinCtrl supports only 'int' type. For UDINT
and (U)LINT long type is necessary.

Fri, 15 Sep 2017 19:53:49 +0300use pytest for testing
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 19:53:49 +0300] rev 1810
use pytest for testing

Fri, 15 Sep 2017 19:51:31 +0300run separate test on every project instead of one big long test all projects
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 19:51:31 +0300] rev 1809
run separate test on every project instead of one big long test all projects

Fri, 15 Sep 2017 19:45:41 +0300move configuration for test environment into separate file conftest.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 19:45:41 +0300] rev 1808
move configuration for test environment into separate file conftest.py

Fri, 15 Sep 2017 19:01:31 +0300lazy initialization of highlight pens and brushes for DebugVariableViewer
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 19:01:31 +0300] rev 1807
lazy initialization of highlight pens and brushes for DebugVariableViewer

Constructors wx.Pen() and wx.Brush() require wx.App to exist already.
That causes crash during import of the control,
because import is done before calling main application code.

Fri, 15 Sep 2017 18:57:20 +0300add '_' function to builtin dictionary at import time
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 18:57:20 +0300] rev 1806
add '_' function to builtin dictionary at import time

This allows to import many Beremiz python modules before calling
util.misc.InstallLocalRessources().

Fri, 15 Sep 2017 18:51:42 +0300remove builtin BMZ_DBG. It's not used.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 15 Sep 2017 18:51:42 +0300] rev 1805
remove builtin BMZ_DBG. It's not used.

Wed, 13 Sep 2017 15:39:48 +0300update translation strings
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Sep 2017 15:39:48 +0300] rev 1804
update translation strings

Wed, 13 Sep 2017 15:35:43 +0300updated all existing translations
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Sep 2017 15:35:43 +0300] rev 1803
updated all existing translations
added new languages: Portuguese (Portugal), Italian, Hungarian,
Spanish and Bengali. See version.py for information about translators.

Wed, 13 Sep 2017 10:18:04 +0300fix LINT and ULINT ranges
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Sep 2017 10:18:04 +0300] rev 1802
fix LINT and ULINT ranges

Tue, 12 Sep 2017 18:32:13 +0300found installed Inkscape on Windows
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 18:32:13 +0300] rev 1801
found installed Inkscape on Windows

tested with Inkscape version 0.9 on Windows 7.

Tue, 12 Sep 2017 16:49:35 +0300make possible to turn off at compile time online debugging, logging
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 16:49:35 +0300] rev 1800
make possible to turn off at compile time online debugging, logging
and external sync functionality

Defines TARGET_DEBUG_DISABLE, TARGET_LOGGING_DISABLE, TARGET_EXT_SYNC_DISABLE
allow to use generated PLC code in low-cost microcontrollers,
integrate into external programs and so on.

main.c:
extern void __run(void);
int main(void)
{
for(;;) {
__run();
// sleep common_ticktime__ ns
// add common_ticktime__ ns to __CURRENT_TIME
}
return 0;
}

Compile for example for arm bare-metal:
../build$ arm-none-eabi-gcc \
-DTARGET_DEBUG_DISABLE -DTARGET_LOGGER_DISABLE
-DTARGET_EXT_SYNC_DISABLE \
-flto -ffunction-sections -fdata-sections -I../../../../matiec/lib/C \
*.c \
-nodefaultlibs --specs=nano.specs -Wl,--static -Wl,--gc-section -Wl,--start-group -lc -lm -lnosys -lgcc -Wl,--end-group

Tue, 12 Sep 2017 14:22:17 +0300make default caption for PouNameDialog translatable
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 14:22:17 +0300] rev 1799
make default caption for PouNameDialog translatable

Tue, 12 Sep 2017 14:18:50 +0300fix max value for UDINT and ULINT types
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 14:18:50 +0300] rev 1798
fix max value for UDINT and ULINT types

Tue, 12 Sep 2017 14:13:39 +0300update Build icon
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 14:13:39 +0300] rev 1797
update Build icon

Tue, 12 Sep 2017 10:21:51 +0300add couple Beremiz application tests
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 12 Sep 2017 10:21:51 +0300] rev 1796
add couple Beremiz application tests

These tests trigger around 45% of python code.
Used in tests docker files are avaiable here:
https://bitbucket.org/skvorl/beremiz-dockerfiles

Fri, 08 Sep 2017 11:53:48 +0300fix problem if _should_write is called by expired timer after
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 08 Sep 2017 11:53:48 +0300] rev 1795
fix problem if _should_write is called by expired timer after
termination of wx application.

Mon, 28 Aug 2017 10:49:53 +0000Initial Bitbucket Pipelines configuration
Sergey Surkov <surkovsv93@gmail.com> [Mon, 28 Aug 2017 10:49:53 +0000] rev 1794
Initial Bitbucket Pipelines configuration

Mon, 28 Aug 2017 13:43:46 +0300fix bug with unfinished debug thread
Surkov Sergey <surkovsv93@gmail.com> [Mon, 28 Aug 2017 13:43:46 +0300] rev 1793
fix bug with unfinished debug thread
this bug occurs when user doesn't stop debugging process in current project, and opens another project

Fri, 25 Aug 2017 14:01:44 +0300unify exception handling of Beremiz and PLCOpenEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 Aug 2017 14:01:44 +0300] rev 1792
unify exception handling of Beremiz and PLCOpenEditor

Fri, 25 Aug 2017 12:23:45 +0300fix problem running PLCOpenEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 Aug 2017 12:23:45 +0300] rev 1791
fix problem running PLCOpenEditor

$ ./PLCOpenEditor.py
../src/common/stdpbase.cpp(62): assert "traits" failed in Get(): create wxApp before calling this

Regression was introduced by '3311eea' (clean-up: fix PEP8 E402 module level import not at top of file)

Fri, 25 Aug 2017 12:01:23 +0300don't check any particular wx version
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 Aug 2017 12:01:23 +0300] rev 1790
don't check any particular wx version

Beremiz works with any version of wx.

Fri, 25 Aug 2017 11:22:08 +0300fix problem when Beremiz is running without matiec installed
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 25 Aug 2017 11:22:08 +0300] rev 1789
fix problem when Beremiz is running without matiec installed

set matiec settings only once on first use of ProjectController class and give
user-friendly message on compilation about missing matiec
installation.


Traceback (most recent call last):
File "Beremiz.py", line 197, in <module>
beremiz.Start()
File "Beremiz.py", line 192, in Start
self.CreateApplication()
File "Beremiz.py", line 130, in CreateApplication
self.BackgroundInitialization()
File "Beremiz.py", line 137, in BackgroundInitialization
self.ImportModules()
File "Beremiz.py", line 176, in ImportModules
import BeremizIDE
File
"BeremizIDE.py", line 76, in <module>
from ProjectController import ProjectController, GetAddMenuItems,
MATIEC_ERROR_MODEL, ITEM_CONFNODE
File
"ProjectController.py", line 177, in <module>
iec2c_cfg = Iec2CSettings()
File
"ProjectController.py", line 101, in __init__
self.ieclib_c_path = self.findLibCPath()
File
"ProjectController.py", line 135, in findLibCPath
os.path.join(self.ieclib_path, "C"),
File "/usr/lib/python2.7/posixpath.py", line 70, in join
elif path == '' or path.endswith('/'):
AttributeError: 'NoneType' object has no attribute 'endswith'

Tue, 22 Aug 2017 14:15:49 +0000Initial Bitbucket Pipelines configuration
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 22 Aug 2017 14:15:49 +0000] rev 1788
Initial Bitbucket Pipelines configuration

Tue, 22 Aug 2017 17:14:40 +0300add configuration for Bitbucket pipelines
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 22 Aug 2017 17:14:40 +0300] rev 1787
add configuration for Bitbucket pipelines

Tue, 22 Aug 2017 17:14:08 +0300add shell script to test Beremiz python code
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 22 Aug 2017 17:14:08 +0300] rev 1786
add shell script to test Beremiz python code

currently only codestyle checking is done using pycodestyle (ex-pep8).
Later checks by flake8 and pylint maybe enabled.

Tue, 22 Aug 2017 12:45:06 +0300clean-up: fix PEP8 W503 line break before binary operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 22 Aug 2017 12:45:06 +0300] rev 1785
clean-up: fix PEP8 W503 line break before binary operator

Mon, 21 Aug 2017 23:22:58 +0300fix codestyle issues according to PEP8
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 23:22:58 +0300] rev 1784
fix codestyle issues according to PEP8

Mon, 21 Aug 2017 22:41:37 +0300clean-up: fix PEP8 E402 module level import not at top of file
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 22:41:37 +0300] rev 1783
clean-up: fix PEP8 E402 module level import not at top of file

Mon, 21 Aug 2017 21:55:18 +0300clean-up: fix PEP8 E265 block comment should start with '# '
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 21:55:18 +0300] rev 1782
clean-up: fix PEP8 E265 block comment should start with '# '

Sat, 19 Aug 2017 21:06:54 +0300clean-up: fix PEP8 E266 too many leading '#' for block comment
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 21:06:54 +0300] rev 1781
clean-up: fix PEP8 E266 too many leading '#' for block comment

Sat, 19 Aug 2017 18:12:20 +0300clean-up: fix PEP8 E722 do not use bare except'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 18:12:20 +0300] rev 1780
clean-up: fix PEP8 E722 do not use bare except'

better it'd be to use particular exception instead of 'except Exception'.

Sat, 19 Aug 2017 17:17:54 +0300clean-up: fix PEP8 E115 expected an indented block (comment)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 17:17:54 +0300] rev 1779
clean-up: fix PEP8 E115 expected an indented block (comment)

Sat, 19 Aug 2017 17:12:12 +0300clean-up: fix PEP8 E721 do not compare types, use 'isinstance()'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 17:12:12 +0300] rev 1778
clean-up: fix PEP8 E721 do not compare types, use 'isinstance()'

Sat, 19 Aug 2017 17:04:31 +0300clean-up: fix PEP8 E131 continuation line unaligned for hanging indent
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 17:04:31 +0300] rev 1777
clean-up: fix PEP8 E131 continuation line unaligned for hanging indent

Sat, 19 Aug 2017 16:45:37 +0300clean-up: fix PEP8 E122 continuation line missing indentation or outdented
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 16:45:37 +0300] rev 1776
clean-up: fix PEP8 E122 continuation line missing indentation or outdented

Sat, 19 Aug 2017 16:30:15 +0300clean-up: fix PEP8 E713 test for membership should be 'not in'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 16:30:15 +0300] rev 1775
clean-up: fix PEP8 E713 test for membership should be 'not in'

Sat, 19 Aug 2017 01:11:27 +0300clean-up: fix PEP8 E272 multiple spaces before keyword
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 01:11:27 +0300] rev 1774
clean-up: fix PEP8 E272 multiple spaces before keyword

Sat, 19 Aug 2017 00:58:44 +0300clean-up: fix PEP8 E124 closing bracket does not match visual indentation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 00:58:44 +0300] rev 1773
clean-up: fix PEP8 E124 closing bracket does not match visual indentation

Sat, 19 Aug 2017 00:30:22 +0300clean-up: fix PEP8 W191 indentation contains tabs
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 00:30:22 +0300] rev 1772
clean-up: fix PEP8 W191 indentation contains tabs

Sat, 19 Aug 2017 00:11:12 +0300clean-up: fix PEP8 E211 whitespace before '[' or '('
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 00:11:12 +0300] rev 1771
clean-up: fix PEP8 E211 whitespace before '[' or '('

Sat, 19 Aug 2017 00:04:33 +0300clean-up: fix PEP8 E114 indentation is not a multiple of four (comment)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sat, 19 Aug 2017 00:04:33 +0300] rev 1770
clean-up: fix PEP8 E114 indentation is not a multiple of four (comment)

Fri, 18 Aug 2017 23:39:15 +0300clean-up: fix PEP8 E125 continuation line with same indent as next logical line
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 18 Aug 2017 23:39:15 +0300] rev 1769
clean-up: fix PEP8 E125 continuation line with same indent as next logical line

Fri, 18 Aug 2017 20:14:38 +0300clean-up: fix PEP8 E128 continuation line under-indented for visual indent
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 18 Aug 2017 20:14:38 +0300] rev 1768
clean-up: fix PEP8 E128 continuation line under-indented for visual indent

Fri, 18 Aug 2017 12:36:31 +0300clean-up: fix PEP8 E127 continuation line over-indented for visual indent
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 18 Aug 2017 12:36:31 +0300] rev 1767
clean-up: fix PEP8 E127 continuation line over-indented for visual indent

Thu, 17 Aug 2017 17:25:17 +0300clean-up: fix PEP8 E129 visually indented line with same indent as next logical line
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 17:25:17 +0300] rev 1766
clean-up: fix PEP8 E129 visually indented line with same indent as next logical line

Thu, 17 Aug 2017 16:26:32 +0300clean-up: fix PEP8 W602 deprecated form of raising exception
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 16:26:32 +0300] rev 1765
clean-up: fix PEP8 W602 deprecated form of raising exception

Thu, 17 Aug 2017 15:43:25 +0300clean-up: fix PEP8 E502 the backslash is redundant between brackets
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 15:43:25 +0300] rev 1764
clean-up: fix PEP8 E502 the backslash is redundant between brackets

Thu, 17 Aug 2017 14:27:06 +0300clean-up: fix PEP8 W601 .has_key() is deprecated, use 'in'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 14:27:06 +0300] rev 1763
clean-up: fix PEP8 W601 .has_key() is deprecated, use 'in'

Thu, 17 Aug 2017 11:39:10 +0300clean-up: fix PEP8 E731 do not assign a lambda expression, use a def
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 11:39:10 +0300] rev 1762
clean-up: fix PEP8 E731 do not assign a lambda expression, use a def

Thu, 17 Aug 2017 10:12:04 +0300clean-up: fix PEP8 E203 whitespace before ','
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 10:12:04 +0300] rev 1761
clean-up: fix PEP8 E203 whitespace before ','

Thu, 17 Aug 2017 10:08:23 +0300clean-up: fix PEP8 E262 inline comment should start with '# '
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 10:08:23 +0300] rev 1760
clean-up: fix PEP8 E262 inline comment should start with '# '

Thu, 17 Aug 2017 10:04:24 +0300clean-up: fix PEP8 E712 comparison to True should be 'if cond is True:' or 'if cond:'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 10:04:24 +0300] rev 1759
clean-up: fix PEP8 E712 comparison to True should be 'if cond is True:' or 'if cond:'

Thu, 17 Aug 2017 09:55:39 +0300clean-up: fix PEP8 E222 multiple spaces after operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Aug 2017 09:55:39 +0300] rev 1758
clean-up: fix PEP8 E222 multiple spaces after operator

Wed, 16 Aug 2017 17:27:58 +0300clean-up: fix PEP8 E111 indentation is not a multiple of four
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 17:27:58 +0300] rev 1757
clean-up: fix PEP8 E111 indentation is not a multiple of four

Wed, 16 Aug 2017 16:37:45 +0300clean-up: fix PEP8 E701 multiple statements on one line (colon)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 16:37:45 +0300] rev 1756
clean-up: fix PEP8 E701 multiple statements on one line (colon)

Wed, 16 Aug 2017 15:18:57 +0300clean-up: fix PEP8 E741 ambiguous variable name
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 15:18:57 +0300] rev 1755
clean-up: fix PEP8 E741 ambiguous variable name

Wed, 16 Aug 2017 13:56:36 +0300clean-up: fix most PEP8 E221 multiple spaces before operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 13:56:36 +0300] rev 1754
clean-up: fix most PEP8 E221 multiple spaces before operator

Wed, 16 Aug 2017 13:49:02 +0300clean-up: fix most PEP8 E266 too many leading '#' for block comment
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 13:49:02 +0300] rev 1753
clean-up: fix most PEP8 E266 too many leading '#' for block comment

Wed, 16 Aug 2017 13:01:13 +0300clean-up: fix PEP8 E703 statement ends with a semicolon
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 13:01:13 +0300] rev 1752
clean-up: fix PEP8 E703 statement ends with a semicolon

Wed, 16 Aug 2017 12:57:52 +0300clean-up: fix PEP8 E301 expected 1 blank line, found 0
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:57:52 +0300] rev 1751
clean-up: fix PEP8 E301 expected 1 blank line, found 0

Wed, 16 Aug 2017 12:53:23 +0300clean-up: fix PEP8 E306 expected 1 blank line before a nested definition, found X
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:53:23 +0300] rev 1750
clean-up: fix PEP8 E306 expected 1 blank line before a nested definition, found X

Wed, 16 Aug 2017 12:48:08 +0300clean-up: fix PEP8 E305 expected 2 blank lines after class or function definition
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:48:08 +0300] rev 1749
clean-up: fix PEP8 E305 expected 2 blank lines after class or function definition

Wed, 16 Aug 2017 12:30:31 +0300clean-up: fix PEP8 W391 blank line at end of file
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:30:31 +0300] rev 1748
clean-up: fix PEP8 W391 blank line at end of file

Wed, 16 Aug 2017 12:21:05 +0300clean-up: fix PEP8 E201 whitespace after '{'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:21:05 +0300] rev 1747
clean-up: fix PEP8 E201 whitespace after '{'

Wed, 16 Aug 2017 12:03:46 +0300clean-up: fix PEP8 E202 whitespace before ')'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 12:03:46 +0300] rev 1746
clean-up: fix PEP8 E202 whitespace before ')'

Wed, 16 Aug 2017 11:47:27 +0300clean-up: fix PEP8 E227 missing whitespace around bitwise or shift operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 16 Aug 2017 11:47:27 +0300] rev 1745
clean-up: fix PEP8 E227 missing whitespace around bitwise or shift operator

Tue, 15 Aug 2017 22:38:43 +0300clean-up: fix PEP8 E251 unexpected spaces around keyword / parameter equals
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 22:38:43 +0300] rev 1744
clean-up: fix PEP8 E251 unexpected spaces around keyword / parameter equals

Tue, 15 Aug 2017 17:01:51 +0300clean-up: fix PEP8 E711 comparison to None should be 'if cond is not None:'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 17:01:51 +0300] rev 1743
clean-up: fix PEP8 E711 comparison to None should be 'if cond is not None:'

Tue, 15 Aug 2017 16:48:49 +0300clean-up: fix PEP8 E225 missing whitespace around operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 16:48:49 +0300] rev 1742
clean-up: fix PEP8 E225 missing whitespace around operator

Tue, 15 Aug 2017 16:01:18 +0300clean-up: fix PEP8 E303 too many blank lines
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 16:01:18 +0300] rev 1741
clean-up: fix PEP8 E303 too many blank lines

Tue, 15 Aug 2017 15:50:30 +0300clean-up: fix PEP8 E231 missing whitespace after ':' or ','
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 15:50:30 +0300] rev 1740
clean-up: fix PEP8 E231 missing whitespace after ':' or ','

Tue, 15 Aug 2017 12:17:51 +0300clean-up: fix PEP8 E203 whitespace before ':' and whitespace before ','
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 15 Aug 2017 12:17:51 +0300] rev 1739
clean-up: fix PEP8 E203 whitespace before ':' and whitespace before ','

Mon, 14 Aug 2017 23:38:28 +0300clean-up: fix PEP8 E271 multiple spaces after keyword
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 23:38:28 +0300] rev 1738
clean-up: fix PEP8 E271 multiple spaces after keyword

Mon, 14 Aug 2017 23:34:22 +0300clean-up: fix PEP8 E261 at least two spaces before inline comment
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 23:34:22 +0300] rev 1737
clean-up: fix PEP8 E261 at least two spaces before inline comment

Mon, 14 Aug 2017 23:27:15 +0300clean-up: fix PEP8 E302 expected 2 blank lines, found 1
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 23:27:15 +0300] rev 1736
clean-up: fix PEP8 E302 expected 2 blank lines, found 1

Mon, 14 Aug 2017 22:30:41 +0300clean-up: fix PEP8 W293 blank line contains whitespace
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 22:30:41 +0300] rev 1735
clean-up: fix PEP8 W293 blank line contains whitespace

Mon, 14 Aug 2017 22:23:17 +0300clean-up: fix some PEP8 E228 missing whitespace around modulo operator
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 22:23:17 +0300] rev 1734
clean-up: fix some PEP8 E228 missing whitespace around modulo operator

Mon, 14 Aug 2017 21:31:01 +0300clean-up: fix some PEP8 E265 block comment should start with '# '
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 21:31:01 +0300] rev 1733
clean-up: fix some PEP8 E265 block comment should start with '# '

Mon, 14 Aug 2017 21:20:32 +0300clean-up: fix PEP8 E401 multiple imports on one line
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 21:20:32 +0300] rev 1732
clean-up: fix PEP8 E401 multiple imports on one line

Mon, 14 Aug 2017 21:09:48 +0300convert some files from CRLF to LF
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 21:09:48 +0300] rev 1731
convert some files from CRLF to LF

It'll break for these files hg blame/annotate. Fortunately not many
files are affected.

Mon, 14 Aug 2017 19:13:01 +0300clean-up for PEP8: fix W291 trailing whitespace
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 14 Aug 2017 19:13:01 +0300] rev 1730
clean-up for PEP8: fix W291 trailing whitespace

Mon, 21 Aug 2017 20:17:19 +0000README.md edited online with Bitbucket
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 20:17:19 +0000] rev 1729
README.md edited online with Bitbucket

Mon, 21 Aug 2017 20:16:00 +0000fix link to documentation in README.md
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 20:16:00 +0000] rev 1728
fix link to documentation in README.md

Mon, 21 Aug 2017 20:14:34 +0000Add information about built official documentation to README.md
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 21 Aug 2017 20:14:34 +0000] rev 1727
Add information about built official documentation to README.md

Fri, 11 Aug 2017 15:18:19 +0300don't allow empty dimension for ARRAY types
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 11 Aug 2017 15:18:19 +0300] rev 1726
don't allow empty dimension for ARRAY types

Wed, 09 Aug 2017 14:34:28 +0300ignore built documentation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 09 Aug 2017 14:34:28 +0300] rev 1725
ignore built documentation

Wed, 09 Aug 2017 14:13:17 +0300manual: add untranslated po files for French and Korean
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 09 Aug 2017 14:13:17 +0300] rev 1724
manual: add untranslated po files for French and Korean

Wed, 09 Aug 2017 14:11:20 +0300build missing pot files, when building HTML documentation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 09 Aug 2017 14:11:20 +0300] rev 1723
build missing pot files, when building HTML documentation

Mon, 07 Aug 2017 14:28:29 +0300fix some typos
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Aug 2017 14:28:29 +0300] rev 1722
fix some typos

Sun, 30 Jul 2017 13:54:51 -0700Changed title of new project dialog from:
janbarslo [Sun, 30 Jul 2017 13:54:51 -0700] rev 1721
Changed title of new project dialog from:
Choose a project
to
Choose an empty directory for new project

Sun, 30 Jul 2017 13:51:43 -0700Changed title of New Project dialog
janbarslo [Sun, 30 Jul 2017 13:51:43 -0700] rev 1720
Changed title of New Project dialog
from
Chose a project
to
Choose an empty directory for new project

Fri, 28 Jul 2017 15:34:11 +0300skip hidden files and directories on permission check
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 28 Jul 2017 15:34:11 +0300] rev 1719
skip hidden files and directories on permission check

To fix problems with git, because .git subdirectory contains
read-only repository objects.

Fri, 14 Jul 2017 18:26:20 +0300change structure of filename for bug reports in Beremiz and
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 14 Jul 2017 18:26:20 +0300] rev 1718
change structure of filename for bug reports in Beremiz and
PLCOpenEditor so bug reports could be easily sorted by name

Wed, 05 Jul 2017 13:11:45 +0300fix target Xenomai missing functions
wuyangtang <wuyangtang@live.com> [Wed, 05 Jul 2017 13:11:45 +0300] rev 1717
fix target Xenomai missing functions

Wed, 05 Jul 2017 13:03:58 +0300update messages.pot and messages.po
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Jul 2017 13:03:58 +0300] rev 1716
update messages.pot and messages.po

Wed, 05 Jul 2017 13:02:30 +0300mki18n.py: generate messages.po (contains English strings in msgstr)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Jul 2017 13:02:30 +0300] rev 1715
mki18n.py: generate messages.po (contains English strings in msgstr)

This po file is necessary because Transifex translation platform
automatically can only import PO files. Usually messages.pot is
enough.

Wed, 05 Jul 2017 12:59:43 +0300add to i18n/README forgotten commands to add some XML schemes as source
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Jul 2017 12:59:43 +0300] rev 1714
add to i18n/README forgotten commands to add some XML schemes as source
for strings and update app.fil

Tue, 04 Jul 2017 14:00:42 +0300Backout commit 92537ed because of writing localized string in node *.xml file
Surkov Sergey <surkovsv93@gmail.com> [Tue, 04 Jul 2017 14:00:42 +0300] rev 1713
Backout commit 92537ed because of writing localized string in node *.xml file

Tue, 04 Jul 2017 13:46:48 +0300Backout changeset 92537edeb2052d53ba5cad8b6da8463dbc660bb1
Surkov Sergey <surkovsv93@gmail.com> [Tue, 04 Jul 2017 13:46:48 +0300] rev 1712
Backout changeset 92537edeb2052d53ba5cad8b6da8463dbc660bb1

Wed, 28 Jun 2017 18:38:52 +0300fixes double mouse capturing after forcing variable in debug mode
Surkov Sergey <surkovsv93@gmail.com> [Wed, 28 Jun 2017 18:38:52 +0300] rev 1711
fixes double mouse capturing after forcing variable in debug mode
this problem appears on Linux

Tue, 27 Jun 2017 19:21:09 +0300fix bug with TextViewer instance in debug mode, appears after transferring new program on PLC
Surkov Sergey <surkovsv93@gmail.com> [Tue, 27 Jun 2017 19:21:09 +0300] rev 1710
fix bug with TextViewer instance in debug mode, appears after transferring new program on PLC
TextViewer isn't able to display debug values, so calling for this class SubscribeAllDataConsumers method causes error

Tue, 27 Jun 2017 13:30:48 +0300fix build problem when make command have trailing whitespace(s)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 27 Jun 2017 13:30:48 +0300] rev 1709
fix build problem when make command have trailing whitespace(s)

whitespaces at the end are replaced with "", that causes make problem

Mon, 26 Jun 2017 19:42:42 +0300add dialog "add program", that appears after creating new project
Surkov Sergey <surkovsv93@gmail.com> [Mon, 26 Jun 2017 19:42:42 +0300] rev 1708
add dialog "add program", that appears after creating new project
also, sets one task and one instance of created program in main project resource

Mon, 26 Jun 2017 19:38:51 +0300fix i18n string selection for combobox generated from XSD
Surkov Sergey <surkovsv93@gmail.com> [Mon, 26 Jun 2017 19:38:51 +0300] rev 1707
fix i18n string selection for combobox generated from XSD

Thu, 22 Jun 2017 16:43:38 +0300update Russian and French (Fabien M) translations
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Jun 2017 16:43:38 +0300] rev 1706
update Russian and French (Fabien M) translations
added Slovenian (Janez Pregelj) and Portuguese (Thiago Alves) translations

Thu, 22 Jun 2017 16:08:50 +0300l18n: update messages.pot and app.fil
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Jun 2017 16:08:50 +0300] rev 1705
l18n: update messages.pot and app.fil

Thu, 22 Jun 2017 16:07:56 +0300add l18n support to variable table in CodeFileEditor (python/C extension)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Jun 2017 16:07:56 +0300] rev 1704
add l18n support to variable table in CodeFileEditor (python/C extension)

Thu, 22 Jun 2017 16:06:34 +0300set project name and character set in generated messages.pot
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Jun 2017 16:06:34 +0300] rev 1703
set project name and character set in generated messages.pot

Thu, 22 Jun 2017 15:55:26 +0300close DurationEditorDialog on ENTER key
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Jun 2017 15:55:26 +0300] rev 1702
close DurationEditorDialog on ENTER key

Wed, 21 Jun 2017 17:08:52 +0300add button to ForceVariableDialog to toggle forced boolean value
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 21 Jun 2017 17:08:52 +0300] rev 1701
add button to ForceVariableDialog to toggle forced boolean value

Button is added only for boolean variables.

Tue, 20 Jun 2017 18:57:29 +0300fix problem with hidden FindInPou dialog with wxPython 3.0 on Windows
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 20 Jun 2017 18:57:29 +0300] rev 1700
fix problem with hidden FindInPou dialog with wxPython 3.0 on Windows

FindInPou.IsShown() returned True, but dialog was hidden.
At same time On GNU/Linux with wxPython 3.0 there wasn't such problem.
So it's Windows specific.

Tue, 20 Jun 2017 17:01:19 +0300enable non-latin variable descriptions in CodeFileEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 20 Jun 2017 17:01:19 +0300] rev 1699
enable non-latin variable descriptions in CodeFileEditor

fix following backtrace:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)
Traceback (most recent call last):
File "beremiz/editors/CodeFileEditor.py", line 610, in GetValue
return str(self.data[row].get(self.GetColLabelValue(col, False), ""))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)

Tue, 20 Jun 2017 16:36:17 +0300disable empty coils and contacts in LD/SFC editors
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 20 Jun 2017 16:36:17 +0300] rev 1698
disable empty coils and contacts in LD/SFC editors

Closes #30

Mon, 19 Jun 2017 19:23:31 +0300remove debug code
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 19 Jun 2017 19:23:31 +0300] rev 1697
remove debug code

Mon, 19 Jun 2017 18:49:43 +0300make all dialog have non-fixed size
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 19 Jun 2017 18:49:43 +0300] rev 1696
make all dialog have non-fixed size

this fixes the problem, that some controls may be hidden in some cases, because
dialog size is too small. This can happen when system fonts are bigger
than expected, default system them controls are bigger or if localized
strings are bigger than in English.

Fri, 09 Jun 2017 18:12:12 +0300avoid infinite loop in search
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 09 Jun 2017 18:12:12 +0300] rev 1695
avoid infinite loop in search

for example following regexp '()' creates infinite list of result

Thu, 08 Jun 2017 17:30:23 +0300make adjustable size of ArrayTypeDialog
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 08 Jun 2017 17:30:23 +0300] rev 1694
make adjustable size of ArrayTypeDialog

Thu, 08 Jun 2017 17:29:41 +0300fix problem with initial values for array of structures
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 08 Jun 2017 17:29:41 +0300] rev 1693
fix problem with initial values for array of structures

for structures wrong empty repetition attributes were generated

Tue, 06 Jun 2017 14:21:53 +0300add information about community support channel to Beremiz and PLCOpenEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 06 Jun 2017 14:21:53 +0300] rev 1692
add information about community support channel to Beremiz and PLCOpenEditor

Tue, 06 Jun 2017 13:13:57 +0300cleanup wxHMI example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 06 Jun 2017 13:13:57 +0300] rev 1691
cleanup wxHMI example

Tue, 06 Jun 2017 13:12:10 +0300cleanup wxGlade example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 06 Jun 2017 13:12:10 +0300] rev 1690
cleanup wxGlade example

Tue, 06 Jun 2017 13:11:18 +0300add comments to wiimote example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 06 Jun 2017 13:11:18 +0300] rev 1689
add comments to wiimote example

Tue, 06 Jun 2017 13:05:30 +0300fix running wxGlade on current Debian systems
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 06 Jun 2017 13:05:30 +0300] rev 1688
fix running wxGlade on current Debian systems

wxGlade was moved from python import path to /usr/share/wxglade

Fri, 02 Jun 2017 19:58:27 +0300rename text field in SVG graphic to match IEC code in svgui example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 02 Jun 2017 19:58:27 +0300] rev 1687
rename text field in SVG graphic to match IEC code in svgui example

This caused svgui example to crash.

Thu, 01 Jun 2017 14:37:14 +0300disallow setting IEC location addresses for TIME, DATE, DT and TOD variables
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 01 Jun 2017 14:37:14 +0300] rev 1686
disallow setting IEC location addresses for TIME, DATE, DT and TOD variables

Size of these types is not defined and depends on the implementation
(IEC 61131-3 2.3.1).

Tue, 30 May 2017 17:09:33 +0300if there is no users matiec installation, then use system path to run iec2c
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 30 May 2017 17:09:33 +0300] rev 1685
if there is no users matiec installation, then use system path to run iec2c

search for matiec libraries in system path as well

Closes #29

Tue, 23 May 2017 16:06:29 +0300remove child node from add child node menu, if max count of the same type nodes reached
Surkov Sergey <surkovsv93@gmail.com> [Tue, 23 May 2017 16:06:29 +0300] rev 1684
remove child node from add child node menu, if max count of the same type nodes reached

Thu, 18 May 2017 18:00:56 +0300fix reducing groups with ordered elements
Surkov Sergey <surkovsv93@gmail.com> [Thu, 18 May 2017 18:00:56 +0300] rev 1683
fix reducing groups with ordered elements

Wed, 03 May 2017 11:03:44 +0300fix extra brace
Anton Midyukov [Wed, 03 May 2017 11:03:44 +0300] rev 1682
fix extra brace

Fri, 28 Apr 2017 13:28:22 +0300add getCompiler and getLinker methods, to abstract from XSD.
Paul Beltyukov <beltyukov.p.a@gmail.com> [Fri, 28 Apr 2017 13:28:22 +0300] rev 1681
add getCompiler and getLinker methods, to abstract from XSD.
add calc_source_md5 as it's more convenient especially for embedded
targets to add -DPLC_MD5="something" option at compile time than
to mess with editing binary.
add some more helper methods

Thu, 20 Apr 2017 13:01:45 +0300make run Beremiz and PLCOpen Editor, if full path contain non-lating
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 20 Apr 2017 13:01:45 +0300] rev 1680
make run Beremiz and PLCOpen Editor, if full path contain non-lating
characters

There was a problem in About dialog and in project properites tab and
probably in my other places, when str is automatically converted to
unicode string using ascii.
This patch converts str to unicode using proper encoding at the very beggining.

Wed, 12 Apr 2017 10:20:01 +0000README.md edited online with Bitbucket
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 12 Apr 2017 10:20:01 +0000] rev 1679
README.md edited online with Bitbucket

Tue, 11 Apr 2017 19:09:34 +0300fix clearing project name on opening project properties page.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 11 Apr 2017 19:09:34 +0300] rev 1678
fix clearing project name on opening project properties page.

The problem exists only on Windows with wxPython-3.0.

This happens because callback for EVT_KILL_FOCUS for a first text
control (project name) is called just after creating page with project
properties. It happens before initializing text controls from PLCController.

Tue, 11 Apr 2017 17:45:49 +0300fix problem with debugging external string variables
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 11 Apr 2017 17:45:49 +0300] rev 1677
fix problem with debugging external string variables

Debug update stopped if external string variable added to debug
variable panel.

Tue, 11 Apr 2017 12:51:35 +0300fix problem with clearing non-empty location field after changing type of config variable
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 11 Apr 2017 12:51:35 +0300] rev 1676
fix problem with clearing non-empty location field after changing type of config variable

introduced by cd9db17 ("clear variable location cell in variable
panel, if variable class or type changed").

Closes #26

Mon, 10 Apr 2017 18:29:12 +0300fix backtrace on opening program/resource on small screens
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 10 Apr 2017 18:29:12 +0300] rev 1675
fix backtrace on opening program/resource on small screens

Fix regression introduced by f4696d8 ("add stretching to columns Name,
Type, Doc in variable panel").
This problem happens only on wxPython-3.0.

Fri, 07 Apr 2017 16:54:31 +0300show whether instance of SFC action is currently active or not in its
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 07 Apr 2017 16:54:31 +0300] rev 1674
show whether instance of SFC action is currently active or not in its
debug instance view

Wed, 05 Apr 2017 14:24:52 +0300clean PLC log only if there is something to clean
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Apr 2017 14:24:52 +0300] rev 1673
clean PLC log only if there is something to clean

Otherwise exception happens in Beremiz service.

Traceback (most recent call last):
File "/home/developer/WorkData/PLC/beremiz/beremiz/connectors/PYRO/_init_.py", line 113, in catcher_func
return func(*args, **kwargs)
File "/home/developer/WorkData/PLC/beremiz/beremiz/connectors/PYRO/_init_.py", line 194, in my_local_func
return RemotePLCObjectProxy._getattr_(attrName)(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/Pyro/core.py", line 381, in _call_
return self._send(self._name, args, kwargs)
File "/usr/lib/python2.7/dist-packages/Pyro/core.py", line 456, in _invokePYRO
return self.adapter.remoteInvocation(name, Pyro.constants.RIF_VarargsAndKeywords, vargs, kargs)
File "/usr/lib/python2.7/dist-packages/Pyro/protocol.py", line 457, in remoteInvocation
return self._remoteInvocation(method, flags, *args)
File "/usr/lib/python2.7/dist-packages/Pyro/protocol.py", line 532, in _remoteInvocation
answer.raiseEx()
File "/usr/lib/python2.7/dist-packages/Pyro/errors.py", line 72, in raiseEx
raise self.excObj
AttributeError: 'PLCObject' object has no attribute '_ResetLogCount'
+--- This exception occured remotely (Pyro) - Remote traceback:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/Pyro/protocol.py", line 719, in _handleInvocation2
res = obj.Pyro_dyncall(req[1],flags,req[3]) # (method,flags,args)
File "/usr/lib/python2.7/dist-packages/Pyro/core.py", line 108, in Pyro_dyncall
return getattr(self.delegate or self,method) (args,*keywords)
File "/home/developer/WorkData/PLC/beremiz/beremiz/runtime/PLCObject.py", line 101, in ResetLogCount
if self._ResetLogCount is not None:
AttributeError: 'PLCObject' object has no attribute '_ResetLogCount'
+--- End of remote traceback

Wed, 05 Apr 2017 14:17:02 +0300reset loaded messages counts on new PLC program trasnfer
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Apr 2017 14:17:02 +0300] rev 1672
reset loaded messages counts on new PLC program trasnfer

This fixes the problem that first message from newer PLC program maybe
lost, if it's issued before first PLC log fetching.

Closes #23

Tue, 04 Apr 2017 11:34:31 +0300add function block to variable panel if fb is added using toolbar
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 04 Apr 2017 11:34:31 +0300] rev 1671
add function block to variable panel if fb is added using toolbar

Closes #25

Tue, 28 Mar 2017 19:48:51 +0300enable to write SFC transition in IL
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 28 Mar 2017 19:48:51 +0300] rev 1670
enable to write SFC transition in IL

This commit reverts previous commit 3f3d97be9a9f.
Because the fix for the matiec problem is already upstream
(https://bitbucket.org/mjsousa/matiec/commits/ce026aee03e00c0790948a18bd7b35805457da81)

Tue, 28 Mar 2017 17:09:31 +0300fix debug button and variable tree generate for actions and transitions in POU instance variable panel
Surkov Sergey <surkovsv93@gmail.com> [Tue, 28 Mar 2017 17:09:31 +0300] rev 1669
fix debug button and variable tree generate for actions and transitions in POU instance variable panel
for 'None' type instances(Python POU's, Native, SVGUI, user-defined pou's, etc.) debug button will be disabled. If action or transition instances have opened in instance variable panel,variables from main POU will be loaded. When user press debug button on variable instance in action or transition, instance path to main POU will be used, because all variables of action or transition in instance variable tree belong to main POU.

Tue, 28 Mar 2017 11:31:05 +0300clear variable location cell in variable panel, if variable class or type changed
Surkov Sergey <surkovsv93@gmail.com> [Tue, 28 Mar 2017 11:31:05 +0300] rev 1668
clear variable location cell in variable panel, if variable class or type changed
if variable class is not local or global, or variable type is not locatable, variable location cell would be empty and read-only

Mon, 27 Mar 2017 18:03:26 +0300runtime is licensed under LGPLv2.1
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 27 Mar 2017 18:03:26 +0300] rev 1667
runtime is licensed under LGPLv2.1

Mon, 27 Mar 2017 17:40:56 +0300make command line help message for Beremiz more verbose
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 27 Mar 2017 17:40:56 +0300] rev 1666
make command line help message for Beremiz more verbose

Tue, 21 Mar 2017 18:01:09 +0300fix typos and small errors in Russian translation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 21 Mar 2017 18:01:09 +0300] rev 1665
fix typos and small errors in Russian translation

Fri, 10 Mar 2017 19:17:43 +0300merge Beremiz launcher support
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 10 Mar 2017 19:17:43 +0300] rev 1664
merge Beremiz launcher support

Closes #13

Fri, 10 Mar 2017 19:12:43 +0300rename BeremizIDELauncher.py to Beremiz.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 10 Mar 2017 19:12:43 +0300] rev 1663
rename BeremizIDELauncher.py to Beremiz.py

Fri, 10 Mar 2017 17:36:18 +0300rename Beremiz.py to BeremizIDE.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 10 Mar 2017 17:36:18 +0300] rev 1662
rename Beremiz.py to BeremizIDE.py

Fri, 10 Mar 2017 17:09:48 +0300wrap Beremiz startup code into separate launcher class
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 10 Mar 2017 17:09:48 +0300] rev 1661
wrap Beremiz startup code into separate launcher class

this should make it easier to make customized version of Beremiz IDE.
It's easy to add own splash, change version, add/disable extensions
and many other things.

For example:

[----- MyBeremiz.py ------]
#!/usr/bin/env python
from BeremizIDELauncher import BeremizIDELauncher

class MyBeremizIDELauncher(BeremizIDELauncher):
def __init__(self):
BeremizIDELauncher.__init__(self)
self.splashPath = self.Bpath("", "splash.png")

def ShowSplashScreen(self):
# comment next line to disable splash entirely
BeremizIDELauncher.ShowSplashScreen(self)

# change version
import version
version.app_version = "3.141-rc52"

def LoadExtensions(self):
# add/modifine list of extensions
# in self.extensions
BeremizIDELauncher.LoadExtensions(self)

if __name__ == '__main__':
beremiz = MyBeremizIDELauncher()
beremiz.Start()

[-------------------------]

Fri, 10 Mar 2017 18:42:24 +0300dynamically increase size of dialog window for editing comment block
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 10 Mar 2017 18:42:24 +0300] rev 1660
dynamically increase size of dialog window for editing comment block

Thu, 09 Mar 2017 18:03:57 +0300add hotkeys to open recent projects
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 09 Mar 2017 18:03:57 +0300] rev 1659
add hotkeys to open recent projects

For simplicity only last 9 projects are saved.

Alt-F, R, 1 - to open last opened project
Alt-F, R, 2 ...
...
Alt-F, R, 9 ...

Thu, 09 Mar 2017 17:29:17 +0300fix twice shown error message box, when wrong non-valid IEC identifier entered
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 09 Mar 2017 17:29:17 +0300] rev 1658
fix twice shown error message box, when wrong non-valid IEC identifier entered

It happens when non-valid name for variable name or name of field in
structure entered. This issue is described in details here:
http://trac.wxwidgets.org/ticket/16333

Thu, 09 Mar 2017 15:35:19 +0300apply constraints to names for tasks and task instances in resource configuration
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 09 Mar 2017 15:35:19 +0300] rev 1657
apply constraints to names for tasks and task instances in resource configuration

The same rules as for IEC identifiers are applied.
- no non-lating characters, ...
- no IEC keywords
- check for duplicate names in resource configuration

closes #19

Thu, 09 Mar 2017 13:01:28 +0500Fix russian translation
PaulBeltyukov [Thu, 09 Mar 2017 13:01:28 +0500] rev 1656
Fix russian translation

Mon, 06 Mar 2017 17:39:29 +0300Merged skvorl/beremiz into default
Sergey Surkov <surkovsv93@gmail.com> [Mon, 06 Mar 2017 17:39:29 +0300] rev 1655
Merged skvorl/beremiz into default

Fri, 03 Mar 2017 15:57:58 +0300add stretching to columns Name, Type, Doc in variable panel
Surkov Sergey <surkovsv93@gmail.com> [Fri, 03 Mar 2017 15:57:58 +0300] rev 1654
add stretching to columns Name, Type, Doc in variable panel

Mon, 06 Feb 2017 20:30:39 +0300fix SFC Step flush method
Surkov Sergey <surkovsv93@gmail.com> [Mon, 06 Feb 2017 20:30:39 +0300] rev 1653
fix SFC Step flush method

Mon, 06 Feb 2017 20:23:45 +0300fix redraw debug instance tab after transferring new build to PLC. closes #15
Surkov Sergey <surkovsv93@gmail.com> [Mon, 06 Feb 2017 20:23:45 +0300] rev 1652
fix redraw debug instance tab after transferring new build to PLC. closes #15

Mon, 06 Mar 2017 17:24:05 +05001. Deleted .directory file, and added it to .hgignore.
PaulBeltyukov [Mon, 06 Mar 2017 17:24:05 +0500] rev 1651
1. Deleted .directory file, and added it to .hgignore.
2. Added russian locale .mo file.

Mon, 06 Mar 2017 12:04:15 +0500Fix russian translation
PaulBeltyukov [Mon, 06 Mar 2017 12:04:15 +0500] rev 1650
Fix russian translation

Thu, 16 Feb 2017 14:35:12 +0500Merge
PaulBeltyukov [Thu, 16 Feb 2017 14:35:12 +0500] rev 1649
Merge

Thu, 16 Feb 2017 14:34:40 +0500Safe
PaulBeltyukov [Thu, 16 Feb 2017 14:34:40 +0500] rev 1648
Safe

Fri, 27 Jan 2017 16:53:04 +0300broken code is temporarily blocked
Surkov Sergey <surkovsv93@gmail.com> [Fri, 27 Jan 2017 16:53:04 +0300] rev 1647
broken code is temporarily blocked
This code used to highlight with green color text in upper-left corner (path to current instance) in debug mode, if current instance active. Only SFC actions are affected. #16

Fri, 27 Jan 2017 16:01:23 +0300fix exception handling
Surkov Sergey <surkovsv93@gmail.com> [Fri, 27 Jan 2017 16:01:23 +0300] rev 1646
fix exception handling
now only one exception dialog is displayed, if many same type exceptions handled (like in #16), and bug reports files always save after exception, not only after pressing "OK" button in exception dialog, closes #17

Fri, 27 Jan 2017 13:04:25 +0300change directory for saving Beremiz bug reports from current working directory to TEMP directory.
Surkov Sergey <surkovsv93@gmail.com> [Fri, 27 Jan 2017 13:04:25 +0300] rev 1645
change directory for saving Beremiz bug reports from current working directory to TEMP directory.

Thu, 26 Jan 2017 17:16:54 +0300Correct element size, if block type or variable name is wider than block width.
Surkov Sergey <surkovsv93@gmail.com> [Thu, 26 Jan 2017 17:16:54 +0300] rev 1644
Correct element size, if block type or variable name is wider than block width.
Previously, if size corrected, element changed position to the right (or down, if height is corrected). Now upper-left corner is fixed.

Thu, 26 Jan 2017 15:38:21 +0300remove non-existed and not necessary self.logger from detecting options in iec2c
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 26 Jan 2017 15:38:21 +0300] rev 1643
remove non-existed and not necessary self.logger from detecting options in iec2c

Mon, 23 Jan 2017 16:22:04 +0300remove Linux target from first_steps example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 23 Jan 2017 16:22:04 +0300] rev 1642
remove Linux target from first_steps example

Then default target on the system will be used.

Tue, 24 Jan 2017 01:09:54 +01001.2rc1 1.2
Edouard Tisserant 7BB06627 <edouard.tisserant@gmail.com> [Tue, 24 Jan 2017 01:09:54 +0100] rev 1641
1.2rc1

Tue, 24 Jan 2017 01:07:56 +0100closing 1.1 branch 1.1 Korean release
Edouard Tisserant 7BB06627 <edouard.tisserant@gmail.com> [Tue, 24 Jan 2017 01:07:56 +0100] rev 1640
closing 1.1 branch

Thu, 19 Jan 2017 13:56:09 +0300for tests svgui and logging move code from old py_ext.xml to the new pyfile.xml
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 19 Jan 2017 13:56:09 +0300] rev 1639
for tests svgui and logging move code from old py_ext.xml to the new pyfile.xml

Tue, 17 Jan 2017 16:34:24 +0300merge
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 17 Jan 2017 16:34:24 +0300] rev 1638
merge

Tue, 17 Jan 2017 13:30:38 +0300fix IL jumps highlighting in Text Viewer
Surkov Sergey <surkovsv93@gmail.com> [Tue, 17 Jan 2017 13:30:38 +0300] rev 1637
fix IL jumps highlighting in Text Viewer

Mon, 16 Jan 2017 12:22:58 +0300change white background for icons in PouInstanceVariablePanel to transparent
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 16 Jan 2017 12:22:58 +0300] rev 1636
change white background for icons in PouInstanceVariablePanel to transparent

in wxPython 2.8 panel has white background and therefore white
background is appropriate, but in wxPython 3.0 panel has grey
background (on GNU/Linux and on Windows).
Transparent background looks good on both wxPython versions and on all platforms.

Mon, 16 Jan 2017 12:15:20 +0300change white background for project tree element to transparent
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 16 Jan 2017 12:15:20 +0300] rev 1635
change white background for project tree element to transparent

because on GNU/Linux project tree has grey background, therefore
white background looks not good.

Mon, 16 Jan 2017 01:19:58 +0100fix second error message in case of error appearing too early to have a wx frame
Edouard Tisserant 7BB06627 <edouard.tisserant@gmail.com> [Mon, 16 Jan 2017 01:19:58 +0100] rev 1634
fix second error message in case of error appearing too early to have a wx frame

Mon, 16 Jan 2017 01:14:57 +0100fix a side effect of 95ecb26fdc4e
Edouard Tisserant 7BB06627 <edouard.tisserant@gmail.com> [Mon, 16 Jan 2017 01:14:57 +0100] rev 1633
fix a side effect of 95ecb26fdc4e

Fri, 13 Jan 2017 20:05:59 +0300remove old unused .cvsignore
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 13 Jan 2017 20:05:59 +0300] rev 1632
remove old unused .cvsignore

Fri, 13 Jan 2017 19:51:36 +0300fix issue with printing scheme (FBD, LD or SFC) with comment element on GNU/Linux
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 13 Jan 2017 19:51:36 +0300] rev 1631
fix issue with printing scheme (FBD, LD or SFC) with comment element on GNU/Linux

If you draw FBD scheme and place comment on it and then try to print
it, then no wires will be printed and comment box is empty (text is
missing). This happens only for wx.PrinterDC and not on wx.MemoryDC
that is used to draw print preview window in Beremiz IDE.
Looks like a bug in wxPython or wxWidgets.

There were found several workaround for this issue.
1) If some dc.DrawLines call is placed before dc.DrawPolygon, then the
problem is gone.

...
dc.DrawLines(polygon)
dc.DrawPolygon(polygon)
...

2) Reseting DC brush solves the problem as well (see this changeset).

Fri, 13 Jan 2017 16:47:46 +0300detect iec2c options and ieclib path only once during the first build
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 13 Jan 2017 16:47:46 +0300] rev 1630
detect iec2c options and ieclib path only once during the first build

Fri, 13 Jan 2017 15:08:40 +0300attach checkedBlockDict variable to the body object
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 13 Jan 2017 15:08:40 +0300] rev 1629
attach checkedBlockDict variable to the body object

Fri, 13 Jan 2017 15:03:35 +0300fix file header in AboutDialog.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 13 Jan 2017 15:03:35 +0300] rev 1628
fix file header in AboutDialog.py

Thu, 12 Jan 2017 14:47:15 +0300update Russian translation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 12 Jan 2017 14:47:15 +0300] rev 1627
update Russian translation

Thu, 12 Jan 2017 14:37:55 +0300check before program generation whether SFC step, that is referenced
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 12 Jan 2017 14:37:55 +0300] rev 1626
check before program generation whether SFC step, that is referenced
by SFC jump, does exists

Wed, 11 Jan 2017 14:15:45 +0300use translatable descriptions for stadard and additional IEC function
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Jan 2017 14:15:45 +0300] rev 1625
use translatable descriptions for stadard and additional IEC function
blocks from xml files instead of hardcoded in python

Wed, 11 Jan 2017 12:57:40 +0300move code in mki18n.py generated translation strings from custom files into separate function
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 11 Jan 2017 12:57:40 +0300] rev 1624
move code in mki18n.py generated translation strings from custom files into separate function

Wed, 11 Jan 2017 11:40:53 +0300clean search result panel after open another project
Surkov Sergey <surkovsv93@gmail.com> [Wed, 11 Jan 2017 11:40:53 +0300] rev 1623
clean search result panel after open another project

Tue, 10 Jan 2017 13:45:56 +0300fix highlight of search result in Search Result Panel
Surkov Sergey <surkovsv93@gmail.com> [Tue, 10 Jan 2017 13:45:56 +0300] rev 1622
fix highlight of search result in Search Result Panel
Remove previous highlight, after next search result clicked.

Tue, 10 Jan 2017 14:08:49 +0300fix doubling search results in Search Result Panel
Surkov Sergey <surkovsv93@gmail.com> [Tue, 10 Jan 2017 14:08:49 +0300] rev 1621
fix doubling search results in Search Result Panel

After fix local search in SFC POU in 163d3a8, search results tree assemble with "children" branches: results of search in actions anf transitions. Deleted code doubling this search results into one more separate branch, so it's useless.

Thu, 29 Dec 2016 18:41:38 +0300make FindInPouDialog work on Windows with wxPython 2.8
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 29 Dec 2016 18:41:38 +0300] rev 1620
make FindInPouDialog work on Windows with wxPython 2.8

additional fix for changeset 474de7f

Thu, 29 Dec 2016 18:36:00 +0300fix local search in actions and transitions
Surkov Sergey <surkovsv93@gmail.com> [Thu, 29 Dec 2016 18:36:00 +0300] rev 1619
fix local search in actions and transitions

Wed, 28 Dec 2016 19:05:28 +0300convert FindInPouDialog from wx.Frame to wx.Dialog
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 28 Dec 2016 19:05:28 +0300] rev 1618
convert FindInPouDialog from wx.Frame to wx.Dialog

In this case FindInPouDialog Windows isn't listed in windows manager
on Alt-Tab. And it's not shown on top of other applications. For
example, previously the dialog was shown even on top of web browser or
word processor.

Wed, 28 Dec 2016 17:10:04 +0300temporary disable SFC transitions in IL, because matiec can't compile it
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 28 Dec 2016 17:10:04 +0300] rev 1617
temporary disable SFC transitions in IL, because matiec can't compile it

matiec freezes in this case.
See https://bitbucket.org/mjsousa/matiec/issues/58/iec2c-freezes-if-sfc-transition-is-in-il

Wed, 28 Dec 2016 16:33:50 +0300fix issue with creating SFC transitions using ST and IL
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 28 Dec 2016 16:33:50 +0300] rev 1616
fix issue with creating SFC transitions using ST and IL

Beremiz generates text representation for transitions without names.
Therefore transition name in its IL code is not needed.

Mon, 26 Dec 2016 14:01:54 +0300replace '-' with '.' in resource tab and transition/action SFC code
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 26 Dec 2016 14:01:54 +0300] rev 1615
replace '-' with '.' in resource tab and transition/action SFC code


This makes tab names consistent with the way the same information is shown in variable panel.

Mon, 26 Dec 2016 13:49:38 +0300check during program generation whether source signal is defined for single task
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 26 Dec 2016 13:49:38 +0300] rev 1614
check during program generation whether source signal is defined for single task

Fri, 23 Dec 2016 18:40:31 +0300fix strange behavior on Backspace press in ST
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 23 Dec 2016 18:40:31 +0300] rev 1613
fix strange behavior on Backspace press in ST

Before:
if text was selected and cursor was at indention, one indention (two
spaces) was removed.

if cursor was at start position of the line, then nothing happened.

if cursor was in the middle of indention then on backspace more
indention were added


Now:
if text is selected, it will be removed.
if cursor is at start position, then new line will be removed.
if cursor was in the middle of indention one indention is removed.

Thu, 22 Dec 2016 17:39:58 +0300fix close button in system menu for AboutDialog on Windows
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Dec 2016 17:39:58 +0300] rev 1612
fix close button in system menu for AboutDialog on Windows


If SetEscapeId receives wx.ID_CLOSE as parameter, then on Windows with
wxPython 2.8 system close button in title bar stops working.
If wx.ID_CANCEL or wx.ID_OK is used in SetEscapeId call, then close
button works correctly.

Thu, 22 Dec 2016 14:38:56 +0300make renames caseinsensitive
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 22 Dec 2016 14:38:56 +0300] rev 1611
make renames caseinsensitive

Tue, 20 Dec 2016 17:11:36 +0300fix problem with SFC action/transition rename
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 20 Dec 2016 17:11:36 +0300] rev 1610
fix problem with SFC action/transition rename

Traceback (most recent call last):
File "/home/developer/WorkData/PLC/beremiz/beremiz/IDEFrame.py", line
1636, in OnProjectTreeItemEndEdit
elif new_name.upper() in [name.upper() for name in
self.Controler.GetProjectPouVariableNames(pou_name) if name !=
old_name]:
NameError: global name 'pou_name' is not defined

Tue, 20 Dec 2016 14:41:10 +0300fix problem that it was impossible to edit SFC jump, if it references non-existent SFC step
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 20 Dec 2016 14:41:10 +0300] rev 1609
fix problem that it was impossible to edit SFC jump, if it references non-existent SFC step

Tue, 20 Dec 2016 13:26:54 +0300remove all corresponding SFC jumps when SFC step is removed (but only in DRIVENDRAWING_MODE)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 20 Dec 2016 13:26:54 +0300] rev 1608
remove all corresponding SFC jumps when SFC step is removed (but only in DRIVENDRAWING_MODE)

Tue, 20 Dec 2016 13:26:24 +0300rename all corresponding SFC jumps when SFC step is renamed (but only in DRIVENDRAWING_MODE)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 20 Dec 2016 13:26:24 +0300] rev 1607
rename all corresponding SFC jumps when SFC step is renamed (but only in DRIVENDRAWING_MODE)

Wed, 14 Dec 2016 13:14:45 +0300add check of new project path in Save As
Sergey Surkov <surkovsv93@gmail.com> [Wed, 14 Dec 2016 13:14:45 +0300] rev 1606
add check of new project path in Save As
add dialog window if selected directory is the current directory project, or already contains another project

Wed, 14 Dec 2016 12:44:30 +0300fix issue that in Debug mode LD instance doesn't show correctly its state after
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 14 Dec 2016 12:44:30 +0300] rev 1605
fix issue that in Debug mode LD instance doesn't show correctly its state after
continuation of FBD_Connector.

Previously state signals doesn't propogate through FBD_Connector.

Wed, 14 Dec 2016 12:36:04 +0300fix issue with task rename if "Name" column label is translated into
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 14 Dec 2016 12:36:04 +0300] rev 1604
fix issue with task rename if "Name" column label is translated into
other language

Wed, 14 Dec 2016 12:31:06 +0300fix issue with compiling SFC POU with non-connected transition (type "connection")
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 14 Dec 2016 12:31:06 +0300] rev 1603
fix issue with compiling SFC POU with non-connected transition (type "connection")

Tue, 13 Dec 2016 17:47:34 +0300fix bug with recent projects menu, remove path to the project from menu, if project directory doesn't exist
Sergey Surkov <surkovsv93@gmail.com> [Tue, 13 Dec 2016 17:47:34 +0300] rev 1602
fix bug with recent projects menu, remove path to the project from menu, if project directory doesn't exist

Tue, 13 Dec 2016 17:40:03 +0300fix bug with empty directories in recent projects menu
Sergey Surkov <surkovsv93@gmail.com> [Tue, 13 Dec 2016 17:40:03 +0300] rev 1601
fix bug with empty directories in recent projects menu
remove path to a project from recent projects menu, if project directory is empty

Mon, 12 Dec 2016 14:29:40 +0300fix list of recent projects in File menu, add path to current project after Save As
Sergey Surkov <surkovsv93@gmail.com> [Mon, 12 Dec 2016 14:29:40 +0300] rev 1600
fix list of recent projects in File menu, add path to current project after Save As

Thu, 08 Dec 2016 17:54:43 +0300by default init input and output in step sfc block, and output for initial step sfc block
Sergey Surkov <surkovsv93@gmail.com> [Thu, 08 Dec 2016 17:54:43 +0300] rev 1599
by default init input and output in step sfc block, and output for initial step sfc block

Wed, 07 Dec 2016 19:28:13 +0300update PLC status after initialization
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 07 Dec 2016 19:28:13 +0300] rev 1598
update PLC status after initialization

This is necessary especially if existed PLC program is loaded, but PLC
is not started automatically. In this case taskbar icon shows that PLC
isn't empty.

Wed, 07 Dec 2016 19:25:58 +0300always load existing PLC program from the working directory
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 07 Dec 2016 19:25:58 +0300] rev 1597
always load existing PLC program from the working directory

Wed, 07 Dec 2016 19:24:16 +0300stop PLC before unloading
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 07 Dec 2016 19:24:16 +0300] rev 1596
stop PLC before unloading


This fixes segmentation fault if service was quit without stopping it.
It has happened if Beremiz service was quit using taskbar icon or by
closing Beremiz IDE (in case of autostarted local service).

In second case to trigger the bug following step has to be done:
1. Open Beremiz IDE
2. Open project, compile and connect to LOCAL:// runtime
3. Transfer and start the PLC program
4. Open other project without disconneting the PLC runtime
5. Close Beremiz IDE

Wed, 07 Dec 2016 18:32:34 +0300add internatialization support for Beremiz_service.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 07 Dec 2016 18:32:34 +0300] rev 1595
add internatialization support for Beremiz_service.py

Wed, 07 Dec 2016 18:25:37 +0300fix issue with changing annonced Pyro service name via taskbar icon
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 07 Dec 2016 18:25:37 +0300] rev 1594
fix issue with changing annonced Pyro service name via taskbar icon

Wed, 07 Dec 2016 18:23:59 +0300don't crash on trying to change IP interface for Beremiz_service using taskbar icon if IP wasn't previously
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 07 Dec 2016 18:23:59 +0300] rev 1593
don't crash on trying to change IP interface for Beremiz_service using taskbar icon if IP wasn't previously


By default IP is not set (None) and service listen only on localhost interface.

Wed, 07 Dec 2016 18:15:04 +0300start/stop from taskbar icon only if PLC is stopped/started
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 07 Dec 2016 18:15:04 +0300] rev 1592
start/stop from taskbar icon only if PLC is stopped/started

Wed, 07 Dec 2016 17:54:41 +0300close Pyro socket after daemon stop
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 07 Dec 2016 17:54:41 +0300] rev 1591
close Pyro socket after daemon stop


without that socket port is open after daemon shutdown.
As a result if you restart daemon with new settings (service name, for example),
it can't listen on already used port and opens the next free TCP port
regardless of requested settings.

Wed, 07 Dec 2016 17:51:20 +0300add python-wxgtk3.0 support to Beremiz_service.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 07 Dec 2016 17:51:20 +0300] rev 1590
add python-wxgtk3.0 support to Beremiz_service.py

Fri, 02 Dec 2016 17:48:26 +0300make about dialog on Windows not so big
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 02 Dec 2016 17:48:26 +0300] rev 1589
make about dialog on Windows not so big


It was automatically expanded to place description in one line.

Thu, 01 Dec 2016 18:31:10 +0300update Russian translation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 01 Dec 2016 18:31:10 +0300] rev 1588
update Russian translation

Thu, 01 Dec 2016 18:30:34 +0300add i18n to PLC status
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 01 Dec 2016 18:30:34 +0300] rev 1587
add i18n to PLC status

Extra strings are added to the code to make mki18n.py to find these
strings in source files and put them into i18n/messages.pot.

Thu, 01 Dec 2016 16:59:16 +0300remove clear and reset execution order buttons in popup menu in SFC and LD viewers.
Sergey Surkov <surkovsv93@gmail.com> [Thu, 01 Dec 2016 16:59:16 +0300] rev 1586
remove clear and reset execution order buttons in popup menu in SFC and LD viewers.

Thu, 01 Dec 2016 16:52:28 +0300fix initial(equal to the min) number of sequences in SFC Divergence dialog.
Sergey Surkov <surkovsv93@gmail.com> [Thu, 01 Dec 2016 16:52:28 +0300] rev 1585
fix initial(equal to the min) number of sequences in SFC Divergence dialog.

Thu, 01 Dec 2016 16:40:49 +0300make only correct blocks(by IEC 61131-3 standard) available in wire popup menu in SFC Viewer
Sergey Surkov <surkovsv93@gmail.com> [Thu, 01 Dec 2016 16:40:49 +0300] rev 1584
make only correct blocks(by IEC 61131-3 standard) available in wire popup menu in SFC Viewer

Wed, 30 Nov 2016 14:27:18 +0300move EnhancedStatusBar.py to the right location
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 30 Nov 2016 14:27:18 +0300] rev 1583
move EnhancedStatusBar.py to the right location

Tue, 29 Nov 2016 11:41:09 +0300add internatialization support to startup messages during checking software updates
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 29 Nov 2016 11:41:09 +0300] rev 1582
add internatialization support to startup messages during checking software updates

Mon, 28 Nov 2016 16:47:01 +0300fix translation strings with multiple parameters
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 28 Nov 2016 16:47:01 +0300] rev 1581
fix translation strings with multiple parameters


this fixes a lot of warnings given by msgmerge:

../PLCOpenEditor.py:196: warning: 'msgid' format string with unnamed arguments cannot be properly localized:
The translator cannot reorder the arguments.
Please consider using a format string with named arguments,

Mon, 28 Nov 2016 16:27:24 +0300change bug report address for PLCOpenEditor to beremiz-devel@lists.sourceforge.net
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 28 Nov 2016 16:27:24 +0300] rev 1580
change bug report address for PLCOpenEditor to beremiz-devel@lists.sourceforge.net

make error message to be the same as in Beremiz IDE

Mon, 28 Nov 2016 16:12:27 +0300fix segmentation fault on clicking red point in compilation console if that compilation error coverts several units in plcopen file
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 28 Nov 2016 16:12:27 +0300] rev 1579
fix segmentation fault on clicking red point in compilation console if that compilation error coverts several units in plcopen file

closes #11

Thu, 24 Nov 2016 18:33:56 +0300add localization to time strings in DebugVariablePanel and to dialog shown after variable drag'n'drop
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 24 Nov 2016 18:33:56 +0300] rev 1578
add localization to time strings in DebugVariablePanel and to dialog shown after variable drag'n'drop

Thu, 24 Nov 2016 15:46:17 +0300fix issue that if located variable was dropped in location column, then address was changed in wrong row (row - 1).
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 24 Nov 2016 15:46:17 +0300] rev 1577
fix issue that if located variable was dropped in location column, then address was changed in wrong row (row - 1).

It's not neccessary to carry about label size. YToRow() does the work.

Thu, 24 Nov 2016 15:37:03 +0300increase size for time buttons in LogViewer
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 24 Nov 2016 15:37:03 +0300] rev 1576
increase size for time buttons in LogViewer

The buttons are slightly bigger now. This gives more space for label
translations in other languages.
closes #12

Thu, 24 Nov 2016 13:17:06 +0300don't rebuild the makefile based project if only companyName, projectName or productName are changed
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 24 Nov 2016 13:17:06 +0300] rev 1575
don't rebuild the makefile based project if only companyName, projectName or productName are changed

And this fix current encoding issues, because all these information fields can
contain non-latin characters.

Tue, 22 Nov 2016 18:42:48 +0300add progress bar to status bar
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 22 Nov 2016 18:42:48 +0300] rev 1574
add progress bar to status bar

It can be used to display progress during program upload.
To use it call ShowPLCProgress (like ShowPLCProgress("transfered",
10)) in your PLCObject implementation.

Sat, 19 Nov 2016 23:42:49 +0100fix warning: 'return' with no value in function startPLC
ctbenergy <ewald.weinahndl@gmail.com> [Sat, 19 Nov 2016 23:42:49 +0100] rev 1573
fix warning: 'return' with no value in function startPLC

Sat, 19 Nov 2016 22:20:19 +0100fix inconsistent whitespace
ctbenergy <ewald.weinahndl@gmail.com> [Sat, 19 Nov 2016 22:20:19 +0100] rev 1572
fix inconsistent whitespace

Fri, 18 Nov 2016 13:57:42 +0300fix license notices in source files and license files under GPLv2+
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 18 Nov 2016 13:57:42 +0300] rev 1571
fix license notices in source files and license files under GPLv2+

Previously a lot of files were referenced to GNU Public License 2.1,
which never existed.
All copyright attributions are kept the same.

Thu, 17 Nov 2016 22:57:20 +0300fix PLC autostart option for Beremiz_service.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Nov 2016 22:57:20 +0300] rev 1570
fix PLC autostart option for Beremiz_service.py

Thu, 17 Nov 2016 22:41:41 +0300remove old debug code
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Nov 2016 22:41:41 +0300] rev 1569
remove old debug code

Thu, 17 Nov 2016 14:11:48 +0300fix wrong font family in CustromGrid control
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Nov 2016 14:11:48 +0300] rev 1568
fix wrong font family in CustromGrid control

closes #10

Thu, 17 Nov 2016 14:04:44 +0300now only correct chart can be created in SFC Viewer
Sergey Surkov <surkovsv93@gmail.com> [Thu, 17 Nov 2016 14:04:44 +0300] rev 1567
now only correct chart can be created in SFC Viewer

if user trying to connect incompatible blocks (by IEC 61131-3 standard), wire highlight will become red

Thu, 17 Nov 2016 13:48:36 +0300add Russian translations for About dialogs
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Nov 2016 13:48:36 +0300] rev 1566
add Russian translations for About dialogs

Thu, 17 Nov 2016 13:48:04 +0300make about dialog boxes use standard wx about dialogs
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 17 Nov 2016 13:48:04 +0300] rev 1565
make about dialog boxes use standard wx about dialogs

Any information in dialog can be easily changed without much effort
and the dialog can be easy translated.

Unfortunately on Windows there is no good standard about dialog,
therefore own implementation is used there.

Tue, 08 Nov 2016 18:14:30 +0300fix highlighting error and warning messages with non-lating characters
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 08 Nov 2016 18:14:30 +0300] rev 1564
fix highlighting error and warning messages with non-lating characters

Tue, 08 Nov 2016 18:06:30 +0300fix breaking non-latin description and comments in FBD, LD, SFC and
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 08 Nov 2016 18:06:30 +0300] rev 1563
fix breaking non-latin description and comments in FBD, LD, SFC and
project settings after Undo operation

Wed, 02 Nov 2016 14:23:24 +0300fix borders of pull-down choice list box in Config tab, in Project Properties
Sergey Surkov <surkovsv93@gmail.com> [Wed, 02 Nov 2016 14:23:24 +0300] rev 1562
fix borders of pull-down choice list box in Config tab, in Project Properties

Tue, 01 Nov 2016 14:44:22 +0300add version.py needed for previous commit '4ce8492'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 01 Nov 2016 14:44:22 +0300] rev 1561
add version.py needed for previous commit '4ce8492'

Tue, 01 Nov 2016 14:03:14 +0300add version with commit hash to 'About' dialogs for Beremiz IDE and PLCOpenEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 01 Nov 2016 14:03:14 +0300] rev 1560
add version with commit hash to 'About' dialogs for Beremiz IDE and PLCOpenEditor

Mon, 31 Oct 2016 13:59:56 +0300ignore generated bugreports and output of i18n script
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 31 Oct 2016 13:59:56 +0300] rev 1559
ignore generated bugreports and output of i18n script

Fri, 28 Oct 2016 18:28:10 +0300now dialogs Find and Search in Project can be closed with ESC button
Sergey Surkov <surkovsv93@gmail.com> [Fri, 28 Oct 2016 18:28:10 +0300] rev 1558
now dialogs Find and Search in Project can be closed with ESC button

Fri, 28 Oct 2016 18:17:35 +0300fix russian translation of "direction" in Find dialog
Sergey Surkov <surkovsv93@gmail.com> [Fri, 28 Oct 2016 18:17:35 +0300] rev 1557
fix russian translation of "direction" in Find dialog

Fri, 28 Oct 2016 18:11:43 +0300fix major bugs in Find and Search in Project functionality.
Sergey Surkov <surkovsv93@gmail.com> [Fri, 28 Oct 2016 18:11:43 +0300] rev 1556
fix major bugs in Find and Search in Project functionality.

fix case sensitive and regexp search, remove duplicating code

Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>

Fri, 28 Oct 2016 17:21:42 +0300fix issue with non-updated button 'generated IECCode' after Build and Clean
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 28 Oct 2016 17:21:42 +0300] rev 1555
fix issue with non-updated button 'generated IECCode' after Build and Clean

Thu, 27 Oct 2016 17:07:44 +0300increase dialog size for edit SFC transition, so buttons are visible
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 27 Oct 2016 17:07:44 +0300] rev 1554
increase dialog size for edit SFC transition, so buttons are visible

Thu, 27 Oct 2016 16:24:13 +0300fix issue that sometimes period for cyclic task wasn't saved.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 27 Oct 2016 16:24:13 +0300] rev 1553
fix issue that sometimes period for cyclic task wasn't saved.

This is complete fix for the problem described in 8626bba.

Thu, 27 Oct 2016 15:31:43 +0300add first steps example, that shows how use all IEC 61131 languages
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 27 Oct 2016 15:31:43 +0300] rev 1552
add first steps example, that shows how use all IEC 61131 languages

Wed, 26 Oct 2016 19:13:26 +0300fix issue with empty frame with generated ST code
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 26 Oct 2016 19:13:26 +0300] rev 1551
fix issue with empty frame with generated ST code

Wed, 26 Oct 2016 15:51:20 +0300fix not saving location address from variable panel
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 26 Oct 2016 15:51:20 +0300] rev 1550
fix not saving location address from variable panel

this regression was introduced by commit 3518d10

Mon, 24 Oct 2016 18:02:53 +0300add $(Beremiz installation)/mingw/bin in PATH on Windows platform
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 24 Oct 2016 18:02:53 +0300] rev 1549
add $(Beremiz installation)/mingw/bin in PATH on Windows platform

This fixes issue if multiple gcc installation are found in user's
PATH. Now gcc from Beremiz is used by default.

Fri, 21 Oct 2016 13:06:31 +0300fix issue with non-working global hotkeys in IEC code panel
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 21 Oct 2016 13:06:31 +0300] rev 1548
fix issue with non-working global hotkeys in IEC code panel

Thu, 20 Oct 2016 14:45:27 +0300add more comments to svgui example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 20 Oct 2016 14:45:27 +0300] rev 1547
add more comments to svgui example

Thu, 20 Oct 2016 14:45:11 +0300cleanup traffic lights example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 20 Oct 2016 14:45:11 +0300] rev 1546
cleanup traffic lights example

Wed, 19 Oct 2016 16:32:10 +0300cleanup svgui example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 19 Oct 2016 16:32:10 +0300] rev 1545
cleanup svgui example

Tue, 18 Oct 2016 17:44:08 +0300Fix bug with two or more wires connected to one input. Now only one wire can be connected to one input, except BOOLean signals in LD and SFC. If user trying to connect wire with already connected input, wire highlight will become red.
Sergey Surkov <surkovsv93@gmail.com> [Tue, 18 Oct 2016 17:44:08 +0300] rev 1544
Fix bug with two or more wires connected to one input. Now only one wire can be connected to one input, except BOOLean signals in LD and SFC. If user trying to connect wire with already connected input, wire highlight will become red.
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>

Fri, 14 Oct 2016 18:04:22 +0300fix issue with sequence of multiple whitespaces in makefile command
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 14 Oct 2016 18:04:22 +0300] rev 1543
fix issue with sequence of multiple whitespaces in makefile command
line from project configuration

for every additional whitespace '""' was inserted in result command line.

Fri, 14 Oct 2016 14:03:38 +0300fix minor issue and do some cleanup work in genericmake example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 14 Oct 2016 14:03:38 +0300] rev 1542
fix minor issue and do some cleanup work in genericmake example

Wed, 12 Oct 2016 17:53:18 +0300cleanup python example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 12 Oct 2016 17:53:18 +0300] rev 1541
cleanup python example

Thu, 06 Oct 2016 11:30:04 +0300complete fix in commit 3518d10 for wxgtk2.8
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 06 Oct 2016 11:30:04 +0300] rev 1540
complete fix in commit 3518d10 for wxgtk2.8

Wed, 05 Oct 2016 18:11:52 +0300fix syncronization issue during killing ProcessLoggers on IDE close
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 05 Oct 2016 18:11:52 +0300] rev 1539
fix syncronization issue during killing ProcessLoggers on IDE close

Wed, 05 Oct 2016 18:01:28 +0300Add russian translation on label "Tick" in debug variable panel.
Sergey Surkov <surkovsv93@gmail.com> [Wed, 05 Oct 2016 18:01:28 +0300] rev 1538
Add russian translation on label "Tick" in debug variable panel.

Wed, 05 Oct 2016 10:07:10 +0300Add russian language in Project properties -> Other menu.
Sergey Surkov <surkovsv93@gmail.com> [Wed, 05 Oct 2016 10:07:10 +0300] rev 1537
Add russian language in Project properties -> Other menu.

Tue, 04 Oct 2016 18:01:08 +0300fix issue, that was impossible to change variable location IEC-address, when wx 3.0 is used
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 04 Oct 2016 18:01:08 +0300] rev 1536
fix issue, that was impossible to change variable location IEC-address, when wx 3.0 is used

Tue, 04 Oct 2016 17:43:30 +0300Merge
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 04 Oct 2016 17:43:30 +0300] rev 1535
Merge

Tue, 04 Oct 2016 17:26:38 +0300fix infinite recursion in 'Reset Execution Order' functionality if FBD body contains feedback connections
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 04 Oct 2016 17:26:38 +0300] rev 1534
fix infinite recursion in 'Reset Execution Order' functionality if FBD body contains feedback connections

Tue, 13 Sep 2016 21:42:11 +0300fix issues in PLCOpenEditor with moving from wxWidgets 2.8 to 3.0
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 13 Sep 2016 21:42:11 +0300] rev 1533
fix issues in PLCOpenEditor with moving from wxWidgets 2.8 to 3.0

1)
./PLCOpenEditor.py:63: wxPyDeprecationWarning: Using deprecated class PySimpleApp.
app = wx.PySimpleApp()

2)
./PLCOpenEditor.py:475: wxPyDeprecationWarning: Call to deprecated item.
wx.InitAllImageHandlers()

3)
Traceback (most recent call last):
File "./PLCOpenEditor.py", line 480, in <module>
frame = PLCOpenEditor(None, fileOpen=fileOpen)
File "./PLCOpenEditor.py", line 163, in __init__
IDEFrame.__init__(self, parent)
File "/tmp/f/beremiz/IDEFrame.py", line 657, in __init__
self._init_ctrls(parent)
File "/tmp/f/beremiz/IDEFrame.py", line 485, in _init_ctrls
self._init_icon(prnt)
File "/tmp/f/beremiz/IDEFrame.py", line 476, in _init_icon
if self.icon:
AttributeError: 'PLCOpenEditor' object has no attribute 'icon'

Mon, 12 Sep 2016 16:49:24 +0300update messages and add Russian translation for new menu entry 'switch perspective'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 12 Sep 2016 16:49:24 +0300] rev 1532
update messages and add Russian translation for new menu entry 'switch perspective'

Mon, 12 Sep 2016 16:46:09 +0300Merged in Surkovsv/beremiz (pull request #4)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 12 Sep 2016 16:46:09 +0300] rev 1531
Merged in Surkovsv/beremiz (pull request #4)

Add hotkey (F12) for switching perspective.

Mon, 12 Sep 2016 16:41:21 +0300Add hotkey (F12) for switching perspective.
Sergey Surkov <surkovsv93@gmail.com> [Mon, 12 Sep 2016 16:41:21 +0300] rev 1530
Add hotkey (F12) for switching perspective.

Switching perspective feature hides/restores all panels except of the main editor window for current FB.
So all available screen space is used for editor.

Mon, 12 Sep 2016 10:15:39 +0500Merged skvorl/beremiz into default
Paul Beltyukov <beltyukov.p.a@gmail.com> [Mon, 12 Sep 2016 10:15:39 +0500] rev 1529
Merged skvorl/beremiz into default

Sat, 10 Sep 2016 11:19:40 +0500Fixed crash when starts on OS X with wxPython 3.0.x
alexander@macbook-pro-alexander.local [Sat, 10 Sep 2016 11:19:40 +0500] rev 1528
Fixed crash when starts on OS X with wxPython 3.0.x

Fri, 09 Sep 2016 11:47:00 +0500Merged skvorl/beremiz into default
Paul Beltyukov <beltyukov.p.a@gmail.com> [Fri, 09 Sep 2016 11:47:00 +0500] rev 1527
Merged skvorl/beremiz into default

Fri, 26 Aug 2016 10:20:14 +0500Added .idea dir to ignore.
alexander.shaykhrazeev@gmail.com <alexander.shaykhrazeev@gmail.com> [Fri, 26 Aug 2016 10:20:14 +0500] rev 1526
Added .idea dir to ignore.

Fri, 09 Sep 2016 17:57:36 +0300cleanup logging example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 09 Sep 2016 17:57:36 +0300] rev 1525
cleanup logging example

add comments, rename variables, some rework for algorithm

Fri, 09 Sep 2016 17:53:32 +0300fix non-working logging at first connection to PLC after Beremiz launch
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 09 Sep 2016 17:53:32 +0300] rev 1524
fix non-working logging at first connection to PLC after Beremiz launch

At the same time this helps to avoid exception described in 1484:d5efbb20927e.

Fri, 09 Sep 2016 13:39:24 +0300Merged in Surkovsv/beremiz (pull request #2)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 09 Sep 2016 13:39:24 +0300] rev 1523
Merged in Surkovsv/beremiz (pull request #2)

fix bug with non-editable names and types of FB local variables in POU's written in ST or IL

Fri, 09 Sep 2016 13:33:49 +0300fix bug with non-editable names and types of FB local variables in POU's written in ST or IL
Sergey Surkov <surkovsv93@gmail.com> [Fri, 09 Sep 2016 13:33:49 +0300] rev 1522
fix bug with non-editable names and types of FB local variables in POU's written in ST or IL

Mon, 05 Sep 2016 16:47:34 +0300fix highlighting input/outputs in function call in ST, if comment section is placed
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 05 Sep 2016 16:47:34 +0300] rev 1521
fix highlighting input/outputs in function call in ST, if comment section is placed
inside call.

For example:

PackOutputs(
W4 := OUT1,
W5 := OUT2,
W6 := OUT3,
W7 := OUT4,
W8 := OUT5 (* comment inside call *),
W9 := OUT6,
W10 := OUT7,
W11 := OUT8);

Wed, 24 Aug 2016 13:08:13 +0300add initialization tick time on Beremiz start
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 24 Aug 2016 13:08:13 +0300] rev 1520
add initialization tick time on Beremiz start

This fixes issue #6

Wed, 24 Aug 2016 13:06:52 +0300fix race condition in ProcessLogger
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 24 Aug 2016 13:06:52 +0300] rev 1519
fix race condition in ProcessLogger

Tue, 23 Aug 2016 10:24:47 +0500- Fixed startup from ancestor code.
alexander@60.125.16.172.in-addr.arpa [Tue, 23 Aug 2016 10:24:47 +0500] rev 1518
- Fixed startup from ancestor code.

Thu, 18 Aug 2016 14:35:03 +0500This fixes issue #5
Paul Beltyukov [Thu, 18 Aug 2016 14:35:03 +0500] rev 1517
This fixes issue #5

Fri, 06 May 2016 22:21:22 +0300fix bug: Beremiz IDE hangs during launching Beremiz_service
andrey@new-nest [Fri, 06 May 2016 22:21:22 +0300] rev 1516
fix bug: Beremiz IDE hangs during launching Beremiz_service

this is regression introduced as side effect by d7f474d [fix issue
with sometimes wrong return code of ProcessLogger]

Fri, 06 May 2016 19:14:10 +0300automatically detect flags supported by matiec and find correct path
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 May 2016 19:14:10 +0300] rev 1515
automatically detect flags supported by matiec and find correct path
for matiec C library files

This makes possible to use an old matiec and the new one.

Fri, 06 May 2016 18:04:40 +0300fix bug that appears if datatype in the project tree is renamed to wrong name (keyword, existend type,...)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 May 2016 18:04:40 +0300] rev 1514
fix bug that appears if datatype in the project tree is renamed to wrong name (keyword, existend type,...)

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 16765, in <lambda>
lambda event: event.callable(*event.args, **event.kw) )
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/lib/expando.py", line 126, in _adjustCtrl
numLines = self.GetNumberOfLines()
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 16710, in __getattr__
raise PyDeadObjectError(self.attrStr % self._name)
PyDeadObjectError: The C++ part of the TreeTextCtrl object has been deleted, attribute access no longer allowed.

Fri, 06 May 2016 16:16:30 +0300add distribution license notice to about dialog as GPL requires
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 May 2016 16:16:30 +0300] rev 1513
add distribution license notice to about dialog as GPL requires

Fri, 06 May 2016 14:45:06 +0300add GPLv2 license
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 May 2016 14:45:06 +0300] rev 1512
add GPLv2 license

Fri, 06 May 2016 14:05:44 +0300add copyright notices to python files where there were missing, that
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 May 2016 14:05:44 +0300] rev 1511
add copyright notices to python files where there were missing, that
is required by GPLv2

Fri, 06 May 2016 10:35:46 +0300fix issue that was impossible to remove local instance of functional
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 06 May 2016 10:35:46 +0300] rev 1510
fix issue that was impossible to remove local instance of functional
block if pou is written in ST or IL

Thu, 28 Apr 2016 16:54:01 +0300fix highlighting of multiline comments in ST and IL
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Apr 2016 16:54:01 +0300] rev 1509
fix highlighting of multiline comments in ST and IL

close #2

Thu, 28 Apr 2016 15:21:02 +0300fix error if non-latin character was entered in initial value in
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Apr 2016 15:21:02 +0300] rev 1508
fix error if non-latin character was entered in initial value in
data type element

Traceback (most recent call last):
File "/home/beremiz/editors/DataTypeEditor.py", line 575, in OnStructureElementsGridCellChange
value = self.StructureElementsTable.GetValue(row, col)
File "/home/beremiz/editors/DataTypeEditor.py", line 80, in GetValue
return str(value)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
Traceback (most recent call last):
File "/home/beremiz/editors/DataTypeEditor.py", line 80, in GetValue
return str(value)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
Traceback (most recent call last):
File "/home/beremiz/editors/DataTypeEditor.py", line 80, in GetValue
return str(value)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)

Thu, 28 Apr 2016 13:05:57 +0300fix issue with sometimes wrong return code of ProcessLogger
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Apr 2016 13:05:57 +0300] rev 1507
fix issue with sometimes wrong return code of ProcessLogger


As a result of wrong return code Beremiz gives folowing traceback:
Traceback (most recent call last):
File "./Beremiz.py", line 850, in OnMenu
getattr(self.CTR, method)()
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 925, in _Build
IECGenRes = self._Generate_SoftPLC()
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 568, in _Generate_SoftPLC
return self._Compile_ST_to_SoftPLC()
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 661, in _Compile_ST_to_SoftPLC
C_files.remove("POUS.c")
ValueError: list.remove(x): x not in list

The problem is that both threads (for reading stdout and stderr) call self.Proc.poll(),
that updates internal returncode field. This call is done without any locking and the first thread gets correct result,
but other gets 0 as retval. If 0 gets thread, that afterwards calls callback finish, then wrong return code is returned
to the parent. Now only the thread with a callback polls for the return code, other thread just checked local value.

Additionally function spin() waits now until all threads finish reading their pipes, so the results are always correct.

Thu, 28 Apr 2016 12:58:58 +0300Fix error about missing attribute 'timeout' that happens sometimes during compilation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 28 Apr 2016 12:58:58 +0300] rev 1506
Fix error about missing attribute 'timeout' that happens sometimes during compilation

The fix [1476:49f1763a5613] of the problem with following trace was wrong.
Traceback (most recent call last):
File "./Beremiz.py", line 1229, in run_with_except_hook
run_old(*args, **kw)
File
"/home/developer/WorkData/PLC/beremiz/beremiz/util/ProcessLogger.py",
line 68, in run
self.endcallback(self.Proc.pid, err)
File
"/home/developer/WorkData/PLC/beremiz/beremiz/util/ProcessLogger.py",
line 169, in finish
if self.timeout: self.timeout.cancel()
AttributeError: ProcessLogger instance has no attribute 'timeout'
The problem was that compilation process was finished before the timeout attribute is set.
Now timeout is set before launcing of compilation process.

Wed, 27 Apr 2016 18:42:30 +0300fix copying elements with non-latin content like comment element, or
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 27 Apr 2016 18:42:30 +0300] rev 1505
fix copying elements with non-latin content like comment element, or
variables with description in non-latin character set

before any non-latin text was converted after copying to strings like '&#1069;&#1090;&#1086;...'

Mon, 25 Apr 2016 17:23:04 +0300fix issue that if functional block is dragged from project panel into
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 25 Apr 2016 17:23:04 +0300] rev 1504
fix issue that if functional block is dragged from project panel into
ST text editor and in dialog 'Please enter a block name' button
'cancel' is pressed, despite of cancel text about drag'n'dropped type
is pasted in ST program.

Fri, 22 Apr 2016 21:26:31 +0300fix regression introduced by changeset: 1431:28e9d479aa65 [Use '-p' command line option when running matiec (iec2c)]
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Apr 2016 21:26:31 +0300] rev 1503
fix regression introduced by changeset: 1431:28e9d479aa65 [Use '-p' command line option when running matiec (iec2c)]

Variable matiec_flags in c_ext.py and PythonFileCTNMixin.py is not
used for flags for matiec (IEC to C compiler) actually, but it's used
to compile C-code generated for extensions using normal C-compiler,
like gcc.

Fri, 22 Apr 2016 19:49:10 +0300fix display of ARRAY fields inside of structure data types.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Apr 2016 19:49:10 +0300] rev 1502
fix display of ARRAY fields inside of structure data types.

Previously ARRAY fields in structures were displayed, for example,
like 'ARRAY [1..2] OF ARRAY' instead of 'ARRAY [1..2] OF INT'. Because
of this error the array type can be really edited.

Fri, 22 Apr 2016 17:02:18 +0300fix Traceback if search icon on library panel is clicked, when no
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Apr 2016 17:02:18 +0300] rev 1501
fix Traceback if search icon on library panel is clicked, when no
category/item is selected in the library.

The problem is here, that if nothing is selected method GetSelection()
returns root item, that doesn't have any python data associated with it.
This issue seems to be wx3.0 specified, because it doesn't exist
with wx2.8 on Windows.

Fri, 22 Apr 2016 16:59:47 +0300update Russian about Beremiz dialog window
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Apr 2016 16:59:47 +0300] rev 1500
update Russian about Beremiz dialog window

Fri, 22 Apr 2016 16:24:06 +0300fix issue, that was impossible to change time interval for cyclic
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 22 Apr 2016 16:24:06 +0300] rev 1499
fix issue, that was impossible to change time interval for cyclic
tasks, when wx 3.0 is used

Thu, 21 Apr 2016 20:42:37 +0300fix deprecation warnings about accessing properties m_x, m_y of wxKeyEvent
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Apr 2016 20:42:37 +0300] rev 1498
fix deprecation warnings about accessing properties m_x, m_y of wxKeyEvent

/home/beremiz/beremiz/controls/PouInstanceVariablesPanel.py:354: wxPyDeprecationWarning: Accessing deprecated property.
event.m_x = size.width / 2

Thu, 21 Apr 2016 19:14:28 +0300fix set_color_cycle from matplotlib deprecation warning
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Apr 2016 19:14:28 +0300] rev 1497
fix set_color_cycle from matplotlib deprecation warning

/usr/lib/python2.7/dist-packages/matplotlib/cbook.py:137: MatplotlibDeprecationWarning: The set_color_cycle attribute was deprecated in version 1.5. Use set_prop_cycle instead.
warnings.warn(message, mplDeprecation, stacklevel=1)

Thu, 21 Apr 2016 17:51:29 +0300update Russian translation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Apr 2016 17:51:29 +0300] rev 1496
update Russian translation

Thu, 21 Apr 2016 17:49:39 +0300add i18n for some strings in DiscoveryDialog, DurationEditDialog, ProjectDialog and CodeFileEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Apr 2016 17:49:39 +0300] rev 1495
add i18n for some strings in DiscoveryDialog, DurationEditDialog, ProjectDialog and CodeFileEditor

Thu, 21 Apr 2016 17:47:35 +0300fix wrong Row number in DiscoveryDialog.py that caused following traceback:
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Apr 2016 17:47:35 +0300] rev 1494
fix wrong Row number in DiscoveryDialog.py that caused following traceback:

Traceback (most recent call last):
File "/home/beremiz/beremiz/ProjectController.py", line 1536, in _Connect
dialog = DiscoveryDialog(self.AppFrame)
File "/home/beremiz/beremiz/dialogs/DiscoveryDialog.py", line 124, in __init__
self._init_ctrls(parent)
File "/home/beremiz/beremiz/dialogs/DiscoveryDialog.py", line 121, in _init_ctrls
self._init_sizers()
File "/home/beremiz/beremiz/dialogs/DiscoveryDialog.py", line 73, in _init_sizers
self._init_coll_ButtonGridSizer_Growables(self.ButtonGridSizer)
File "/home/beremiz/beremiz/dialogs/DiscoveryDialog.py", line 64, in _init_coll_ButtonGridSizer_Growables
parent.AddGrowableRow(1)
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 15343, in AddGrowableRow
return _core_.FlexGridSizer_AddGrowableRow(*args, **kwargs)
PyAssertionError: C++ assertion "!m_rows || idx < (size_t)m_rows" failed at ../src/common/sizer.cpp(1967) in AddGrowableRow(): invalid row index

Thu, 21 Apr 2016 17:44:17 +0300increase height of some dialog windows so they have enough space for buttons
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Apr 2016 17:44:17 +0300] rev 1493
increase height of some dialog windows so they have enough space for buttons

Thu, 21 Apr 2016 17:41:43 +0300add translation into Russian for dialog window "About PLCOpen Editor"
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Apr 2016 17:41:43 +0300] rev 1492
add translation into Russian for dialog window "About PLCOpen Editor"

Thu, 21 Apr 2016 17:40:52 +0300add translation of "about" window into Russian
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 21 Apr 2016 17:40:52 +0300] rev 1491
add translation of "about" window into Russian

Wed, 20 Apr 2016 17:30:16 +0300make About and Find dialogs have the same icon as main Beremiz window
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 20 Apr 2016 17:30:16 +0300] rev 1490
make About and Find dialogs have the same icon as main Beremiz window

all child windows will take the parent's icon, if no other is specified.

Wed, 20 Apr 2016 17:15:35 +0300fix splash loading with wx3.0
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 20 Apr 2016 17:15:35 +0300] rev 1489
fix splash loading with wx3.0

Previously only gray square was shown. Apparently to show splash screen several calls of wx.Yield() are necessary.
Unfortunately splash.IsShowOnScreen() returns always 1 regardless of whether splash is on the screen or not.
this fix is a dirty hack. It just process all events after splash is created during 0.3 seconds.

Wed, 20 Apr 2016 16:20:53 +0300add i18n for couple of strings in TextViewer.py
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 20 Apr 2016 16:20:53 +0300] rev 1488
add i18n for couple of strings in TextViewer.py
add source file for Russian translation
update messages.pot and app.fil
update Russian translation

Wed, 20 Apr 2016 16:14:25 +0300increase height for ConnectionDialog and ArrayTypeDialog to have
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 20 Apr 2016 16:14:25 +0300] rev 1487
increase height for ConnectionDialog and ArrayTypeDialog to have
enough place for buttons

Tue, 19 Apr 2016 13:18:21 +0300add Russian translation
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 19 Apr 2016 13:18:21 +0300] rev 1486
add Russian translation

Tue, 19 Apr 2016 12:16:29 +0300bitmap in wx3.0 doesn't have useAlpha() method
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 19 Apr 2016 12:16:29 +0300] rev 1485
bitmap in wx3.0 doesn't have useAlpha() method

Tue, 19 Apr 2016 12:15:51 +0300Suppress WXDEBUG assertions, as happens by default with wx2.8. This is
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 19 Apr 2016 12:15:51 +0300] rev 1484
Suppress WXDEBUG assertions, as happens by default with wx2.8. This is
necessary for wx3.0

Exception while connecting LOCAL://!
Traceback (most recent call last):
File "/home/beremiz/beremiz/ProjectController.py", line 1560, in _Connect
self._SetConnector(connectors.ConnectorFactory(uri, self))
File "/home/beremiz/beremiz/ProjectController.py", line 1508, in _SetConnector
self.StatusTimer.Start(milliseconds=500, oneShot=False)
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_misc.py", line 1324, in Start
return _misc_.Timer_Start(*args, **kwargs)
PyAssertionError: C++ assertion "m_window" failed at ../src/gtk/dcclient.cpp(2043) in DoGetSize(): GetSize() doesn't work without window

Mon, 18 Apr 2016 19:18:11 +0300enable use of wxWidgets-3.0
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Apr 2016 19:18:11 +0300] rev 1483
enable use of wxWidgets-3.0

Mon, 18 Apr 2016 19:17:22 +0300make mki18n.py wx-3.0 compatible and fix segmentation fault
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Apr 2016 19:17:22 +0300] rev 1482
make mki18n.py wx-3.0 compatible and fix segmentation fault

$ python mki18n.py -m -v --moTarget=../locale --domain=Beremiz
No project directory given. Using current one: /home/beremiz/beremiz/i18n
Application domain used is: 'Beremiz'
Target directory for .mo files is: ../locale
../src/common/stdpbase.cpp(62): assert "traits" failed in Get(): create wxApp before calling this
Segmentation fault

Mon, 18 Apr 2016 19:15:55 +0300fix issue, then it wasn't possible to view FBD programs
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Apr 2016 19:15:55 +0300] rev 1481
fix issue, then it wasn't possible to view FBD programs

the reason for that is possible wx-3.0-gtk2 bug that happens if
ALWAYS_SHOW_SB is set.

Traceback (most recent call last):
File "Beremiz.py", line 1045, in OnProjectTreeItemActivated
IDEFrame.OnProjectTreeItemActivated(self, event)
File "IDEFrame.py", line 1667, in OnProjectTreeItemActivated
self.EditProjectElement(item_infos["type"], item_infos["tagname"])
File "IDEFrame.py", line 1752, in EditProjectElement
new_window = Viewer(self.TabsOpened, tagname, self, self.Controler)
File "editors/Viewer.py", line 611, in __init__
EditorPanel.__init__(self, parent, tagname, window, controler, debug)
File "editors/EditorPanel.py", line 68, in __init__
self._init_ctrls(parent)
File "editors/EditorPanel.py", line 52, in _init_ctrls
self._init_Editor(self)
File "editors/Viewer.py", line 603, in _init_Editor
style=wx.HSCROLL | wx.VSCROLL | wx.ALWAYS_SHOW_SB)
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_windows.py", line 296, in __init__
_windows_.ScrolledWindow_swiginit(self,_windows_.new_ScrolledWindow(*args, **kwargs))
PyAssertionError: C++ assertion "scrolled" failed at ../src/gtk/scrolwin.cpp(205) in DoShowScrollbars(): window must be created

Mon, 18 Apr 2016 19:08:29 +0300fix issue, then it wasn't possible to remove functional blocks from
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Apr 2016 19:08:29 +0300] rev 1480
fix issue, then it wasn't possible to remove functional blocks from
project using right click and popup menu.

The problem is that, PopupMenu was called using IDEFrame object and as
a result item in ProjectTree loosed focus and focus went to IDEFrame.
Therefore later functions couldn't detect which item in ProjectTree
was selected.

Mon, 18 Apr 2016 18:59:11 +0300fix many compilation warnings about static variables used by non-static functions
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Apr 2016 18:59:11 +0300] rev 1479
fix many compilation warnings about static variables used by non-static functions

[CC] plc_main.c -> plc_main.o
/tmp/be/build/plc_main.c:396:40: warning: ?LogBuff? is static but used in inline function ?copy_from_log? which is not static
memcpy((char*)buf + remaining, LogBuff[level], size - remaining);
^
/tmp/be/build/plc_main.c:395:22: warning: ?LogBuff? is static but used in inline function ?copy_from_log? which is not static
memcpy(buf, &LogBuff[level][buffpos], remaining);
^
...

^
/tmp/be/build/plc_debugger.c:825:20: warning: ?retain_offset? is static but used in inline function ?BufferIterator? which is not static
Retain(retain_offset, size, real_value_p);
^
/tmp/be/build/plc_debugger.c:823:47: warning: ?retain_offset? is static but used in inline function ?BufferIterator? which is not static
unsigned int next_retain_offset = retain_offset + size;
^
^

Mon, 18 Apr 2016 18:56:51 +0300make attribute CFLAGS and LDFLAGS optional and add default empty value
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Apr 2016 18:56:51 +0300] rev 1478
make attribute CFLAGS and LDFLAGS optional and add default empty value

Actually CFLAGS and LDFLAGS are not required and can be empty.
Without default empty value if target platform in project settings was
set to "Linux" CFLAGS and LDFLAGS was initialized with NoneType.
The result was broken build and it wasn't to save/load project with
such settings.

Traceback (most recent call last):
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 956, in _Build
if not builder.build() :
File "/home/developer/WorkData/PLC/beremiz/beremiz/targets/toolchain_gcc.py", line 96, in build
Builder_CFLAGS = ' '.join(self.getBuilderCFLAGS())
TypeError: sequence item 0: expected string, NoneType found

Mon, 18 Apr 2016 18:51:59 +0300fix issue, when structure data type with array field is created
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Apr 2016 18:51:59 +0300] rev 1477
fix issue, when structure data type with array field is created

Traceback (most recent call last):
File "editors/DataTypeEditor.py", line 669, in ElementArrayTypeFunction
self.RefreshTypeInfos()
File "editors/DataTypeEditor.py", line 761, in RefreshTypeInfos
self.Controler.SetDataTypeInfos(self.TagName, infos)
File "PLCControler.py", line 2075, in SetDataTypeInfos
array.baseType.setcontent(PLCOpenParser.CreateElement(
AttributeError: 'lxml.etree._Element' object has no attribute 'setcontent'

Mon, 18 Apr 2016 18:48:15 +0300fixes sometimes happened error during project compilation
Andrey Skvortsov <andrej.skvortzov@gmail.com [Mon, 18 Apr 2016 18:48:15 +0300] rev 1476
fixes sometimes happened error during project compilation

Traceback (most recent call last):
File "./Beremiz.py", line 1229, in run_with_except_hook
run_old(*args, **kw)
File
"/home/developer/WorkData/PLC/beremiz/beremiz/util/ProcessLogger.py",
line 68, in run
self.endcallback(self.Proc.pid, err)
File
"/home/developer/WorkData/PLC/beremiz/beremiz/util/ProcessLogger.py",
line 169, in finish
if self.timeout: self.timeout.cancel()
AttributeError: ProcessLogger instance has no attribute 'timeout'

Wed, 21 Oct 2015 15:00:32 +0100merge
mjsousa [Wed, 21 Oct 2015 15:00:32 +0100] rev 1475
merge

Sat, 06 Dec 2014 19:31:51 +0000Use '-p' command line option when running matiec (iec2c)
mjsousa [Sat, 06 Dec 2014 19:31:51 +0000] rev 1474
Use '-p' command line option when running matiec (iec2c)

Wed, 26 Nov 2014 16:05:14 +0000Add command line option '-l' when calling matiec
mjsousa [Wed, 26 Nov 2014 16:05:14 +0000] rev 1473
Add command line option '-l' when calling matiec

Wed, 12 Nov 2014 17:36:27 +0000merge
mjsousa [Wed, 12 Nov 2014 17:36:27 +0000] rev 1472
merge

Tue, 08 Jul 2014 18:01:33 +0100merge
mjsousa [Tue, 08 Jul 2014 18:01:33 +0100] rev 1471
merge

Fri, 06 Jun 2014 18:30:49 +0100merge
mjsousa [Fri, 06 Jun 2014 18:30:49 +0100] rev 1470
merge

Mon, 26 May 2014 14:44:03 +0100Update __SET_VAR() macros to reflect changes made to matiec
mjsousa [Mon, 26 May 2014 14:44:03 +0100] rev 1469
Update __SET_VAR() macros to reflect changes made to matiec

Fri, 19 Jun 2015 23:36:35 +0200Merged
Edouard Tisserant [Fri, 19 Jun 2015 23:36:35 +0200] rev 1468
Merged

Fri, 19 Jun 2015 22:36:35 +0200Merged
Edouard Tisserant [Fri, 19 Jun 2015 22:36:35 +0200] rev 1467
Merged

Fri, 19 Jun 2015 21:56:35 +0200Fixed win32 build warning caused by leftover debug code
Edouard Tisserant [Fri, 19 Jun 2015 21:56:35 +0200] rev 1466
Fixed win32 build warning caused by leftover debug code

Fri, 19 Jun 2015 21:36:35 +0200Fixed win32 runtime crashing when attempting to log before errors before PLC start. Added pictures to wxHMI and fixed it so that it loads on windows as well
Edouard Tisserant [Fri, 19 Jun 2015 21:36:35 +0200] rev 1465
Fixed win32 runtime crashing when attempting to log before errors before PLC start. Added pictures to wxHMI and fixed it so that it loads on windows as well

Fri, 19 Jun 2015 11:36:35 +0200Fixed canfestival extension own path resolution
Edouard Tisserant [Fri, 19 Jun 2015 11:36:35 +0200] rev 1464
Fixed canfestival extension own path resolution

Fri, 19 Jun 2015 09:34:18 +0200Changed runtime's global PLCID to PLC_ID, working around redefinition in windoze' headers.
Edouard Tisserant [Fri, 19 Jun 2015 09:34:18 +0200] rev 1463
Changed runtime's global PLCID to PLC_ID, working around redefinition in windoze' headers.

Thu, 18 Jun 2015 15:22:43 +0200Extended wxHMI test
Edouard Tisserant [Thu, 18 Jun 2015 15:22:43 +0200] rev 1462
Extended wxHMI test

Thu, 18 Jun 2015 11:36:35 +0200Added wxHMI test
Edouard Tisserant [Thu, 18 Jun 2015 11:36:35 +0200] rev 1461
Added wxHMI test

Mon, 15 Jun 2015 10:19:52 +0200merged forgotten changesets
Edouard Tisserant [Mon, 15 Jun 2015 10:19:52 +0200] rev 1460
merged forgotten changesets

Sat, 14 Mar 2015 14:51:39 +0100Added log message when RETAIN memory not valid
Edouard Tisserant [Sat, 14 Mar 2015 14:51:39 +0100] rev 1459
Added log message when RETAIN memory not valid

Sat, 14 Mar 2015 11:32:23 +0100Fixed leftover typo
Edouard Tisserant [Sat, 14 Mar 2015 11:32:23 +0100] rev 1458
Fixed leftover typo

Fri, 13 Mar 2015 22:36:52 +0100Added PLCID variable accessible from C side, set with binarie's MD5. Added retain init and cleanup calls. Extended tests/python to test PLCID
Edouard Tisserant [Fri, 13 Mar 2015 22:36:52 +0100] rev 1457
Added PLCID variable accessible from C side, set with binarie's MD5. Added retain init and cleanup calls. Extended tests/python to test PLCID

Fri, 13 Mar 2015 17:19:58 +0100Splitted plc_Xenomai_main.c to enable further customization
Edouard Tisserant [Fri, 13 Mar 2015 17:19:58 +0100] rev 1456
Splitted plc_Xenomai_main.c to enable further customization

Fri, 03 Apr 2015 17:08:13 +0200add pyrossl client side
Ronan Bignaux <r.bignaux@rbi.io> [Fri, 03 Apr 2015 17:08:13 +0200] rev 1455
add pyrossl client side

Tue, 24 Mar 2015 14:06:28 +0100fixed build of some tests
Edouard Tisserant [Tue, 24 Mar 2015 14:06:28 +0100] rev 1454
fixed build of some tests

Fri, 27 Feb 2015 00:40:44 +0100Fixed Nevow website startup
Edouard Tisserant [Fri, 27 Feb 2015 00:40:44 +0100] rev 1453
Fixed Nevow website startup

Wed, 25 Feb 2015 14:00:11 +0100Fixed build of tests/python.
Edouard Tisserant [Wed, 25 Feb 2015 14:00:11 +0100] rev 1452
Fixed build of tests/python.

Wed, 25 Feb 2015 13:59:01 +0100Added Ronan Bignaux (genesis) patch to use wxversion. Fixed side effects with sys.path. Other cosmetic fixes about path included.
Edouard Tisserant [Wed, 25 Feb 2015 13:59:01 +0100] rev 1451
Added Ronan Bignaux (genesis) patch to use wxversion. Fixed side effects with sys.path. Other cosmetic fixes about path included.

Tue, 24 Feb 2015 11:50:54 +0100Fixed SFC code generation bug detected by Mario
Edouard Tisserant [Tue, 24 Feb 2015 11:50:54 +0100] rev 1450
Fixed SFC code generation bug detected by Mario

Sat, 21 Feb 2015 10:20:24 +0100Added __ext_name__ variable accessible from user python code, reflecting extension name. Fixed contend of OnChange field in PLCGlobalsDesc
Edouard Tisserant [Sat, 21 Feb 2015 10:20:24 +0100] rev 1449
Added __ext_name__ variable accessible from user python code, reflecting extension name. Fixed contend of OnChange field in PLCGlobalsDesc

Thu, 19 Feb 2015 00:40:53 +0100Added more columns in variable list of extensions' code editors - updating python's PLCGlobals from PLC logic can trigger asynchronous 'OnChange' python call
Edouard Tisserant [Thu, 19 Feb 2015 00:40:53 +0100] rev 1448
Added more columns in variable list of extensions' code editors - updating python's PLCGlobals from PLC logic can trigger asynchronous 'OnChange' python call

Tue, 17 Feb 2015 10:23:57 +0100Fixed systematically loading PLC binary at startup even without -a parameter. Extended py_ext extensions instances variable description (PLCGlobalsDesc). Now contains list of variables organizd by extension, with extension name
Edouard Tisserant [Tue, 17 Feb 2015 10:23:57 +0100] rev 1447
Fixed systematically loading PLC binary at startup even without -a parameter. Extended py_ext extensions instances variable description (PLCGlobalsDesc). Now contains list of variables organizd by extension, with extension name

Mon, 16 Feb 2015 16:23:51 +0100Split runtime's twisted modules import and setup to ease runtime extensions hotpatching
Edouard Tisserant [Mon, 16 Feb 2015 16:23:51 +0100] rev 1446
Split runtime's twisted modules import and setup to ease runtime extensions hotpatching

Tue, 10 Feb 2015 00:25:17 +0100More versatile registering of wamp callees
Edouard Tisserant [Tue, 10 Feb 2015 00:25:17 +0100] rev 1445
More versatile registering of wamp callees

Mon, 09 Feb 2015 13:38:00 +0100Added forgotten wampconf.json in tests/wamp
Edouard Tisserant [Mon, 09 Feb 2015 13:38:00 +0100] rev 1444
Added forgotten wampconf.json in tests/wamp

Mon, 09 Feb 2015 10:55:06 +0100WAMP : prefix callee names with given ID so that multiple PLC and IDE can join the same realm
Edouard Tisserant [Mon, 09 Feb 2015 10:55:06 +0100] rev 1443
WAMP : prefix callee names with given ID so that multiple PLC and IDE can join the same realm

Mon, 09 Feb 2015 00:45:03 +0100Fixed race condition preventing to stop PLC through WAMP
Edouard Tisserant [Mon, 09 Feb 2015 00:45:03 +0100] rev 1442
Fixed race condition preventing to stop PLC through WAMP

Sun, 08 Feb 2015 22:39:17 +0100Added auto-reconnect for runtime. Fixed Beremiz closing problem caused by remaining twisted reactor thread in IDE.
Edouard Tisserant [Sun, 08 Feb 2015 22:39:17 +0100] rev 1441
Added auto-reconnect for runtime. Fixed Beremiz closing problem caused by remaining twisted reactor thread in IDE.

Sun, 08 Feb 2015 16:50:54 +0100Runtime : Added PLCobject methods registring. IDE : Added WAMP connector. Still need some fixes
Edouard Tisserant [Sun, 08 Feb 2015 16:50:54 +0100] rev 1440
Runtime : Added PLCobject methods registring. IDE : Added WAMP connector. Still need some fixes

Thu, 05 Feb 2015 23:32:31 +0100Added stub code for runtime WAMP client. Added runtime command line switch to select WAMP url and Nevow web site port. Web port is now fixed, next port number is not tested if bind fails.
Edouard Tisserant [Thu, 05 Feb 2015 23:32:31 +0100] rev 1439
Added stub code for runtime WAMP client. Added runtime command line switch to select WAMP url and Nevow web site port. Web port is now fixed, next port number is not tested if bind fails.

Thu, 05 Feb 2015 01:35:02 +0100Moved twisted/nevow/athena away from Berermiz_service.py + some minor cleanup
Edouard Tisserant [Thu, 05 Feb 2015 01:35:02 +0100] rev 1438
Moved twisted/nevow/athena away from Berermiz_service.py + some minor cleanup

Mon, 02 Feb 2015 23:45:30 +0100Added Beremiz_service.py command line switch to load python extention for runtime independently from PLC program
Edouard Tisserant [Mon, 02 Feb 2015 23:45:30 +0100] rev 1437
Added Beremiz_service.py command line switch to load python extention for runtime independently from PLC program

Mon, 02 Feb 2015 23:11:01 +0100py_ext user python code can now know about global variables shared with PLC. updated tests/python accordingly
Edouard Tisserant [Mon, 02 Feb 2015 23:11:01 +0100] rev 1436
py_ext user python code can now know about global variables shared with PLC. updated tests/python accordingly

Mon, 02 Feb 2015 16:51:35 +0100Fixed python runtime trace thread auto suspend. Now suspends after 3 seconds when no trace is requested
Edouard Tisserant [Mon, 02 Feb 2015 16:51:35 +0100] rev 1435
Fixed python runtime trace thread auto suspend. Now suspends after 3 seconds when no trace is requested

Fri, 30 Jan 2015 20:42:24 +0100Added runtime side trace buffer, handled in a separate thread, limited to 1MB, and dropped after 3 seconds if not used by IDE. GetTraceVariables is not anymore blocking on next PLC cycle
Edouard Tisserant [Fri, 30 Jan 2015 20:42:24 +0100] rev 1434
Added runtime side trace buffer, handled in a separate thread, limited to 1MB, and dropped after 3 seconds if not used by IDE. GetTraceVariables is not anymore blocking on next PLC cycle

Fri, 30 Jan 2015 10:45:11 +0100Moved trace buffer unpacking in the IDE. Latest traced variable samples are now passed as a single string
Edouard Tisserant [Fri, 30 Jan 2015 10:45:11 +0100] rev 1433
Moved trace buffer unpacking in the IDE. Latest traced variable samples are now passed as a single string

Thu, 29 Jan 2015 19:11:34 +0100Optimized plc_debug.c generated code. Should produce smaller code size. Added statically initialized array for PLC tracable variable description.
Edouard Tisserant [Thu, 29 Jan 2015 19:11:34 +0100] rev 1432
Optimized plc_debug.c generated code. Should produce smaller code size. Added statically initialized array for PLC tracable variable description.

Sun, 18 Jan 2015 20:38:34 +0100more minor cleanup
Edouard Tisserant [Sun, 18 Jan 2015 20:38:34 +0100] rev 1431
more minor cleanup

Sun, 18 Jan 2015 19:41:27 +0100minor cleanup
Edouard Tisserant [Sun, 18 Jan 2015 19:41:27 +0100] rev 1430
minor cleanup

Fri, 16 Jan 2015 22:09:28 +0100merged forgotten changes
Edouard Tisserant [Fri, 16 Jan 2015 22:09:28 +0100] rev 1429
merged forgotten changes

Fri, 12 Dec 2014 14:41:53 +0100Simplified use of runtime's global variable __common_ticktime accross extensions.
Edouard Tisserant [Fri, 12 Dec 2014 14:41:53 +0100] rev 1428
Simplified use of runtime's global variable __common_ticktime accross extensions.

Sat, 06 Dec 2014 19:31:51 +0100Use '-p' command line option when running matiec (iec2c)
mjsousa [Sat, 06 Dec 2014 19:31:51 +0100] rev 1427
Use '-p' command line option when running matiec (iec2c)

Wed, 26 Nov 2014 16:05:14 +0100Add command line option '-l' when calling matiec
mjsousa [Wed, 26 Nov 2014 16:05:14 +0100] rev 1426
Add command line option '-l' when calling matiec

Mon, 10 Nov 2014 22:28:15 +0100Fixed location of directory containing IEC standard library in C format.
Edouard Tisserant [Mon, 10 Nov 2014 22:28:15 +0100] rev 1425
Fixed location of directory containing IEC standard library in C format.

Tue, 08 Jul 2014 18:00:52 +0100Change location of directory containing IEC standard library in C format.
mjsousa [Tue, 08 Jul 2014 18:00:52 +0100] rev 1424
Change location of directory containing IEC standard library in C format.

Fri, 27 Jun 2014 13:56:49 +0200Added highlighting of wrong SINGLE task trigger
Edouard Tisserant [Fri, 27 Jun 2014 13:56:49 +0200] rev 1423
Added highlighting of wrong SINGLE task trigger

Wed, 25 Jun 2014 17:28:26 +0200Fixed incomplete task grid update on interface change, in Resource editor
Edouard Tisserant [Wed, 25 Jun 2014 17:28:26 +0200] rev 1422
Fixed incomplete task grid update on interface change, in Resource editor

Mon, 23 Jun 2014 10:57:02 +0200Enable overloading of availables languages in POU creation dialog
Edouard Tisserant [Mon, 23 Jun 2014 10:57:02 +0200] rev 1421
Enable overloading of availables languages in POU creation dialog

Fri, 20 Jun 2014 21:36:23 +0200Enable overloading of task triggerring source cell editor (SINGLE) in resource editor. PLCGenerator now generates MULTI keywork instead of SINGLE when task's activation is surroundes with square brackets
Edouard Tisserant [Fri, 20 Jun 2014 21:36:23 +0200] rev 1420
Enable overloading of task triggerring source cell editor (SINGLE) in resource editor. PLCGenerator now generates MULTI keywork instead of SINGLE when task's activation is surroundes with square brackets

Thu, 12 Jun 2014 18:15:04 +0200Updated tests/python : added derivated return type function declaration+call and re-enabled refrences to global FB interfaces
Edouard Tisserant [Thu, 12 Jun 2014 18:15:04 +0200] rev 1419
Updated tests/python : added derivated return type function declaration+call and re-enabled refrences to global FB interfaces

Thu, 12 Jun 2014 17:50:30 +0200Fixed declaration and ST code gen for IEC function that return derivated types
Edouard Tisserant [Thu, 12 Jun 2014 17:50:30 +0200] rev 1418
Fixed declaration and ST code gen for IEC function that return derivated types

Wed, 11 Jun 2014 19:01:17 +0200Added a variable name text entry dialog to allow name change on drag'n'drops
Edouard Tisserant [Wed, 11 Jun 2014 19:01:17 +0200] rev 1417
Added a variable name text entry dialog to allow name change on drag'n'drops

Wed, 11 Jun 2014 16:42:27 +0200'NamedConstant' variable D'n'D is now allowed on variable grid
Edouard Tisserant [Wed, 11 Jun 2014 16:42:27 +0200] rev 1416
'NamedConstant' variable D'n'D is now allowed on variable grid

Tue, 10 Jun 2014 11:40:50 +0200Allow specification of command line arguments encoding in ProcessLogger
Edouard Tisserant [Tue, 10 Jun 2014 11:40:50 +0200] rev 1415
Allow specification of command line arguments encoding in ProcessLogger

Wed, 04 Jun 2014 13:18:23 +0200Splitted type selection menu code in VariablePanel, making easier to override behaviour by inheritence
Edouard Tisserant [Wed, 04 Jun 2014 13:18:23 +0200] rev 1414
Splitted type selection menu code in VariablePanel, making easier to override behaviour by inheritence

Wed, 04 Jun 2014 09:50:08 +0200Fixed crash at project load when features.libraries is empty (i.e. no libraries are provided).
Edouard Tisserant [Wed, 04 Jun 2014 09:50:08 +0200] rev 1413
Fixed crash at project load when features.libraries is empty (i.e. no libraries are provided).

Fri, 30 May 2014 02:20:19 +0200Added plcopen.definitions.DefaultType, set to INT.
Edouard Tisserant [Fri, 30 May 2014 02:20:19 +0200] rev 1412
Added plcopen.definitions.DefaultType, set to INT.

Wed, 28 May 2014 18:33:41 +0200Fixed POU paste exception
Edouard Tisserant [Wed, 28 May 2014 18:33:41 +0200] rev 1411
Fixed POU paste exception

Wed, 28 May 2014 11:50:38 +0200Propagated changes made in matiec/lib/accessor.h _SET_VAR macro (Mario's matiec changes merged at 39086e324665) to py_ext library, and other (not compiled in) XML standard FB definitions.
Edouard Tisserant [Wed, 28 May 2014 11:50:38 +0200] rev 1410
Propagated changes made in matiec/lib/accessor.h _SET_VAR macro (Mario's matiec changes merged at 39086e324665) to py_ext library, and other (not compiled in) XML standard FB definitions.

Tue, 27 May 2014 10:40:39 +0200Added 'NamedConstant' drag'n'drop in text programs as well (was only accepted on graphical languages).
Edouard Tisserant [Tue, 27 May 2014 10:40:39 +0200] rev 1409
Added 'NamedConstant' drag'n'drop in text programs as well (was only accepted on graphical languages).

Fri, 23 May 2014 18:28:57 +0200Fixed launch of PLCopenEditor, broken since 611fded24ce4.
Edouard Tisserant [Fri, 23 May 2014 18:28:57 +0200] rev 1408
Fixed launch of PLCopenEditor, broken since 611fded24ce4.

Wed, 21 May 2014 18:43:54 +0200Organized controller's _Build sub-methods layout. Many (unwanted) white space changes.
Edouard Tisserant [Wed, 21 May 2014 18:43:54 +0200] rev 1407
Organized controller's _Build sub-methods layout. Many (unwanted) white space changes.

Tue, 13 May 2014 00:43:06 +0200Added 'NamedConstant' drag'n'drop in programs. It does create a simple variable with initial value and is usefull for drag'n'drop constants from extensions while keeping a name associated with constant
Edouard Tisserant [Tue, 13 May 2014 00:43:06 +0200] rev 1406
Added 'NamedConstant' drag'n'drop in programs. It does create a simple variable with initial value and is usefull for drag'n'drop constants from extensions while keeping a name associated with constant

Wed, 02 Apr 2014 21:07:35 +0200xmlclass : Ensured precedence of newly defined class in case of conflicting declaration
Edouard Tisserant [Wed, 02 Apr 2014 21:07:35 +0200] rev 1405
xmlclass : Ensured precedence of newly defined class in case of conflicting declaration

Mon, 31 Mar 2014 00:27:05 +0200Fixed Exception dialog crash when original exception contains unicode
Edouard Tisserant [Mon, 31 Mar 2014 00:27:05 +0200] rev 1404
Fixed Exception dialog crash when original exception contains unicode

Sat, 29 Mar 2014 19:03:00 +0100Fixed unused variable in plc_debug.c
Edouard Tisserant [Sat, 29 Mar 2014 19:03:00 +0100] rev 1403
Fixed unused variable in plc_debug.c

Sat, 29 Mar 2014 14:49:48 +0100On windows, prepend CWD to PATH before invoking Generic target make command
Edouard Tisserant [Sat, 29 Mar 2014 14:49:48 +0100] rev 1402
On windows, prepend CWD to PATH before invoking Generic target make command

Thu, 27 Mar 2014 10:06:30 +0100Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant [Thu, 27 Mar 2014 10:06:30 +0100] rev 1401
Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python

Fri, 21 Mar 2014 00:21:15 +0100Fixed typo in plcopen.py
Edouard Tisserant [Fri, 21 Mar 2014 00:21:15 +0100] rev 1400
Fixed typo in plcopen.py