Sun, 13 Feb 2022 20:53:00 +0100IDE: Add -l or --log command line parameter to give a file where all content witten to console window will be appended. File can be /dev/stdout. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 13 Feb 2022 20:53:00 +0100] rev 3423
IDE: Add -l or --log command line parameter to give a file where all content witten to console window will be appended. File can be /dev/stdout.

Wed, 02 Feb 2022 20:27:17 +0100Merge default wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 02 Feb 2022 20:27:17 +0100] rev 3422
Merge default

Mon, 24 Jan 2022 11:14:56 +0100IDE: follow-up on change in 83ed4ea362db - added workaround when matiec generated files contain unexpected characters.
Edouard Tisserant [Mon, 24 Jan 2022 11:14:56 +0100] rev 3421
IDE: follow-up on change in 83ed4ea362db - added workaround when matiec generated files contain unexpected characters.

Thu, 20 Jan 2022 11:39:05 +0100Runtime : force using monotonic time in Timer (threading). Prevent watchdog to trigger when changing system time.
Edouard Tisserant [Thu, 20 Jan 2022 11:39:05 +0100] rev 3420
Runtime : force using monotonic time in Timer (threading). Prevent watchdog to trigger when changing system time.

Thu, 20 Jan 2022 11:16:52 +0100SVGHMI: remove debug code
Edouard Tisserant [Thu, 20 Jan 2022 11:16:52 +0100] rev 3419
SVGHMI: remove debug code

Wed, 19 Jan 2022 11:41:37 +0100SVGHMI: update generated XSLT
Edouard Tisserant [Wed, 19 Jan 2022 11:41:37 +0100] rev 3418
SVGHMI: update generated XSLT

Wed, 19 Jan 2022 11:41:04 +0100SVGHMI: fix again appication of frequency value when given in label. Use it on PushButton instance in svghmi test.
Edouard Tisserant [Wed, 19 Jan 2022 11:41:04 +0100] rev 3417
SVGHMI: fix again appication of frequency value when given in label. Use it on PushButton instance in svghmi test.

Tue, 25 Jan 2022 17:05:14 +0100TESTS: moved non-automated tests Beremiz projects stored as directories in /tests to new directory /tests/projects
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 25 Jan 2022 17:05:14 +0100] rev 3416
TESTS: moved non-automated tests Beremiz projects stored as directories in /tests to new directory /tests/projects

Tue, 25 Jan 2022 16:37:16 +0100Create README.md in tests
etisserant <edouard.tisserant@gmail.com> [Tue, 25 Jan 2022 16:37:16 +0100] rev 3415
Create README.md in tests

Wed, 19 Jan 2022 08:56:16 +0100SVGHMI: update generated xslt, and svghmi test project files
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 19 Jan 2022 08:56:16 +0100] rev 3414
SVGHMI: update generated xslt, and svghmi test project files

Wed, 19 Jan 2022 08:53:49 +0100SVGHMI: Add pushbutton widget, that can take reflect short press in variable, but has no garantee on consistency.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 19 Jan 2022 08:53:49 +0100] rev 3413
SVGHMI: Add pushbutton widget, that can take reflect short press in variable, but has no garantee on consistency.

Wed, 19 Jan 2022 08:51:45 +0100SVGHMI: Fixed support for frequency parsing in widget label
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 19 Jan 2022 08:51:45 +0100] rev 3412
SVGHMI: Fixed support for frequency parsing in widget label

Tue, 18 Jan 2022 11:35:05 +0100Merge
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 18 Jan 2022 11:35:05 +0100] rev 3411
Merge

Tue, 18 Jan 2022 10:57:43 +0100SVGHMI: update generated xslt
Edouard Tisserant [Tue, 18 Jan 2022 10:57:43 +0100] rev 3410
SVGHMI: update generated xslt

Tue, 18 Jan 2022 10:57:11 +0100SVGHMI test: add special commandline to launch chromium as new intependent window, without GPU acceleration.
Edouard Tisserant [Tue, 18 Jan 2022 10:57:11 +0100] rev 3409
SVGHMI test: add special commandline to launch chromium as new intependent window, without GPU acceleration.

Tue, 18 Jan 2022 10:55:14 +0100SVGHMI: add syntax for widget update frequency in widget label: HMI:WidgetType|freq:arg0:arg1@path
Edouard Tisserant [Tue, 18 Jan 2022 10:55:14 +0100] rev 3408
SVGHMI: add syntax for widget update frequency in widget label: HMI:WidgetType|freq:arg0:arg1@path

Mon, 17 Jan 2022 15:17:47 +0100OPC-UA client: "static" class was forgotten for open62541 client structure preventing multiple client.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 17 Jan 2022 15:17:47 +0100] rev 3407
OPC-UA client: "static" class was forgotten for open62541 client structure preventing multiple client.

Mon, 17 Jan 2022 15:15:00 +0100OPC-UA: cosmetic fix and armless typo
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 17 Jan 2022 15:15:00 +0100] rev 3406
OPC-UA: cosmetic fix and armless typo

Sun, 16 Jan 2022 17:00:58 +0100Merged default in wxPython4, include runtimeLists wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 16 Jan 2022 17:00:58 +0100] rev 3405
Merged default in wxPython4, include runtimeLists

Sun, 16 Jan 2022 16:59:40 +0100Merge
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 16 Jan 2022 16:59:40 +0100] rev 3404
Merge

Fri, 14 Jan 2022 11:40:22 +0100SVGHMI: added ListSwitch widget
Edouard Tisserant [Fri, 14 Jan 2022 11:40:22 +0100] rev 3403
SVGHMI: added ListSwitch widget

Sun, 16 Jan 2022 16:57:56 +0100Merged RuntimeLists branch
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 16 Jan 2022 16:57:56 +0100] rev 3402
Merged RuntimeLists branch

Sun, 16 Jan 2022 16:55:27 +0100Close RuntimeLists branch RuntimeLists
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 16 Jan 2022 16:55:27 +0100] rev 3401
Close RuntimeLists branch

Mon, 27 Dec 2021 19:21:59 +0100Fix bug introduced in previous commit : dual link list wasn't append and remove wasn't implemented correctly. Removed debug code, enhanced variable names and comments. RuntimeLists
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 27 Dec 2021 19:21:59 +0100] rev 3400
Fix bug introduced in previous commit : dual link list wasn't append and remove wasn't implemented correctly. Removed debug code, enhanced variable names and comments.

Thu, 23 Dec 2021 11:36:37 +0100SVGHMI: optimization of C part : stop traversing the whole HMI tree, use dual linked list for subscriptions and single linked list for changes from HMI. Intermediate commit, still crashing in some cases. RuntimeLists
Edouard Tisserant [Thu, 23 Dec 2021 11:36:37 +0100] rev 3399
SVGHMI: optimization of C part : stop traversing the whole HMI tree, use dual linked list for subscriptions and single linked list for changes from HMI. Intermediate commit, still crashing in some cases.

Thu, 16 Dec 2021 08:32:58 +0100Xenomai runtime: ensure that __DEBUG global variable is set when resuming debug. RuntimeLists
Edouard Tisserant [Thu, 16 Dec 2021 08:32:58 +0100] rev 3398
Xenomai runtime: ensure that __DEBUG global variable is set when resuming debug.

Thu, 16 Dec 2021 08:15:34 +0100SVGHMI: Adapt svghmi.c to changes in UnpackVar RuntimeLists
Edouard Tisserant [Thu, 16 Dec 2021 08:15:34 +0100] rev 3397
SVGHMI: Adapt svghmi.c to changes in UnpackVar

Wed, 15 Dec 2021 11:56:34 +0100Runtime: Now retain uses a list based on data available in VARIABLES.csv instead of traversing the whole instance tree looking for RETAIN flag. RuntimeLists
Edouard Tisserant [Wed, 15 Dec 2021 11:56:34 +0100] rev 3396
Runtime: Now retain uses a list based on data available in VARIABLES.csv instead of traversing the whole instance tree looking for RETAIN flag.

Thu, 09 Dec 2021 10:21:45 +0100RUNTIME: Variable forcing now uses limited list and buffer instead of systematical instance tree traversal and in-tree "fvalue" to keep track of forced value for pointed variables (external, located). Pointer swapping is performed when forcing externals and located, with backup being restored when forcing is reset. Retain still uses tree traversal. RuntimeLists
Edouard Tisserant [Thu, 09 Dec 2021 10:21:45 +0100] rev 3395
RUNTIME: Variable forcing now uses limited list and buffer instead of systematical instance tree traversal and in-tree "fvalue" to keep track of forced value for pointed variables (external, located). Pointer swapping is performed when forcing externals and located, with backup being restored when forcing is reset. Retain still uses tree traversal.

Wed, 01 Dec 2021 09:54:02 +0100RUNTIME: Variable trace now uses limited list and buffer instead of flags in instance tree that was requiring systematical instance tree traversal, and worst size buffer. Forcing and retain still use tree traversal. RuntimeLists
Edouard Tisserant [Wed, 01 Dec 2021 09:54:02 +0100] rev 3394
RUNTIME: Variable trace now uses limited list and buffer instead of flags in instance tree that was requiring systematical instance tree traversal, and worst size buffer. Forcing and retain still use tree traversal.

Tue, 30 Nov 2021 09:52:42 +0100SVGHMI: more accurate filtering of elements to unlink or not
Edouard Tisserant [Tue, 30 Nov 2021 09:52:42 +0100] rev 3393
SVGHMI: more accurate filtering of elements to unlink or not

Tue, 30 Nov 2021 18:43:10 +0100OPC-UA client: generated code now take UA_Variants on the stack directly, avoid useless allocation on write, and unalloc implicitely allocated data on read
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 30 Nov 2021 18:43:10 +0100] rev 3392
OPC-UA client: generated code now take UA_Variants on the stack directly, avoid useless allocation on write, and unalloc implicitely allocated data on read

Tue, 30 Nov 2021 18:43:10 +0100OPC-UA client: generated code now take UA_Variants on the stack directly, avoid useless allocation on write, and unalloc implicitely allocated data on read wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 30 Nov 2021 18:43:10 +0100] rev 3391
OPC-UA client: generated code now take UA_Variants on the stack directly, avoid useless allocation on write, and unalloc implicitely allocated data on read

Tue, 16 Nov 2021 20:31:11 +0100IDE: Tutorial/Example menu was broken : path of project being open was the same for all menu entries.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 16 Nov 2021 20:31:11 +0100] rev 3390
IDE: Tutorial/Example menu was broken : path of project being open was the same for all menu entries.

Wed, 17 Nov 2021 09:20:16 +0100IDE: Tutorial/Example menu was broken, probably after a merge. Menu (and corresponding code) was duplicated. Also, path of project beeing open was the same for all menu entries. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 17 Nov 2021 09:20:16 +0100] rev 3389
IDE: Tutorial/Example menu was broken, probably after a merge. Menu (and corresponding code) was duplicated. Also, path of project beeing open was the same for all menu entries.

Tue, 16 Nov 2021 20:10:50 +0100Fix bug when updating data in variable panel. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 16 Nov 2021 20:10:50 +0100] rev 3388
Fix bug when updating data in variable panel.

Grid event naming CHANGE->CHANGING was wrong. CHANGE->CHANGED is the way to go.

Mon, 08 Nov 2021 14:10:36 +0100SVGHMI: update tests/evghmi to reflect/test latest changes. update generated XSLT.
Edouard Tisserant [Mon, 08 Nov 2021 14:10:36 +0100] rev 3387
SVGHMI: update tests/evghmi to reflect/test latest changes. update generated XSLT.

Mon, 08 Nov 2021 14:09:44 +0100SVGHMI: multiple non significant changes: doc fixes, modern style access to attributes, enforce double quotes around member name in object literals.
Edouard Tisserant [Mon, 08 Nov 2021 14:09:44 +0100] rev 3386
SVGHMI: multiple non significant changes: doc fixes, modern style access to attributes, enforce double quotes around member name in object literals.

Mon, 08 Nov 2021 14:06:29 +0100SVGHMI: Changes /CURRENT_PAGE_* behaviour to prevent problem whith multiclient : all clients were switching page when one was jumping.
Edouard Tisserant [Mon, 08 Nov 2021 14:06:29 +0100] rev 3385
SVGHMI: Changes /CURRENT_PAGE_* behaviour to prevent problem whith multiclient : all clients were switching page when one was jumping.
- now PLC have to prefix page name with "!" to order page switch.
- HMI do not prefix with "!" when jumping, this avoiding looping incidently
- In case of multiple client:
CURRENT_PAGE reflects current page of last client hwo did jump
Setting CURRENT_PAGE with "!" affects all clients simultaneously

Mon, 08 Nov 2021 14:03:21 +0100SVGHMI: changes that should fix some corner cases about unlinking and discardable element that still didn't show until now.
Edouard Tisserant [Mon, 08 Nov 2021 14:03:21 +0100] rev 3384
SVGHMI: changes that should fix some corner cases about unlinking and discardable element that still didn't show until now.
- list that would have been declared in some groups could have been discarded.
- elements to be unlinked were comuted based on filtering $hmi_elements, whereas $hmi_widget already filtered list

Thu, 04 Nov 2021 12:03:43 +0100SVGHMI: update generated XSLT
Edouard Tisserant [Thu, 04 Nov 2021 12:03:43 +0100] rev 3383
SVGHMI: update generated XSLT

Thu, 04 Nov 2021 12:02:08 +0100merged
Edouard Tisserant [Thu, 04 Nov 2021 12:02:08 +0100] rev 3382
merged

Thu, 04 Nov 2021 12:00:50 +0100SVGHMI: add CURRENT_PAGE_{location} global variable to reflect currently visible page. If PLC wites some valid page reference in that variable, it triggers page switch. Additionally, fixed /HEARTBEAT being subscribed systematically by JS code even when wtchdog is not enabled.
Edouard Tisserant [Thu, 04 Nov 2021 12:00:50 +0100] rev 3381
SVGHMI: add CURRENT_PAGE_{location} global variable to reflect currently visible page. If PLC wites some valid page reference in that variable, it triggers page switch. Additionally, fixed /HEARTBEAT being subscribed systematically by JS code even when wtchdog is not enabled.

Tue, 02 Nov 2021 08:36:06 +0100Follow-up on 83ed4ea362db 'IDE: prevent invoking matiec when IEC code did not change since last build' : build unconditionally after clean
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 02 Nov 2021 08:36:06 +0100] rev 3380
Follow-up on 83ed4ea362db 'IDE: prevent invoking matiec when IEC code did not change since last build' : build unconditionally after clean

Fri, 29 Oct 2021 18:20:03 +0200merged wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 29 Oct 2021 18:20:03 +0200] rev 3379
merged

Fri, 29 Oct 2021 18:07:28 +0200OPC-UA: fix types in model not being preserved after reload of CSV file, leading to exception when changing selection lists content.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 29 Oct 2021 18:07:28 +0200] rev 3378
OPC-UA: fix types in model not being preserved after reload of CSV file, leading to exception when changing selection lists content.

Fri, 29 Oct 2021 18:00:54 +0200OPC-UA: Removed more "LocalizedText()", this time in selected variable list
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 29 Oct 2021 18:00:54 +0200] rev 3377
OPC-UA: Removed more "LocalizedText()", this time in selected variable list

Fri, 29 Oct 2021 11:49:22 +0200IDE: prevent invoking matiec when IEC code did not change since last build.
Edouard Tisserant [Fri, 29 Oct 2021 11:49:22 +0200] rev 3376
IDE: prevent invoking matiec when IEC code did not change since last build.

Fri, 29 Oct 2021 10:27:31 +0200SVGHMI: prevent systematic rebuild when there are multiple instances of SVGHMI CTN.
Edouard Tisserant [Fri, 29 Oct 2021 10:27:31 +0200] rev 3375
SVGHMI: prevent systematic rebuild when there are multiple instances of SVGHMI CTN.

Fri, 29 Oct 2021 09:45:39 +0200SVGHMI: optimize HMI tree handling C code to lower CPU usage when traversing large trees
Edouard Tisserant [Fri, 29 Oct 2021 09:45:39 +0200] rev 3374
SVGHMI: optimize HMI tree handling C code to lower CPU usage when traversing large trees

Tue, 26 Oct 2021 11:41:03 +0200merged
Edouard Tisserant [Tue, 26 Oct 2021 11:41:03 +0200] rev 3373
merged

Thu, 21 Oct 2021 09:45:21 +0200SVGHMI: prevents watchdog being triggered when SVGHMI is empty.
Edouard Tisserant [Thu, 21 Oct 2021 09:45:21 +0200] rev 3372
SVGHMI: prevents watchdog being triggered when SVGHMI is empty.

Fri, 22 Oct 2021 12:48:22 +0200Backed out changeset c646a1f0fb0b - was on wrong branch wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 22 Oct 2021 12:48:22 +0200] rev 3371
Backed out changeset c646a1f0fb0b - was on wrong branch

Thu, 21 Oct 2021 20:56:05 +0200Make OPC-UA client compatible with wxPython3, util wxPython4 branch deserve to be merged
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 21 Oct 2021 20:56:05 +0200] rev 3370
Make OPC-UA client compatible with wxPython3, util wxPython4 branch deserve to be merged

Thu, 21 Oct 2021 20:56:05 +0200Make OPC-UA client compatible with wxPython3, util wxPython4 branch deserve to be merged wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 21 Oct 2021 20:56:05 +0200] rev 3369
Make OPC-UA client compatible with wxPython3, util wxPython4 branch deserve to be merged

Thu, 21 Oct 2021 13:18:18 +0200IDE: Enforce wxPython3 menu appending syntax in default branch... (Fixes exception at startup)
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 21 Oct 2021 13:18:18 +0200] rev 3368
IDE: Enforce wxPython3 menu appending syntax in default branch... (Fixes exception at startup)

Tue, 19 Oct 2021 13:09:45 +0200OPCUA: fix display names appearing with a "LocalizedText(" prefix when browsing localized server.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 19 Oct 2021 13:09:45 +0200] rev 3367
OPCUA: fix display names appearing with a "LocalizedText(" prefix when browsing localized server.

Tue, 19 Oct 2021 12:58:22 +0200OPCUA: Add browsing of variables exposed by client when selecting location from variable panel.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 19 Oct 2021 12:58:22 +0200] rev 3366
OPCUA: Add browsing of variables exposed by client when selecting location from variable panel.

Mon, 18 Oct 2021 20:41:31 +0200OPCUA client: fix handling of string type Node Identifier
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Oct 2021 20:41:31 +0200] rev 3365
OPCUA client: fix handling of string type Node Identifier

Mon, 18 Oct 2021 12:40:53 +0200Add OPC-UA simple synchronous client extension.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Oct 2021 12:40:53 +0200] rev 3364
Add OPC-UA simple synchronous client extension.

This extension uses python-opcua to growse server nodes, and generates runtime C code that use open62541.
- python-opcua must be available in python path (i.e. "import opcua" must succeed). Can be installed from pypi with "python2 -m pip install opcua --user" .
- at build time, open62541 is expected to be build in "open62541" directory, aside "beremiz" directory.