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