Wed, 05 Sep 2018 12:58:41 +0200Removed useless condition in Worker.py that was allowing misfit non-serialized call when worker still not running its loop.
Edouard Tisserant [Wed, 05 Sep 2018 12:58:41 +0200] rev 2271
Removed useless condition in Worker.py that was allowing misfit non-serialized call when worker still not running its loop.

Tue, 21 Aug 2018 16:11:02 +0200Refactoring. Separated PLC Object, PYRO Server and MainWorker :
Edouard Tisserant [Tue, 21 Aug 2018 16:11:02 +0200] rev 2270
Refactoring. Separated PLC Object, PYRO Server and MainWorker :
- PLC Object is now a Singleton, instantiated through runtime.CreatePLCObjectSingleton(...)
- Pyro server doesn't hold any reference to PLCObject, and doesn't create it anymore
- PLC Object class doesn't inherit from Pyro.ObjBase anymore
- Pyro related code moved to runtime.PyroServer.py
- MainWorker class moved to runtime/Worker.py
- Both PLC Object and MainWorker creation happens in runtime/__init__.py

Thu, 16 Aug 2018 11:22:40 +0200Fixed new code-generation code, that was making exception with simple variable-to-variable assignments.
Edouard Tisserant [Thu, 16 Aug 2018 11:22:40 +0200] rev 2269
Fixed new code-generation code, that was making exception with simple variable-to-variable assignments.

Tue, 14 Aug 2018 13:10:15 +0200BACnet : Fixed missing header include in server.c introduced in 37ef7a3c6b8b
Edouard Tisserant [Tue, 14 Aug 2018 13:10:15 +0200] rev 2268
BACnet : Fixed missing header include in server.c introduced in 37ef7a3c6b8b

Tue, 14 Aug 2018 12:43:43 +0200merged
Edouard Tisserant [Tue, 14 Aug 2018 12:43:43 +0200] rev 2267
merged

Tue, 14 Aug 2018 11:14:20 +0200NevowServer : Added minimalist css style customization and a link to go to settings page and back
dporopat <denis.poropat@smarteh.si> [Tue, 14 Aug 2018 11:14:20 +0200] rev 2266
NevowServer : Added minimalist css style customization and a link to go to settings page and back

Mon, 13 Aug 2018 15:00:51 +0200fixed setServer call in WampClient module. Was doing nothing because _PySrv wasn't global.
Edouard Tisserant [Mon, 13 Aug 2018 15:00:51 +0200] rev 2265
fixed setServer call in WampClient module. Was doing nothing because _PySrv wasn't global.

Mon, 13 Aug 2018 14:58:59 +0200Removed now deprecated ForceReload from WAMP exposed calls
Edouard Tisserant [Mon, 13 Aug 2018 14:58:59 +0200] rev 2264
Removed now deprecated ForceReload from WAMP exposed calls

Mon, 13 Aug 2018 13:24:48 +0200fixed documentation bug
Edouard Tisserant [Mon, 13 Aug 2018 13:24:48 +0200] rev 2263
fixed documentation bug

Mon, 13 Aug 2018 13:24:28 +0200NevowServer : added addInfoString to allow extensions to declare some read-only strings to be displayed in settings. Also renamed addExtension in addSettings for clarity.
Edouard Tisserant [Mon, 13 Aug 2018 13:24:28 +0200] rev 2262
NevowServer : added addInfoString to allow extensions to declare some read-only strings to be displayed in settings. Also renamed addExtension in addSettings for clarity.

Mon, 13 Aug 2018 11:10:23 +0200fixed problems reported by certification testing : vendor identifier acces rights (now read only), and bvlc_maintenance timer was increasing too fast.
Mario de Sousa <msousa@fe.up.pt> [Mon, 13 Aug 2018 11:10:23 +0200] rev 2261
fixed problems reported by certification testing : vendor identifier acces rights (now read only), and bvlc_maintenance timer was increasing too fast.

Thu, 09 Aug 2018 09:07:09 +0200Some blank lines to make bitbucket's PEP8 2.2.0 happy
Edouard Tisserant [Thu, 09 Aug 2018 09:07:09 +0200] rev 2260
Some blank lines to make bitbucket's PEP8 2.2.0 happy

Wed, 08 Aug 2018 13:46:19 +0200merged Andrey's default
Edouard Tisserant [Wed, 08 Aug 2018 13:46:19 +0200] rev 2259
merged Andrey's default

Wed, 01 Aug 2018 13:09:45 +0300Fix wrong code generation if EN/ENO are used in FBD/LD/SFC
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 01 Aug 2018 13:09:45 +0300] rev 2258
Fix wrong code generation if EN/ENO are used in FBD/LD/SFC

This problem appears for example here

--------
------- | MOVE |
| MOVE1 |------|EN ENO|
------- | |
| |
------- | | -----------
| 23 |------|IN OUT|---| LocalVar0 |
------- -------- -----------


--------
------- | MOVE |
| MOVE2 |------|EN ENO|
------- | |
| |
------- | | -----------
| 15 |------|IN OUT|---| LocalVar0 |
------- -------- -----------

Before wrong code was generated for this case:

MOVE6_OUT := MOVE(EN := move1, IN := 23, ENO => MOVE6_ENO);
LocalVar0 := MOVE6_OUT;
MOVE4_OUT := MOVE(EN := move2, IN := 15, ENO => MOVE4_ENO);
LocalVar0 := MOVE4_OUT;

With this patch now following code is generated:

MOVE6_OUT := MOVE(EN := move1, IN := 23, ENO => MOVE6_ENO);
IF MOVE6_ENO THEN
LocalVar0 := MOVE6_OUT;
END_IF;
MOVE4_OUT := MOVE(EN := move2, IN := 15, ENO => MOVE4_ENO);
IF MOVE4_ENO THEN
LocalVar0 := MOVE4_OUT;
END_IF;


See discussion here:
https://sourceforge.net/p/beremiz/mailman/message/36378805/

Tue, 31 Jul 2018 14:17:41 +0300Fix flickering in debug panel
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 31 Jul 2018 14:17:41 +0300] rev 2257
Fix flickering in debug panel

This flickering made debug panel unusable, because most of the time
panel was white. This problem effects wxPython with GTK3+ backend
(at least on GNU/Linux systems).

Removed code IIUC draws box with content of moved debug variable, I
don't see any effect of it neither on GNU/Linux nor on Windows. It
should be safe to remove.

Mon, 30 Jul 2018 19:28:39 +0300Fix non-usable toolbar on wxPython with GTK3+
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 30 Jul 2018 19:28:39 +0300] rev 2256
Fix non-usable toolbar on wxPython with GTK3+

On GNU/Linux if wxPython uses wxWidget with GTK3+ backend (this is
what most modern distributions do), then size of EditorToolBar was
always to store only one button.
This is because GetBestSize() is updated only after pane is shown and
updated.
The code does work correctly on python-wxgtk3.0 (gtk2 backend) on
GNU/Linux and with wxpython 2.8 on Windows.

Mon, 30 Jul 2018 19:02:36 +0300Fix problem with decreasing size of StatusToolBar when tools are removed from toolbar.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 30 Jul 2018 19:02:36 +0300] rev 2255
Fix problem with decreasing size of StatusToolBar when tools are removed from toolbar.

StatusToolBar - toolbar with tool to build, clear, connect, ...
This problem appears only in python-wxgtk3.0. In python-wxgtk2.8 there
was not such problem.

If call StatusToolBar.SetMinSize(wx.DefaultSize), all is working, but
following warning message appears:

(Beremiz.py:15155): Gtk-WARNING **: 18:42:24.115: Negative content
width -6 (allocation 1, extents 4x3) while allocating gadget (node
toolbar, owner GtkToolbar)

To avoid that StatusToolBar.GetToolBitmapSize() is used instead of wx.DefaultSize

Sun, 29 Jul 2018 02:00:03 +0300Add BACnet example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Sun, 29 Jul 2018 02:00:03 +0300] rev 2254
Add BACnet example

Fri, 27 Jul 2018 22:01:10 +0000Rework README.md, add examples section, add instructions for Modbus extension, more information about runtime.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 27 Jul 2018 22:01:10 +0000] rev 2253
Rework README.md, add examples section, add instructions for Modbus extension, more information about runtime.

Fri, 27 Jul 2018 15:44:20 +0300Add Modbus example
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 27 Jul 2018 15:44:20 +0300] rev 2252
Add Modbus example

Wed, 08 Aug 2018 13:27:44 +0200Disable source quality checking on ethercat plugin - will fix it later
Edouard Tisserant [Wed, 08 Aug 2018 13:27:44 +0200] rev 2251
Disable source quality checking on ethercat plugin - will fix it later

Wed, 08 Aug 2018 13:26:48 +0200Passed bacnet*.py through autopep8, and attemped to fix manually what went wrong + fixed pylint complains
Edouard Tisserant [Wed, 08 Aug 2018 13:26:48 +0200] rev 2250
Passed bacnet*.py through autopep8, and attemped to fix manually what went wrong + fixed pylint complains

Wed, 08 Aug 2018 10:17:19 +0200More pylint+pep8 conformance
Edouard Tisserant [Wed, 08 Aug 2018 10:17:19 +0200] rev 2249
More pylint+pep8 conformance

Wed, 08 Aug 2018 10:15:51 +0200autopep8 + hand made fixes on ProjectController.py runtime/WampClient.py wxglade_hmi/wxglade_hmi.py
Edouard Tisserant [Wed, 08 Aug 2018 10:15:51 +0200] rev 2248
autopep8 + hand made fixes on ProjectController.py runtime/WampClient.py wxglade_hmi/wxglade_hmi.py

Tue, 07 Aug 2018 13:35:28 +0200pylint on runtime/NevowServer.py
Edouard Tisserant [Tue, 07 Aug 2018 13:35:28 +0200] rev 2247
pylint on runtime/NevowServer.py

Mon, 06 Aug 2018 15:36:09 +0200pep8 on runtime/NevowServer.py
Edouard Tisserant [Mon, 06 Aug 2018 15:36:09 +0200] rev 2246
pep8 on runtime/NevowServer.py

Mon, 06 Aug 2018 14:30:43 +0200merged
Edouard Tisserant [Mon, 06 Aug 2018 14:30:43 +0200] rev 2245
merged

Mon, 06 Aug 2018 13:14:50 +0200Make some POU libraries selected by default or not. This changes structure of features.libraries, please check and update your extensions if they use libraries
Edouard Tisserant [Mon, 06 Aug 2018 13:14:50 +0200] rev 2244
Make some POU libraries selected by default or not. This changes structure of features.libraries, please check and update your extensions if they use libraries

Wed, 04 Jul 2018 17:47:38 +0300remove useless code
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 04 Jul 2018 17:47:38 +0300] rev 2243
remove useless code

1. hotkey is already defined in menu string
2. remove duplicated code

Wed, 04 Jul 2018 16:41:02 +0300Add full screen mode (menu and title are hidden)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 04 Jul 2018 16:41:02 +0300] rev 2242
Add full screen mode (menu and title are hidden)

It's can be switched by pressing Shift-F12 or by clicking button on the toolbar

Tue, 03 Jul 2018 17:09:11 +0300Add information how to make shelve command work with check_source.sh called from hg hook
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 03 Jul 2018 17:09:11 +0300] rev 2241
Add information how to make shelve command work with check_source.sh called from hg hook

and added coresponding flag handling in check_source.sh

Fri, 29 Jun 2018 17:53:57 +0300Automatically increment IEC-location address if copy of the variable is created
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Jun 2018 17:53:57 +0300] rev 2240
Automatically increment IEC-location address if copy of the variable is created

Fri, 29 Jun 2018 15:36:34 +0300Make information about translation to be in unicode
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Jun 2018 15:36:34 +0300] rev 2239
Make information about translation to be in unicode

This is necessary because some translator's names contains non-ASCII
characters and they are not handled properly in about dialog on Windows

Fri, 29 Jun 2018 13:40:11 +0300Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Jun 2018 13:40:11 +0300] rev 2238
Take plcopen_icons.svg as source of png icons as well

generate poe.ico from png images of different sizes.

Fri, 29 Jun 2018 13:36:32 +0300Add 256x256 and 64x64 Beremiz icons
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Jun 2018 13:36:32 +0300] rev 2237
Add 256x256 and 64x64 Beremiz icons


remove svg:midPointStop tags from icons.svg, because Inkscape
complained about unsupported tag. It seems that these tags were made
by Adobe Illustrator and aren't supported by any other app.

Fri, 29 Jun 2018 13:30:39 +0300Add PLCOpenEditor icon to plcopen_icons.svg
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Fri, 29 Jun 2018 13:30:39 +0300] rev 2236
Add PLCOpenEditor icon to plcopen_icons.svg

add 256x256 size to the icon

Wed, 27 Jun 2018 18:13:31 +0300Fix rounding of thousandths of microseconds in duration editor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 27 Jun 2018 18:13:31 +0300] rev 2235
Fix rounding of thousandths of microseconds in duration editor

Wed, 27 Jun 2018 17:13:06 +0300Add checking value in microseconds field in duration editor dialog
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 27 Jun 2018 17:13:06 +0300] rev 2234
Add checking value in microseconds field in duration editor dialog

Wed, 27 Jun 2018 13:57:03 +0300Catch 'clipboard already open' errors in editors
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 27 Jun 2018 13:57:03 +0300] rev 2233
Catch 'clipboard already open' errors in editors

Apparently following commits have not fixed the problem completely,
because it still happens (although not so often).

changeset: 2019:b8f795bdfe9f
user: Andrey Skvortsov <andrej.skvortzov@gmail.com>
date: Fri May 25 17:40:29 2018 +0300
summary: fix hangs on mouse selection in case if wxPython uses wxWidgets with GTK3+ support

changeset: 2018:5ce6d08ff2c7
user: Andrey Skvortsov <andrej.skvortzov@gmail.com>
date: Fri May 25 17:23:15 2018 +0300
summary: make clipboard open minimal time as wxPython documentation recommends

Wed, 27 Jun 2018 10:58:45 +0300If task type is changed from 'interrupt' to 'cyclic' init interval with T#20ms.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 27 Jun 2018 10:58:45 +0300] rev 2232
If task type is changed from 'interrupt' to 'cyclic' init interval with T#20ms.

Tue, 26 Jun 2018 18:02:51 +0300Explicitly enable required libraries in test projects
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 26 Jun 2018 18:02:51 +0300] rev 2231
Explicitly enable required libraries in test projects

Tue, 26 Jun 2018 17:46:37 +0300Disable by default unlisted in project beremiz.xml libraries
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 26 Jun 2018 17:46:37 +0300] rev 2230
Disable by default unlisted in project beremiz.xml libraries

Used libraries should be explicitly enabled.

Tue, 26 Jun 2018 17:34:15 +0300Fix 'DoGetTextExtent - invalid DC' error
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 26 Jun 2018 17:34:15 +0300] rev 2229
Fix 'DoGetTextExtent - invalid DC' error

most likely this error happens only on certain wx backends.
GTK3+ on GNU/Linux is apparently one of them.
The problem is described in wxWidgets issue tracker.
http://trac.wxwidgets.org/ticket/12486

[-------------------------------------------------------------------------------------------------------------------]
platform:
Linux-4.16.0-2-rt-amd64-x86_64-with-debian-buster-sid

python-version:
2.7.15

traceback:
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 1605, in DispatchDebugValuesProc
self.CallWeakcallables("__tick__", "NewDataAvailable", debug_ticks)
File "/home/developer/WorkData/PLC/beremiz/beremiz/ProjectController.py", line 1585, in CallWeakcallables
function(*cargs)
File "/home/developer/WorkData/PLC/beremiz/beremiz/editors/Viewer.py", line 1217, in NewDataAvailable
refresh_rect.Union(element.GetRedrawRect())
File "/home/developer/WorkData/PLC/beremiz/beremiz/graphics/GraphicCommons.py", line 1609, in GetRedrawRect
self.ValueSize = self.Parent.GetMiniTextExtent(self.ComputedValue)
File "/home/developer/WorkData/PLC/beremiz/beremiz/editors/Viewer.py", line 932, in GetMiniTextExtent
return self.MiniTextDC.GetTextExtent(text)
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk3/wx/_gdi.py", line 4127, in GetTextExtent
return _gdi_.DC_GetTextExtent(*args, **kwargs)
<class 'wx._core.PyAssertionError'>: C++ assertion "m_graphicContext" failed at ../src/common/dcgraph.cpp(1160) in DoGetTextExtent(): wxGCDC(cg)::DoGetTextExtent - invalid DC

wx-platform:
__WXGTK__

wx-version:
3.0.2.0

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

traceback:
File "/home/developer/WorkData/PLC/beremiz/beremiz/controls/LogViewer.py", line 740, in OnMessageToolTipTimer
self.MessageToolTip.SetFont(self.Font)
File "/home/developer/WorkData/PLC/beremiz/beremiz/controls/CustomToolTip.py", line 75, in SetFont
self.RefreshTip()
File "/home/developer/WorkData/PLC/beremiz/beremiz/controls/CustomToolTip.py", line 158, in RefreshTip
self.SetClientSize(self.GetToolTipSize())
File "/home/developer/WorkData/PLC/beremiz/beremiz/controls/CustomToolTip.py", line 145, in GetToolTipSize
w, h = dc.GetTextExtent(line)
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk3/wx/_gdi.py", line 4127, in GetTextExtent
return _gdi_.DC_GetTextExtent(*args, **kwargs)
<class 'wx._core.PyAssertionError'>: C++ assertion "m_graphicContext" failed at ../src/common/dcgraph.cpp(1160) in DoGetTextExtent(): wxGCDC(cg)::DoGetTextExtent - invalid DC

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

Tue, 26 Jun 2018 14:48:44 +0300Fix size of ProjectDialog used by PLCOpenEditor
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 26 Jun 2018 14:48:44 +0300] rev 2228
Fix size of ProjectDialog used by PLCOpenEditor

Disable scrolling for ProjectDialog, because otherwise very very small
windows is created.
This regression was introduced by 5701225 ("replaced normal panel with scrolled panel under project
properties").

Tue, 26 Jun 2018 10:37:36 +0300Fix some compilation warnings for better ANSI C compliance
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Tue, 26 Jun 2018 10:37:36 +0300] rev 2227
Fix some compilation warnings for better ANSI C compliance

Fri, 20 Jul 2018 11:10:42 +0200Customizable columns in VariableTables (i.e. can be monkey patched properly)
Edouard Tisserant [Fri, 20 Jul 2018 11:10:42 +0200] rev 2226
Customizable columns in VariableTables (i.e. can be monkey patched properly)

Fri, 20 Jul 2018 11:05:17 +0200Merged
Edouard Tisserant [Fri, 20 Jul 2018 11:05:17 +0200] rev 2225
Merged

Thu, 19 Jul 2018 13:32:27 +0200Customizable update of toolbar buttons (i.e. 'methods') according to PLCStatus nevow_service_rework
Edouard Tisserant [Thu, 19 Jul 2018 13:32:27 +0200] rev 2224
Customizable update of toolbar buttons (i.e. 'methods') according to PLCStatus

Fri, 13 Jul 2018 09:06:01 +0200Fixed small typo in error message. nevow_service_rework
Edouard Tisserant [Fri, 13 Jul 2018 09:06:01 +0200] rev 2223
Fixed small typo in error message.

Thu, 12 Jul 2018 09:35:09 +0200WAMP : complains about failure to start WAMP only if it was successfully imported. nevow_service_rework
Edouard Tisserant [Thu, 12 Jul 2018 09:35:09 +0200] rev 2222
WAMP : complains about failure to start WAMP only if it was successfully imported.

Wed, 11 Jul 2018 14:32:19 +0200WAMP: now config and secret given in project files always override those given in commandline. Also made extensions web customisations happen before registration of web interface. nevow_service_rework
Edouard Tisserant [Wed, 11 Jul 2018 14:32:19 +0200] rev 2221
WAMP: now config and secret given in project files always override those given in commandline. Also made extensions web customisations happen before registration of web interface.

Tue, 10 Jul 2018 12:54:05 +0200Moved Wamp configuration file selection logic into runtime/wampclient.py. Added Wamp CRA secret file upload and download. Slightly reworked code for config and secret file loading and saving. nevow_service_rework
Edouard Tisserant [Tue, 10 Jul 2018 12:54:05 +0200] rev 2220
Moved Wamp configuration file selection logic into runtime/wampclient.py. Added Wamp CRA secret file upload and download. Slightly reworked code for config and secret file loading and saving.

Tue, 10 Jul 2018 12:51:28 +0200Added a way for extension to register dedicated URL under settings page URL (i.e. /settings/something) nevow_service_rework
Edouard Tisserant [Tue, 10 Jul 2018 12:51:28 +0200] rev 2219
Added a way for extension to register dedicated URL under settings page URL (i.e. /settings/something)

Fri, 06 Jul 2018 15:09:44 +0200Fixed a bit of everything in WAMP, and added web settings for that same extension. nevow_service_rework
Edouard Tisserant [Fri, 06 Jul 2018 15:09:44 +0200] rev 2218
Fixed a bit of everything in WAMP, and added web settings for that same extension.

Fri, 06 Jul 2018 15:07:40 +0200Added some immutable field (platform) in default runtime web setting page, for the example. nevow_service_rework
Edouard Tisserant [Fri, 06 Jul 2018 15:07:40 +0200] rev 2217
Added some immutable field (platform) in default runtime web setting page, for the example.

Fri, 06 Jul 2018 15:05:03 +0200Fix misc typos in exception handling code. nevow_service_rework
Edouard Tisserant [Fri, 06 Jul 2018 15:05:03 +0200] rev 2216
Fix misc typos in exception handling code.