Wed, 18 Sep 2019 11:03:56 +0200PLCobject: Call "stop" and "cleanup" methods from python runtime files in reverse order compared to "init" and "start".
Edouard Tisserant [Wed, 18 Sep 2019 11:03:56 +0200] rev 2635
PLCobject: Call "stop" and "cleanup" methods from python runtime files in reverse order compared to "init" and "start".

Wed, 11 Sep 2019 11:20:11 +0200Non significant changes to mute GCC warnings about unused variables.
Edouard Tisserant [Wed, 11 Sep 2019 11:20:11 +0200] rev 2634
Non significant changes to mute GCC warnings about unused variables.

Thu, 05 Sep 2019 08:35:33 +0200Fixed sequel of earlier commit in PLCGenerator.py. Some ref to temporary variables are still not using the _TMP_ prefix. They are quite hard to find, so to be continued...
Edouard Tisserant [Thu, 05 Sep 2019 08:35:33 +0200] rev 2633
Fixed sequel of earlier commit in PLCGenerator.py. Some ref to temporary variables are still not using the _TMP_ prefix. They are quite hard to find, so to be continued...

Mon, 26 Aug 2019 08:54:02 +0200variable access code moved from plc_debug.c to targets/var_access.c for easiewr re-use in ext.
Edouard Tisserant [Mon, 26 Aug 2019 08:54:02 +0200] rev 2632
variable access code moved from plc_debug.c to targets/var_access.c for easiewr re-use in ext.

Tue, 20 Aug 2019 10:08:11 +0200Swap CTN code gen and Libraries code generation order. In general library part of an extension needs to be computed before CTN part.
Edouard Tisserant [Tue, 20 Aug 2019 10:08:11 +0200] rev 2631
Swap CTN code gen and Libraries code generation order. In general library part of an extension needs to be computed before CTN part.

Tue, 20 Aug 2019 10:01:18 +0200yslt_noindent : Avoid YSLT's indent logic to interfere when using linequote.
Edouard Tisserant [Tue, 20 Aug 2019 10:01:18 +0200] rev 2630
yslt_noindent : Avoid YSLT's indent logic to interfere when using linequote.

Wed, 14 Aug 2019 11:05:17 +0200Add marker to temporary variables created while generating ST code out of FBD, so that they can be recognized as such.
Edouard Tisserant [Wed, 14 Aug 2019 11:05:17 +0200] rev 2629
Add marker to temporary variables created while generating ST code out of FBD, so that they can be recognized as such.

Mon, 12 Aug 2019 13:06:11 +0200Allow using docutil.get_inkscape_path() on Linux also.
Edouard Tisserant [Mon, 12 Aug 2019 13:06:11 +0200] rev 2628
Allow using docutil.get_inkscape_path() on Linux also.

Fri, 09 Aug 2019 12:07:33 +0200Moved XSLT model query python code so that XSLT part can be reused for other transformations
Edouard Tisserant [Fri, 09 Aug 2019 12:07:33 +0200] rev 2627
Moved XSLT model query python code so that XSLT part can be reused for other transformations

Tue, 24 Sep 2019 11:55:59 +0200Fixed unitialized parameter in instances_path stylesheet, leading to
Edouard Tisserant [Tue, 24 Sep 2019 11:55:59 +0200] rev 2626
Fixed unitialized parameter in instances_path stylesheet, leading to
calls to add_instance with no data when passing datatypes insteatd of project
root. That bug was making exceptions (for exemple when editing type) when
having arrays of derivated types in project.

Sun, 14 Jul 2019 08:43:12 +0200Fixed code quality according to pep8 and pylint.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 14 Jul 2019 08:43:12 +0200] rev 2625
Fixed code quality according to pep8 and pylint.

Sat, 13 Jul 2019 10:57:25 +0200Fix exception on exit in some case, sequel of an earlier cleanup commit I couldn't find back. Disconnecting the event is apparently the way to go. https://wiki.wxpython.org/Surviving%20with%20wxEVT%20KILL%20FOCUS%20under%20Microsoft%20Windows
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 13 Jul 2019 10:57:25 +0200] rev 2624
Fix exception on exit in some case, sequel of an earlier cleanup commit I couldn't find back. Disconnecting the event is apparently the way to go. https://wiki.wxpython.org/Surviving%20with%20wxEVT%20KILL%20FOCUS%20under%20Microsoft%20Windows

Fri, 12 Jul 2019 11:53:04 +0200PurgeBlobs was faulty, but it was never having anything to purge. Fixed.
Edouard Tisserant [Fri, 12 Jul 2019 11:53:04 +0200] rev 2623
PurgeBlobs was faulty, but it was never having anything to purge. Fixed.

Fri, 12 Jul 2019 11:51:47 +0200Fixed repetitive freezing of IDE when connection drops.
Edouard Tisserant [Fri, 12 Jul 2019 11:51:47 +0200] rev 2622
Fixed repetitive freezing of IDE when connection drops.
when connection lost error was beeing displayed, the involved wxYield
was calling pending plc status periodic update, itself trying to use connector.
At that time connector is still not destroyed and connection
is attempted again when calling GetPLCStatus.
=> Hack : Ensure connector is destroyed before reporting error.

Wed, 10 Jul 2019 11:21:13 +0200Better error handling when blob transfer fail
Edouard Tisserant [Wed, 10 Jul 2019 11:21:13 +0200] rev 2621
Better error handling when blob transfer fail

Wed, 10 Jul 2019 10:43:14 +0200Removed dead code.
Edouard Tisserant [Wed, 10 Jul 2019 10:43:14 +0200] rev 2620
Removed dead code.

Tue, 09 Jul 2019 09:49:30 +0200Now expects 1 more columns in VARIABLE.CSV file generated by MatIEC. Pair with MatIEC commit 9cb7c8bf7dbc :
Edouard Tisserant [Tue, 09 Jul 2019 09:49:30 +0200] rev 2619
Now expects 1 more columns in VARIABLE.CSV file generated by MatIEC. Pair with MatIEC commit 9cb7c8bf7dbc :
Add a column to VARIABLES.CSV, containing variable (derived) type name, additionally to current last column contyaining base type name

Tue, 18 Jun 2019 14:09:23 +0200Merged workaround for loading bug happening after automatic resize of function blocks. It appears that some code in GraphicCommons.py loop endlessly when wires coordinate do not align with x or y axis. Those erroneous coordinate are now filtered out when loaded in the view.
Edouard Tisserant [Tue, 18 Jun 2019 14:09:23 +0200] rev 2618
Merged workaround for loading bug happening after automatic resize of function blocks. It appears that some code in GraphicCommons.py loop endlessly when wires coordinate do not align with x or y axis. Those erroneous coordinate are now filtered out when loaded in the view.

Tue, 18 Jun 2019 14:03:08 +0200Removed debug code and closed branch fix_fb_resize_wire_bug
Edouard Tisserant [Tue, 18 Jun 2019 14:03:08 +0200] rev 2617
Removed debug code and closed branch

Tue, 18 Jun 2019 13:58:45 +0200GraphicCommons.py : Wire.SetPoints() move filtering before computation of Start and End points to avoid setting them with arbitrary directions. fix_fb_resize_wire_bug
Edouard Tisserant [Tue, 18 Jun 2019 13:58:45 +0200] rev 2616
GraphicCommons.py : Wire.SetPoints() move filtering before computation of Start and End points to avoid setting them with arbitrary directions.

Tue, 18 Jun 2019 09:38:20 +0200GraphicCommons.py : rewrote Wire.Setpoints. fix_fb_resize_wire_bug
Edouard Tisserant [Tue, 18 Jun 2019 09:38:20 +0200] rev 2615
GraphicCommons.py : rewrote Wire.Setpoints.
- trying to make it fix diagonal wires,
- wasn't clear what was intended before, so made it clear :
- duplicate point removal
- segment merging (only if asked)
- remove corners made of opposite direction segments

Thu, 13 Jun 2019 15:49:48 +0200'Change POU Type To' becomes 'Duplicate as...', avoiding side effects of type change when POU is already instanciated. Also remove leftover returType tag in ex-function POUs, triggering exceptions at build time.
Edouard Tisserant [Thu, 13 Jun 2019 15:49:48 +0200] rev 2614
'Change POU Type To' becomes 'Duplicate as...', avoiding side effects of type change when POU is already instanciated. Also remove leftover returType tag in ex-function POUs, triggering exceptions at build time.

Thu, 06 Jun 2019 14:03:16 +0200Fix PLCObject's purge failing silently with extra_files.
Edouard Tisserant [Thu, 06 Jun 2019 14:03:16 +0200] rev 2613
Fix PLCObject's purge failing silently with extra_files.

Thu, 30 May 2019 11:53:13 +0200LogMessage shouldn't be serialized (can lead to blocking in case of exception in main thread), and do not require it.
Edouard Tisserant [Thu, 30 May 2019 11:53:13 +0200] rev 2612
LogMessage shouldn't be serialized (can lead to blocking in case of exception in main thread), and do not require it.

Thu, 30 May 2019 11:51:56 +0200Fixed typo leading to some exception in some rare corner cases in worker.py
Edouard Tisserant [Thu, 30 May 2019 11:51:56 +0200] rev 2611
Fixed typo leading to some exception in some rare corner cases in worker.py

Tue, 23 Apr 2019 11:01:35 +0200Added missing 'path' field to WAMP addresses in URI editor.
Edouard Tisserant [Tue, 23 Apr 2019 11:01:35 +0200] rev 2610
Added missing 'path' field to WAMP addresses in URI editor.

Tue, 23 Apr 2019 11:00:37 +0200Fixed exception when using URI editor for PYRO addresses
Edouard Tisserant [Tue, 23 Apr 2019 11:00:37 +0200] rev 2609
Fixed exception when using URI editor for PYRO addresses

Fri, 19 Apr 2019 13:11:42 +0200Avoid loading PLC at startup when autostart is not set in command line. As a side effect PLC status is artificially set to Stopped, and StartPLC eventually loads PLC if it is not already loaded.
Edouard Tisserant [Fri, 19 Apr 2019 13:11:42 +0200] rev 2608
Avoid loading PLC at startup when autostart is not set in command line. As a side effect PLC status is artificially set to Stopped, and StartPLC eventually loads PLC if it is not already loaded.

Fri, 19 Apr 2019 10:53:02 +0200Add Repair() to WAMP interface
Edouard Tisserant [Fri, 19 Apr 2019 10:53:02 +0200] rev 2607
Add Repair() to WAMP interface

Thu, 18 Apr 2019 14:42:23 +0200Merged fix_PLC_runtime_shutdown
Edouard Tisserant [Thu, 18 Apr 2019 14:42:23 +0200] rev 2606
Merged fix_PLC_runtime_shutdown

Thu, 18 Apr 2019 14:41:21 +0200Close fix_PLC_runtime_shutdown fix_PLC_runtime_shutdown
Edouard Tisserant [Thu, 18 Apr 2019 14:41:21 +0200] rev 2605
Close fix_PLC_runtime_shutdown

Thu, 18 Apr 2019 14:35:42 +0200Runtime worker : unblock the last waiting job and prevent any new job to wait when Main Worker is being shut down. fix_PLC_runtime_shutdown
Edouard Tisserant [Thu, 18 Apr 2019 14:35:42 +0200] rev 2604
Runtime worker : unblock the last waiting job and prevent any new job to wait when Main Worker is being shut down.

Thu, 18 Apr 2019 14:34:22 +0200Add some "pipe to self" trick in Pyro server to accelerate runtime shutdown instead of waiting for arbitrary pyro timeout. fix_PLC_runtime_shutdown
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.

Thu, 18 Apr 2019 14:32:43 +0200If 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. fix_PLC_runtime_shutdown
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.

Thu, 18 Apr 2019 14:29:55 +0200Enure that all threads are joined before trying to exit fix_PLC_runtime_shutdown
Edouard Tisserant [Thu, 18 Apr 2019 14:29:55 +0200] rev 2601
Enure that all threads are joined before trying to exit

Wed, 17 Apr 2019 14:18:22 +0200Named runtime's threads to ease debugging
Edouard Tisserant [Wed, 17 Apr 2019 14:18:22 +0200] rev 2600
Named runtime's threads to ease debugging

Wed, 17 Apr 2019 14:15:39 +0200Added Repair() png icon
Edouard Tisserant [Wed, 17 Apr 2019 14:15:39 +0200] rev 2599
Added Repair() png icon

Tue, 16 Apr 2019 14:45:41 +0200pep8 again...
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)

Tue, 16 Apr 2019 13:32:32 +0200PEP8 fix : ./connectors/PYRO/PSK_Adapter.py:49:1: E302 expected 2 blank lines, found 1
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

Tue, 16 Apr 2019 11:26:52 +0200Added RepairPLC() to PLCObject. For now just calling PurgePLC and quit PLC runtime.
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.

Tue, 16 Apr 2019 11:26:34 +0200Ensure Beremiz_service.py quits properly when Main Worker stops and wa are using Wx and/or Twisted.
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.

Mon, 15 Apr 2019 13:34:09 +0200Added 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 [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.

Thu, 11 Apr 2019 13:45:27 +0200Background 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: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.

Thu, 11 Apr 2019 13:41:52 +0200force redraw only through EVT_PAINT event and use wxPaintDC, as described in wx documentation
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

Thu, 11 Apr 2019 11:26:47 +0200Fixed refresh problem following 9c5f835b031e, 9622418ac28c, c67488bd8134 : 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

Thu, 11 Apr 2019 08:40:17 +0200merged
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 11 Apr 2019 08:40:17 +0200] rev 2590
merged

Wed, 10 Apr 2019 14:11:52 +0200Nicer name than 'var_name' for variable auto-renaming in Modbus
Edouard Tisserant [Wed, 10 Apr 2019 14:11:52 +0200] rev 2589
Nicer name than 'var_name' for variable auto-renaming in Modbus

Wed, 10 Apr 2019 21:36:12 +0200Allow starting IDE without sslpsk module installed. Fail when connecting to PYROS if sslpsk unavailable.
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.

Tue, 09 Apr 2019 14:08:44 +0200Fixed 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 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)

Tue, 09 Apr 2019 13:18:51 +0200pep8 white spaces
Edouard Tisserant [Tue, 09 Apr 2019 13:18:51 +0200] rev 2586
pep8 white spaces

Tue, 09 Apr 2019 13:13:27 +0200Now default_evaluator is provided by runtime package
Edouard Tisserant [Tue, 09 Apr 2019 13:13:27 +0200] rev 2585
Now default_evaluator is provided by runtime package

Tue, 09 Apr 2019 13:08:03 +0200merge
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 09 Apr 2019 13:08:03 +0200] rev 2584
merge

Tue, 09 Apr 2019 13:05:35 +0200Continue 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 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.

Tue, 09 Apr 2019 09:13:55 +0200Fix 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 [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.

Mon, 08 Apr 2019 12:53:18 +0200Fixed Wamp assertion because of unexpected type
Edouard Tisserant [Mon, 08 Apr 2019 12:53:18 +0200] rev 2581
Fixed Wamp assertion because of unexpected type

Thu, 28 Mar 2019 13:09:11 +0100Enhanced statistics display code, used it and saw no more noticable leak while editing. Closing branch. wx.NewID_abuse_fix
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.

Sun, 07 Apr 2019 21:08:07 +0200Conform to pep8 and pylint :
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

Sun, 07 Apr 2019 16:23:49 +0200Merged
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 07 Apr 2019 16:23:49 +0200] rev 2578
Merged

Wed, 03 Apr 2019 06:31:34 +0000Fix typo in README.md
Andrey Skvortsov <andrej.skvortzov@gmail.com> [Wed, 03 Apr 2019 06:31:34 +0000] rev 2577
Fix typo in README.md

Closes #80

Thu, 04 Apr 2019 14:00:17 +0200merged rename_on_location_change branch
Edouard Tisserant [Thu, 04 Apr 2019 14:00:17 +0200] rev 2576
merged rename_on_location_change branch