Edouard Tisserant [Thu, 18 Apr 2019 14:34:22 +0200] rev 2603
Add some "pipe to self" trick in Pyro server to accelerate runtime shutdown instead of waiting for arbitrary pyro timeout.
Edouard Tisserant [Thu, 18 Apr 2019 14:32:43 +0200] rev 2602
If call to GetPLCstatus can't be executed in PLC, then obtained status is disconnected. Status on "None" is not relevant anymore, and is replaced by Disconnected.
Edouard Tisserant [Thu, 18 Apr 2019 14:29:55 +0200] rev 2601
Enure that all threads are joined before trying to exit
Edouard Tisserant [Wed, 17 Apr 2019 14:18:22 +0200] rev 2600
Named runtime's threads to ease debugging
Edouard Tisserant [Wed, 17 Apr 2019 14:15:39 +0200] rev 2599
Added Repair() png icon
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 16 Apr 2019 14:45:41 +0200] rev 2598
pep8 again...
./connectors/PYRO/PSK_Adapter.py:49:1: E302 expected 2 blank lines, found 1
./connectors/PYRO/PSK_Adapter.py:57:5: E303 too many blank lines (2)
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 16 Apr 2019 13:32:32 +0200] rev 2597
PEP8 fix : ./connectors/PYRO/PSK_Adapter.py:49:1: E302 expected 2 blank lines, found 1
Edouard Tisserant [Tue, 16 Apr 2019 11:26:52 +0200] rev 2596
Added RepairPLC() to PLCObject. For now just calling PurgePLC and quit PLC runtime.
Edouard Tisserant [Tue, 16 Apr 2019 11:26:34 +0200] rev 2595
Ensure Beremiz_service.py quits properly when Main Worker stops and wa are using Wx and/or Twisted.
Edouard Tisserant [Mon, 15 Apr 2019 13:34:09 +0200] rev 2594
Added PurgePLC() method to PLCObject, to be invoked when PLC Status is broken. It clears PLC shared object an extra files and force status to Empty. Added correponding Repair button to toolbar, visible only when PLC status is broken.
Edouard Tisserant [Thu, 11 Apr 2019 13:45:27 +0200] rev 2593
Background erase of debug variable panel was disabled for some reason, and it not anymore compatible with EVT_PAINT based refresh. It was leaving traces behind when removing traced variable. Fixed.
Edouard Tisserant [Thu, 11 Apr 2019 13:41:52 +0200] rev 2592
force redraw only through EVT_PAINT event and use wxPaintDC, as described in wx documentation
Edouard Tisserant [Thu, 11 Apr 2019 11:26:47 +0200] rev 2591
Fixed refresh problem following 9c5f835b031e, 9622418ac28c, c67488bd8134 : force redraw only through EVT_PAINT event and use wxPaintDC, as described in wx documentation
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 11 Apr 2019 08:40:17 +0200] rev 2590
merged
Edouard Tisserant [Wed, 10 Apr 2019 14:11:52 +0200] rev 2589
Nicer name than 'var_name' for variable auto-renaming in Modbus
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 10 Apr 2019 21:36:12 +0200] rev 2588
Allow starting IDE without sslpsk module installed. Fail when connecting to PYROS if sslpsk unavailable.
Edouard Tisserant [Tue, 09 Apr 2019 14:08:44 +0200] rev 2587
Fixed preview drawing/refresh problem in sfc/ld/fbd graphical element creation dialogs on windows (introduced in 9c5f835b031e, continuation of 9622418ac28c)
Edouard Tisserant [Tue, 09 Apr 2019 13:18:51 +0200] rev 2586
pep8 white spaces
Edouard Tisserant [Tue, 09 Apr 2019 13:13:27 +0200] rev 2585
Now default_evaluator is provided by runtime package
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Apr 2019 13:08:03 +0200] rev 2584
merge
Edouard Tisserant [Tue, 09 Apr 2019 13:05:35 +0200] rev 2583
Continue fixing deadlock of previous commit, this time occuring when waiting for 'cleanup' python runtime call to finish. Now 'init' and 'cleanup' python runtime calls are called directly from main thread, and aren't anymore invoked in the context of wxMainloop and/or twisted reactor.
Edouard Tisserant [Tue, 09 Apr 2019 09:13:55 +0200] rev 2582
Fix deadlock when indirectly calling PLCObject's evaluator() from twisted of wx event loops. Was freezing while transfer/start/stop through Wamp. Serialize all PLCObject's call to self.PythonRuntimeCall into the same PythonThread thread.
Edouard Tisserant [Mon, 08 Apr 2019 12:53:18 +0200] rev 2581
Fixed Wamp assertion because of unexpected type
Edouard Tisserant [Thu, 28 Mar 2019 13:09:11 +0100] rev 2580
Enhanced statistics display code, used it and saw no more noticable leak while editing. Closing branch.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 07 Apr 2019 21:08:07 +0200] rev 2579
Conform to pep8 and pylint :
pep8 version: 2.3.1
./ConfigTreeNode.py:130:49: E231 missing whitespace after ','
./editors/Viewer.py:643:24: E128 continuation line under-indented for visual indent
./editors/Viewer.py:670:12: E221 multiple spaces before operator
./editors/Viewer.py:671:13: E221 multiple spaces before operator
./editors/Viewer.py:2138:52: E203 whitespace before ':'
./editors/Viewer.py:2139:66: W291 trailing whitespace
./controls/VariablePanel.py:154:25: E231 missing whitespace after ','
./controls/LocationCellEditor.py:88:1: W293 blank line contains whitespace
./controls/LocationCellEditor.py:191:25: E221 multiple spaces before operator
./controls/LocationCellEditor.py:200:17: E128 continuation line under-indented for visual indent
pylint 1.8.3,
************* Module controls.LocationCellEditor
controls/LocationCellEditor.py:200: [C0330(bad-continuation), ] Wrong continued indentation (add 9 spaces).
_("Selected location is identical to previous one"))
^ |
************* Module controls.VariablePanel
controls/VariablePanel.py:154: [E1601(print-statement), VariableTable.SetValue] print statement used
************* Module editors.Viewer
editors/Viewer.py:643: [C0330(bad-continuation), ] Wrong continued indentation (add 1 space).
self.GetAddMenuCallBack(self.AddNewComment))
^|
editors/Viewer.py:598: [W0612(unused-variable), Viewer.AddDivergenceMenuItems] Unused variable 'add_branch'
editors/Viewer.py:1655: [E0602(undefined-variable), Viewer.PopupConnectionMenu] Undefined variable 'variable_type'
editors/Viewer.py:1649: [W0612(unused-variable), Viewer.PopupConnectionMenu] Unused variable 'connection_type'
************* Module connectors.PYRO.PSK_Adapter
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 07 Apr 2019 16:23:49 +0200] rev 2578
Merged
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 03 Apr 2019 06:31:34 +0000] rev 2577
Fix typo in README.md
Closes #80
Edouard Tisserant [Thu, 04 Apr 2019 14:00:17 +0200] rev 2576
merged rename_on_location_change branch
Edouard Tisserant [Thu, 04 Apr 2019 13:59:22 +0200] rev 2575
Rename checkbox and immediately apply.
Added a checkbox in Location selection dialog (saved as user settings) to let user choose if variable is being renamed.
Also forced closing celle editor once new location is selected.
Edouard Tisserant [Wed, 03 Apr 2019 13:20:28 +0200] rev 2574
LocationCellEditor use better source for variable name replacement, and validate variable name before applying it or complains otherwise.
Edouard Tisserant [Tue, 02 Apr 2019 09:46:58 +0200] rev 2573
LocationCellEditor now systematically change variable name according to name given by CTN, calls VariablePanel' OnVariableNameChange to update POU accordingly.
Edouard Tisserant [Thu, 28 Mar 2019 14:06:53 +0100] rev 2572
Fix problem introduced in 9c5f835b031e : Exception in LDPowerRailDialog.py because of change in OnPaint/RefreshView/DrawPreview.
Edouard Tisserant [Thu, 28 Mar 2019 13:39:58 +0100] rev 2571
Fixed RecentProjectMenu in BeremizIDE.py broken by untested changes in wx.NewID_abuse_fix.
Edouard Tisserant [Thu, 28 Mar 2019 13:10:26 +0100] rev 2570
Merged wx.NewID_abuse_fix branch
Edouard Tisserant [Thu, 28 Mar 2019 13:08:20 +0100] rev 2569
More wx.NewID abuse removal. This time BeremizIDE.py was cleaned.
Edouard Tisserant [Thu, 28 Mar 2019 09:19:30 +0100] rev 2568
Merged more of wx.NewID_abuse_fix branch
Edouard Tisserant [Wed, 27 Mar 2019 14:10:39 +0100] rev 2567
More wx.NewID abuse removal. All Viewer.py got cured.
Edouard Tisserant [Wed, 27 Mar 2019 13:08:51 +0100] rev 2566
More wx.NewID abuse removal. This one was apparently silently unbinding toolbar butons when running out of mew wx IDs.
Edouard Tisserant [Tue, 26 Mar 2019 13:54:36 +0100] rev 2565
Dyslectic typos
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 20:32:40 +0000] rev 2564
Close branch py3-fix.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Thu, 27 Jul 2017 20:34:38 +0000] rev 2563
Close branch 1.1 Korean release.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 09:12:44 +0000] rev 2562
Close branch generate-button.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 23:55:05 +0300] rev 2561
close #2486 head
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 20:33:11 +0000] rev 2560
Close branch nevow_service_rework.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 07 Jan 2019 20:32:32 +0000] rev 2559
Close branch wx3-fix.
Edouard Tisserant [Tue, 26 Mar 2019 11:08:32 +0100] rev 2558
Intermediate merge of wx.NewID_abuse_fix branch but kept debug code in the branch. This is still work in progress, banch is NOT closed.
Edouard Tisserant [Tue, 26 Mar 2019 11:03:57 +0100] rev 2557
Continued wx.NewID abuse removal in Viewer.py : Added AppendItem to use instead of AppendMenu, made examples with AddBlockPinMenuItems and AddAlignmentMenuItems
Edouard Tisserant [Tue, 26 Mar 2019 09:43:51 +0100] rev 2556
Continued wx.NewID abuse removal in Viewer.py : get rid of one call to AppendMenu method, having no real purpose apparently. To be continued.
Edouard Tisserant [Tue, 26 Mar 2019 09:41:09 +0100] rev 2555
Start fixing wx.NewId abuse in viewer.py. This shows how to avoid using AppendMenu() function, definitely useless.
Edouard Tisserant [Mon, 25 Mar 2019 14:59:54 +0100] rev 2554
VariablePanel's menu do not waste Wx IDs anymore (directly binds wx objects rather than crating new ID wit wx.NewId)
Edouard Tisserant [Tue, 26 Mar 2019 09:48:45 +0100] rev 2553
Instrument IDE code to find code abusing wx.NewId.
Edouard Tisserant [Fri, 22 Mar 2019 14:00:35 +0100] rev 2552
Fix error when searching accross project. Collection of result wasn't initialized and was failing in case some CTN was returning no result.
Edouard Tisserant [Fri, 22 Mar 2019 13:45:19 +0100] rev 2551
Make spaghetti-code-quality great again.
Edouard Tisserant [Fri, 22 Mar 2019 13:26:31 +0100] rev 2550
Merged
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 12:20:46 +0300] rev 2549
Add Docker files to build containers to run automated tests
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 12:10:36 +0300] rev 2548
merge
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 12:09:41 +0300] rev 2547
check_source.sh: fix sed error: -e expression #1, char 25: Invalid range end
Warning happen only if old sed (4.4) is used.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Mon, 18 Mar 2019 12:07:49 +0300] rev 2546
Fix pylint warning [C0325(superfluous-parens), ] Unnecessary parens after u'if' keyword
************* Module runtime.PLCObject
runtime/PLCObject.py:609: [C0325(superfluous-parens), ] Unnecessary parens after u'if' keyword
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 15:58:34 +0300] rev 2545
Update Beremiz dependencies because of added PYROS:// support
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 15:54:17 +0300] rev 2544
Fix header and convert comments to docstrings in PSK_Adapter
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 15:43:45 +0300] rev 2543
Fix Pyro work with SSL wrapper (sslpsk)
Following error was shown in Beremiz console:
PYRO connecting to URI : PYROS://127.0.0.1:3001#beremiz
Exception while connecting to 'PYROS://127.0.0.1:3001#beremiz': non-zero flags not allowed in calls to recv() on <class 'ssl.SSLSocket'>
Connection failed to PYROS://127.0.0.1:3001#beremiz!
Reason is that Pyro calls socket recv() with MSGWAITALL flag, that causes ValueError exception.
https://docs.python.org/2/library/ssl.html
recv(), recv_into() (but passing a non-zero flags argument is not allowed)
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 14:27:24 +0300] rev 2542
Fix crash in runtime if PSK secret is missing
./Beremiz_service.py -s $PWD/psk2.txt -n beremiz /tmp/beremiz
Beremiz_service: 1.2-1378c18402c3+
Traceback (most recent call last):
File "./Beremiz_service.py", line 511, in <module>
ensurePSK(servicename, PSKpath)
File "/home/developer/WorkData/PLC/beremiz/beremiz/runtime/Stunnel.py", line 32, in ensurePSK
PSKgen(ID, PSKpath)
File "/home/developer/WorkData/PLC/beremiz/beremiz/runtime/Stunnel.py", line 23, in PSKgen
call(restart_stunnel_cmdline)
File "/home/developer/WorkData/PLC/beremiz/beremiz/runtime/spawn_subprocess.py", line 116, in call
pid = posix_spawn.posix_spawnp(cmd[0], cmd)
File "/home/developer/.local/lib/python2.7/site-packages/posix_spawn/_impl.py", line 120, in posix_spawnp
return _posix_spawn(lib.posix_spawnp, *args, **kwargs)
File "/home/developer/.local/lib/python2.7/site-packages/posix_spawn/_impl.py", line 111, in _posix_spawn
_check_error(res, path)
File "/home/developer/.local/lib/python2.7/site-packages/posix_spawn/_impl.py", line 10, in _check_error
raise OSError(errno, os.strerror(errno), path)
OSError: [Errno 2] No such file or directory: '/etc/init.d/S50stunnel'
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 14:14:31 +0300] rev 2541
Update build instruction for BACNet in README
in r3189 Steve added new feature to bacnet-stack: network port - to
access configuration and properties of network ports of a device.
https://sourceforge.net/p/bacnet/code/3189/
It's not implemented by Beremiz.
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 13 Mar 2019 14:11:13 +0300] rev 2540
Replace md5 module with hashlib
fix following pylint error:
************* Module connectors.ConnectorBase
connectors/ConnectorBase.py:7: [W1648(bad-python3-import), ] Module moved in Python 3
************* Module runtime.PLCObject
runtime/PLCObject.py:33: [W1648(bad-python3-import), ] Module moved in Python 3