Tue, 23 Feb 2021 16:16:12 +0100PLCObject : Ensure that PreStart is executed before starting PLC. Also, make sure that python thread doesn't enter in a start/stop loop when ordered to stop.
Edouard Tisserant [Tue, 23 Feb 2021 16:16:12 +0100] rev 2720
PLCObject : Ensure that PreStart is executed before starting PLC. Also, make sure that python thread doesn't enter in a start/stop loop when ordered to stop.

Mon, 18 Jan 2021 10:59:28 +0100Merge
Edouard Tisserant [Mon, 18 Jan 2021 10:59:28 +0100] rev 2719
Merge

Fri, 25 Dec 2020 17:12:02 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Fri, 25 Dec 2020 17:12:02 +0000] rev 2718
merge

Fri, 25 Dec 2020 17:11:38 +0000modbus plugin: add/fix comments
Mario de Sousa <msousa@fe.up.pt> [Fri, 25 Dec 2020 17:11:38 +0000] rev 2717
modbus plugin: add/fix comments

Mon, 21 Dec 2020 22:35:07 +0000merge
Mario de Sousa <msousa@fe.up.pt> [Mon, 21 Dec 2020 22:35:07 +0000] rev 2716
merge

Mon, 21 Dec 2020 22:32:03 +0000Modbus plugin: fix bug - map BOOL flag onto C u8 (was incorrectly mapped onto u16)
Mario de Sousa <msousa@fe.up.pt> [Mon, 21 Dec 2020 22:32:03 +0000] rev 2715
Modbus plugin: fix bug - map BOOL flag onto C u8 (was incorrectly mapped onto u16)

Mon, 21 Dec 2020 22:26:36 +0000Modbus plugin: map status of MB transaction onto 2 located BYTE vars (instead of a singlw WORD var).
Mario de Sousa <msousa@fe.up.pt> [Mon, 21 Dec 2020 22:26:36 +0000] rev 2714
Modbus plugin: map status of MB transaction onto 2 located BYTE vars (instead of a singlw WORD var).

Mon, 21 Dec 2020 21:15:47 +0000Modbus plugin: provide user programs feedback on current connection status mapped onto a WORD located variable
Mario de Sousa <msousa@fe.up.pt> [Mon, 21 Dec 2020 21:15:47 +0000] rev 2713
Modbus plugin: provide user programs feedback on current connection status mapped onto a WORD located variable

Wed, 13 Jan 2021 10:28:09 +0100Removed harmful assert in ProcessLogger.
Edouard Tisserant [Wed, 13 Jan 2021 10:28:09 +0100] rev 2712
Removed harmful assert in ProcessLogger.

ProcessLogger was having an assert in constructor when missing logger, leading to systematic exception when testing options accepted by compiler. This exception was silenced in ProjectController, and then MatIEC was always called without options.

Tue, 22 Dec 2020 18:05:05 +0100Fix missing import, consequence of bad resolution of conflicting hg graft of f0a822ef9fa0 into d15a997859b1
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 22 Dec 2020 18:05:05 +0100] rev 2711
Fix missing import, consequence of bad resolution of conflicting hg graft of f0a822ef9fa0 into d15a997859b1

Tue, 14 Jan 2020 11:04:18 +0100plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 14 Jan 2020 11:04:18 +0100] rev 2710
plc_debug.c/var_acces.c : whitespace cleanup and other cosmetic changes

Fri, 03 Jul 2020 14:02:04 +0200Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 03 Jul 2020 14:02:04 +0200] rev 2709
Prevent global python_poll blocks to be created when accidentally adding content to C-File OnChange column.

Mon, 11 May 2020 11:10:38 +0200DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing
Edouard Tisserant [Mon, 11 May 2020 11:10:38 +0200] rev 2708
DEBUG: (IDE side) fixed wrong implementation of anti-rapid-fire leading to systematic delay in subscribing

Tue, 11 Feb 2020 13:56:48 +0100XSLTransform.py: added get_error_log()
Edouard Tisserant [Tue, 11 Feb 2020 13:56:48 +0100] rev 2707
XSLTransform.py: added get_error_log()

Mon, 31 Aug 2020 13:54:08 +0200Attempt to workaround problem reported about empty plc.xml after unrelated crash. Now, if etree model is corrupted in a way tostring() would generate an empty string, exception prevents saving.
Edouard Tisserant [Mon, 31 Aug 2020 13:54:08 +0200] rev 2706
Attempt to workaround problem reported about empty plc.xml after unrelated crash. Now, if etree model is corrupted in a way tostring() would generate an empty string, exception prevents saving.

Thu, 03 Sep 2020 11:16:08 +0200docsvg.py : Better error message when inkscape is not installed.
Edouard Tisserant [Thu, 03 Sep 2020 11:16:08 +0200] rev 2705
docsvg.py : Better error message when inkscape is not installed.

Sat, 04 Apr 2020 09:41:32 +0200Fix unmatched "Courier" font for monospace fonts on latest ubuntu 20.04. Selected "FreeMono" instead, present since at least 18.04
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 04 Apr 2020 09:41:32 +0200] rev 2704
Fix unmatched "Courier" font for monospace fonts on latest ubuntu 20.04. Selected "FreeMono" instead, present since at least 18.04

Mon, 13 Jul 2020 13:56:42 +0200Python Runtime: order of execution of extension's init() and cleanup() now reflects order of appearance of extensions in configuration tree.
Edouard Tisserant [Mon, 13 Jul 2020 13:56:42 +0200] rev 2703
Python Runtime: order of execution of extension's init() and cleanup() now reflects order of appearance of extensions in configuration tree.

Tue, 22 Dec 2020 14:53:15 +0100Runtime: change PLCObject 'BlobAsFile' method to allow customization by overriding
Edouard Tisserant [Tue, 22 Dec 2020 14:53:15 +0100] rev 2702
Runtime: change PLCObject 'BlobAsFile' method to allow customization by overriding

Mon, 21 Dec 2020 11:10:27 +0100WebInterface: better wording for wiping PLC content: "Repair"
Edouard Tisserant [Mon, 21 Dec 2020 11:10:27 +0100] rev 2701
WebInterface: better wording for wiping PLC content: "Repair"

Fri, 18 Dec 2020 11:50:28 +0100runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Dec 2020 11:50:28 +0100] rev 2700
runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature.

Thu, 10 Dec 2020 15:48:15 +0100Add a little test to see OnChange's .count .first .last in action
Edouard Tisserant [Thu, 10 Dec 2020 15:48:15 +0100] rev 2699
Add a little test to see OnChange's .count .first .last in action

Thu, 10 Dec 2020 14:54:42 +0100Fixed "Onchange" object added in previous commit
Edouard Tisserant [Thu, 10 Dec 2020 14:54:42 +0100] rev 2698
Fixed "Onchange" object added in previous commit

Thu, 10 Dec 2020 11:37:27 +0100Python Safe Globals now have more reliable triggering of OnChange call. Added "Onchange" object to accessible runtime variables that let user python code see count of changes and first and last values.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 10 Dec 2020 11:37:27 +0100] rev 2697
Python Safe Globals now have more reliable triggering of OnChange call. Added "Onchange" object to accessible runtime variables that let user python code see count of changes and first and last values.

Fri, 20 Nov 2020 11:17:40 +0100Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 20 Nov 2020 11:17:40 +0100] rev 2696
Project tree: avoid flickering and glitches in notebook when selecting some still not opened ConfigTreeNode

Wed, 18 Nov 2020 23:06:16 +0100Project tree: Clicking on ConfigTreeNode should have same behaviour as for POUS and other IEC types : simple click to select and double click to open.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 18 Nov 2020 23:06:16 +0100] rev 2695
Project tree: Clicking on ConfigTreeNode should have same behaviour as for POUS and other IEC types : simple click to select and double click to open.

Wed, 18 Nov 2020 10:15:44 +0100py_ext: better handling of coma separated OnChange attribute for python safe global variables.
Edouard Tisserant [Wed, 18 Nov 2020 10:15:44 +0100] rev 2694
py_ext: better handling of coma separated OnChange attribute for python safe global variables.

Mon, 02 Nov 2020 10:56:09 +0100Allow customization of generated py_ext OnChange calls, by adding a static method to PythonFileCTNMixin that can the be later hot patched.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 02 Nov 2020 10:56:09 +0100] rev 2693
Allow customization of generated py_ext OnChange calls, by adding a static method to PythonFileCTNMixin that can the be later hot patched.

Tue, 20 Oct 2020 00:23:52 +0200PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 20 Oct 2020 00:23:52 +0200] rev 2692
PY_EXT: OnChange is now a coma separated list of callables. Updated tests/python accordingly.

Tue, 15 Sep 2020 13:57:06 +0200Modbus: fixed typo in ctype typing.
Edouard Tisserant [Tue, 15 Sep 2020 13:57:06 +0200] rev 2691
Modbus: fixed typo in ctype typing.

Fri, 11 Sep 2020 13:46:41 +0200MODBUS: Fix saving of websettings.
Edouard Tisserant [Fri, 11 Sep 2020 13:46:41 +0200] rev 2690
MODBUS: Fix saving of websettings.

Thu, 10 Sep 2020 16:08:26 +0200Runtime/PLCObject : move call to PreStartPLC right after call to the "start" method of all python extensions, and then just before the start of the python loop executing python_* blocks.
Edouard Tisserant [Thu, 10 Sep 2020 16:08:26 +0200] rev 2689
Runtime/PLCObject : move call to PreStartPLC right after call to the "start" method of all python extensions, and then just before the start of the python loop executing python_* blocks.

Thu, 13 Aug 2020 19:00:38 +0100Modbus plugin: reformat code, and add comment.
Mario de Sousa <msousa@fe.up.pt> [Thu, 13 Aug 2020 19:00:38 +0100] rev 2688
Modbus plugin: reformat code, and add comment.

Thu, 13 Aug 2020 18:42:02 +0100Modbus plugin: fix runtime periodic timer (don't use POSIX timer)
Mario de Sousa <msousa@fe.up.pt> [Thu, 13 Aug 2020 18:42:02 +0100] rev 2687
Modbus plugin: fix runtime periodic timer (don't use POSIX timer)

Wed, 01 Jul 2020 10:36:20 +0200Modbus and Bacnet websettings : Rename variables and functions to avoid name collisions.
Edouard Tisserant [Wed, 01 Jul 2020 10:36:20 +0200] rev 2686
Modbus and Bacnet websettings : Rename variables and functions to avoid name collisions.

Websettings for modbus and bacnet are now passed to runtime as python files loaded (execfile) at init of PLCObject with the same globals.
Because if this, same names used in previously different modules now colide.

Mon, 29 Jun 2020 14:38:04 +0200Modbus: fix strange side effect of re-use of condition variables or mutex with Xenomai : without bzero of the associated types, mutex keeps locked.
Edouard Tisserant [Mon, 29 Jun 2020 14:38:04 +0200] rev 2685
Modbus: fix strange side effect of re-use of condition variables or mutex with Xenomai : without bzero of the associated types, mutex keeps locked.

Wed, 24 Jun 2020 14:38:11 +0200Modbus: fix client timer invalid arguments.
Edouard Tisserant [Wed, 24 Jun 2020 14:38:11 +0200] rev 2684
Modbus: fix client timer invalid arguments.

Tue, 23 Jun 2020 13:50:21 +0200Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions.
Edouard Tisserant [Tue, 23 Jun 2020 13:50:21 +0200] rev 2683
Modbus add a timer thread, and switch timer to SIGEV_THREAD_ID to follow xenomai posix skin restrictions.

Fri, 19 Jun 2020 11:07:25 +0200Runtime: Fix typo in PLCObject leading to exception when reporting failure.
Edouard Tisserant [Fri, 19 Jun 2020 11:07:25 +0200] rev 2682
Runtime: Fix typo in PLCObject leading to exception when reporting failure.

Thu, 18 Jun 2020 14:18:16 +0200Py_ext: use non-derived type when generating C code for handling Python PLC globals.
Edouard Tisserant [Thu, 18 Jun 2020 14:18:16 +0200] rev 2681
Py_ext: use non-derived type when generating C code for handling Python PLC globals.

Wed, 17 Jun 2020 14:32:55 +0200tests/python : add some STRING PLC Python globals with OnChange.
Edouard Tisserant [Wed, 17 Jun 2020 14:32:55 +0200] rev 2680
tests/python : add some STRING PLC Python globals with OnChange.

Wed, 17 Jun 2020 14:30:55 +0200Runtime: STRING type for Python PLC Globals was making problem with strings, since generated code wasn't doing comparison properly.
Edouard Tisserant [Wed, 17 Jun 2020 14:30:55 +0200] rev 2679
Runtime: STRING type for Python PLC Globals was making problem with strings, since generated code wasn't doing comparison properly.

Tue, 16 Jun 2020 15:53:52 +0200Merge
Tomaz Orac [Tue, 16 Jun 2020 15:53:52 +0200] rev 2678
Merge

Tue, 16 Jun 2020 11:12:36 +0200Modbus: more comments to remember some necessary changes.
Edouard Tisserant [Tue, 16 Jun 2020 11:12:36 +0200] rev 2677
Modbus: more comments to remember some necessary changes.

Tue, 16 Jun 2020 10:16:25 +0200Modbus/BACnet : add some comments so that we don't forget some pending optimization.
Edouard Tisserant [Tue, 16 Jun 2020 10:16:25 +0200] rev 2676
Modbus/BACnet : add some comments so that we don't forget some pending optimization.

Tue, 16 Jun 2020 10:12:21 +0200Modbus: Delete stored configuration when identical to default configuration.
Edouard Tisserant [Tue, 16 Jun 2020 10:12:21 +0200] rev 2675
Modbus: Delete stored configuration when identical to default configuration.

Mon, 15 Jun 2020 14:34:00 +0200BACnet: prevent saving configuration that is same as default, delete it if so.
Edouard Tisserant [Mon, 15 Jun 2020 14:34:00 +0200] rev 2674
BACnet: prevent saving configuration that is same as default, delete it if so.

Mon, 15 Jun 2020 14:29:41 +0200BACnet and Modbus : fix configuration storage directory
Edouard Tisserant [Mon, 15 Jun 2020 14:29:41 +0200] rev 2673
BACnet and Modbus : fix configuration storage directory

Mon, 15 Jun 2020 14:27:58 +0200Runtime extrension web settings: distinguish display string and token when calling NS.newExtensionSetting, thus allowing meaningful name to be displayed instead of an id.
Edouard Tisserant [Mon, 15 Jun 2020 14:27:58 +0200] rev 2672
Runtime extrension web settings: distinguish display string and token when calling NS.newExtensionSetting, thus allowing meaningful name to be displayed instead of an id.

Fri, 12 Jun 2020 14:40:50 +0200Debug : when BEREMIZ_DEBUG file exist, display all commands issued in console.
Edouard Tisserant [Fri, 12 Jun 2020 14:40:50 +0200] rev 2671
Debug : when BEREMIZ_DEBUG file exist, display all commands issued in console.

Fri, 12 Jun 2020 14:39:32 +0200BACnet and Modbus : Simpler configuration management. NevowServer.py now allows each extension to create and delete multiple configuration forms in the setting page, deprecating delSettings and addAfter.
Edouard Tisserant [Fri, 12 Jun 2020 14:39:32 +0200] rev 2670
BACnet and Modbus : Simpler configuration management. NevowServer.py now allows each extension to create and delete multiple configuration forms in the setting page, deprecating delSettings and addAfter.

Fri, 12 Jun 2020 10:30:23 +0200BACnet and Modbus: Remove additional loading and unloading, use the one already in place for extensions.
Edouard Tisserant [Fri, 12 Jun 2020 10:30:23 +0200] rev 2669
BACnet and Modbus: Remove additional loading and unloading, use the one already in place for extensions.

Sun, 07 Jun 2020 23:47:32 +0100merge
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 23:47:32 +0100] rev 2668
merge

Sun, 07 Jun 2020 23:46:16 +0100Bacnet plugin web configuration: strip leading and trailing spaces for net. interface and port numb.
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 23:46:16 +0100] rev 2667
Bacnet plugin web configuration: strip leading and trailing spaces for net. interface and port numb.

Sun, 07 Jun 2020 23:38:20 +0100Modbus plugin, web interface: strip leading and trailing spaces from string parameters
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 23:38:20 +0100] rev 2666
Modbus plugin, web interface: strip leading and trailing spaces from string parameters

Sun, 07 Jun 2020 22:32:24 +0100Modbus plugin web interface: show the keyword "#ANY#" on TCP servers
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 22:32:24 +0100] rev 2665
Modbus plugin web interface: show the keyword "#ANY#" on TCP servers

Sun, 07 Jun 2020 19:33:32 +0100Modbus plugin: fix bug: was checking user configuration against wrong limits
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 19:33:32 +0100] rev 2664
Modbus plugin: fix bug: was checking user configuration against wrong limits

Sun, 07 Jun 2020 18:34:32 +0100Modbus plugin: fix algorithm detecting Modbus TCP servers using the same IP port on the same network interface
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 18:34:32 +0100] rev 2663
Modbus plugin: fix algorithm detecting Modbus TCP servers using the same IP port on the same network interface

Sun, 07 Jun 2020 12:28:21 +0100Modbus plugin: check for duplicate "Configuration_Name"
Mario de Sousa <msousa@fe.up.pt> [Sun, 07 Jun 2020 12:28:21 +0100] rev 2662
Modbus plugin: check for duplicate "Configuration_Name"

Sat, 06 Jun 2020 08:51:32 +0100add comment
Mario de Sousa <msousa@fe.up.pt> [Sat, 06 Jun 2020 08:51:32 +0100] rev 2661
add comment

Sat, 06 Jun 2020 08:50:36 +0100add comment
Mario de Sousa <msousa@fe.up.pt> [Sat, 06 Jun 2020 08:50:36 +0100] rev 2660
add comment

Sat, 06 Jun 2020 08:43:41 +0100merge
Mario de Sousa <msousa@fe.up.pt> [Sat, 06 Jun 2020 08:43:41 +0100] rev 2659
merge

Sat, 06 Jun 2020 07:34:02 +0100Modbus plugin web configuration: fix comments, and delete un-used code
Mario de Sousa <msousa@fe.up.pt> [Sat, 06 Jun 2020 07:34:02 +0100] rev 2658
Modbus plugin web configuration: fix comments, and delete un-used code

Sat, 06 Jun 2020 07:24:42 +0100Modbus plugin web configuration: use drop down choices for baud, parity and stop bits.
Mario de Sousa <msousa@fe.up.pt> [Sat, 06 Jun 2020 07:24:42 +0100] rev 2657
Modbus plugin web configuration: use drop down choices for baud, parity and stop bits.

Fri, 05 Jun 2020 18:02:12 +0100Modbus plugin web configuration: save node type and addr type to persistant storage
Mario de Sousa <msousa@fe.up.pt> [Fri, 05 Jun 2020 18:02:12 +0100] rev 2656
Modbus plugin web configuration: save node type and addr type to persistant storage

Mon, 01 Jun 2020 14:11:22 +0100Add web extension: configure Modbus Server plugin parameters
Mario de Sousa <msousa@fe.up.pt> [Mon, 01 Jun 2020 14:11:22 +0100] rev 2655
Add web extension: configure Modbus Server plugin parameters

Mon, 01 Jun 2020 08:54:26 +0100Add web extension: configure Modbus plugin parameters (currently only supports Modbus clients)
Mario de Sousa <msousa@fe.up.pt> [Mon, 01 Jun 2020 08:54:26 +0100] rev 2654
Add web extension: configure Modbus plugin parameters (currently only supports Modbus clients)

Tue, 02 Jun 2020 13:37:34 +0200Runtime: create .md5 file at the end of all transfered files being written to disk, so that it presence indicates completeness of transfer.
Edouard Tisserant [Tue, 02 Jun 2020 13:37:34 +0200] rev 2653
Runtime: create .md5 file at the end of all transfered files being written to disk, so that it presence indicates completeness of transfer.

Tue, 02 Jun 2020 11:34:50 +0200IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button.
Edouard Tisserant [Tue, 02 Jun 2020 11:34:50 +0200] rev 2652
IDE: Main toolbar : Show repair button also in stop mode. Move repair button after disconnect button.

Mon, 01 Jun 2020 14:47:31 +0200Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect.
Edouard Tisserant [Mon, 01 Jun 2020 14:47:31 +0200] rev 2651
Runtime: fsync() files when transfering them, to prebent data loss when poweroff soon after programming. Fixed variable naming as a side effect.

Thu, 28 May 2020 11:16:59 +0100merge
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 May 2020 11:16:59 +0100] rev 2650
merge

Thu, 28 May 2020 11:15:22 +0100BACnet plugin: Add web interface for online parameter configuration
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 May 2020 11:15:22 +0100] rev 2649
BACnet plugin: Add web interface for online parameter configuration

Thu, 28 May 2020 11:01:42 +0100modbus_plugin: generate nicer error message, instead of a traceback
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 May 2020 11:01:42 +0100] rev 2648
modbus_plugin: generate nicer error message, instead of a traceback

Thu, 28 May 2020 10:54:48 +0100Modbus plugin: Add "exec. req. flag" and "write on change" features
Mario de Sousa <msousa@fe.up.pt> [Thu, 28 May 2020 10:54:48 +0100] rev 2647
Modbus plugin: Add "exec. req. flag" and "write on change" features

Thu, 28 May 2020 11:38:09 +0200PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions.
Edouard Tisserant [Thu, 28 May 2020 11:38:09 +0200] rev 2646
PLCObject : reorganize code in StartPLC(), add a PreStartPLC() empty method, to be overloaded by runtime extensions.

Tue, 26 May 2020 09:58:20 +0200Solve import order problem when POULibrary imports ConfigTreeNode because of UserAddressedException. Now UserAddressedException is declared in POULibrary.py, as a quick and dirty fix, but some independant module should be created for beremiz exceptions in general.
Edouard Tisserant [Tue, 26 May 2020 09:58:20 +0200] rev 2645
Solve import order problem when POULibrary imports ConfigTreeNode because of UserAddressedException. Now UserAddressedException is declared in POULibrary.py, as a quick and dirty fix, but some independant module should be created for beremiz exceptions in general.

Wed, 18 Dec 2019 13:31:22 +0100Add --on-plc-start --on-plc-stop and --status-change to runtime command line, calling given command respectively on start stop or any event. Command line string is python formated (to eventually include status with {}) before being split (supports quoted strings) and passed to Popen for non-blocking execution.
Edouard Tisserant [Wed, 18 Dec 2019 13:31:22 +0100] rev 2644
Add --on-plc-start --on-plc-stop and --status-change to runtime command line, calling given command respectively on start stop or any event. Command line string is python formated (to eventually include status with {}) before being split (supports quoted strings) and passed to Popen for non-blocking execution.

Mon, 25 Nov 2019 08:10:45 +0100Etherlab : Merged 2014-2018 changes from jblee and others
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 25 Nov 2019 08:10:45 +0100] rev 2643
Etherlab : Merged 2014-2018 changes from jblee and others

Mon, 25 Nov 2019 08:26:55 +0100Close branch ethercat_from_kosmos ethercat_from_kosmos
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 25 Nov 2019 08:26:55 +0100] rev 2642
Close branch ethercat_from_kosmos

Wed, 20 Nov 2019 16:57:15 +0100EtherCat master plugin : commit changes recovered from KOSMOS 2018 installer, unkown author(s). ethercat_from_kosmos
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 20 Nov 2019 16:57:15 +0100] rev 2641
EtherCat master plugin : commit changes recovered from KOSMOS 2018 installer, unkown author(s).

Wed, 13 Nov 2019 11:21:04 +0100Add FatalError() method to ConfigTreeNode.
Edouard Tisserant [Wed, 13 Nov 2019 11:21:04 +0100] rev 2640
Add FatalError() method to ConfigTreeNode.
Extensions can report error addressed to user, without a traceback.

Thu, 24 Oct 2019 11:20:04 +0200Fixed one more sequel of marking temporary variables created while generating ST code out of FBD
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 24 Oct 2019 11:20:04 +0200] rev 2639
Fixed one more sequel of marking temporary variables created while generating ST code out of FBD

Wed, 09 Oct 2019 09:04:35 +0200Changed yslt_noindent.yml2 again
Edouard Tisserant [Wed, 09 Oct 2019 09:04:35 +0200] rev 2638
Changed yslt_noindent.yml2 again

Wed, 25 Sep 2019 08:53:27 +0200Non significant changes in generated xslt, side effect of changes in yslt_noindent.yml2
Edouard Tisserant [Wed, 25 Sep 2019 08:53:27 +0200] rev 2637
Non significant changes in generated xslt, side effect of changes in yslt_noindent.yml2

Thu, 19 Sep 2019 15:32:36 +0200More customizations to yslt
Edouard Tisserant [Thu, 19 Sep 2019 15:32:36 +0200] rev 2636
More customizations to yslt

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.