Sat, 05 Mar 2022 11:14:00 +0100Tests: Enhance robustness of stdout driven waiting state in Sikuli based tests. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 05 Mar 2022 11:14:00 +0100] rev 3437
Tests: Enhance robustness of stdout driven waiting state in Sikuli based tests.

Some tests were randomly passing, because from time to time waiting for idle was skiped. It was combination of multiple problems :
- buffering on stdout (now use readline + flush for each write to log)
- it is sometime required to wait for activity before waiting for timeout added "WaitForChangeAndIdle" to "stdoutIdleObserver"

Mon, 28 Feb 2022 21:53:14 +0100Tests: add an IDE test that relies on image matching. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 28 Feb 2022 21:53:14 +0100] rev 3436
Tests: add an IDE test that relies on image matching.

Mon, 28 Feb 2022 21:46:37 +0100Tests: re-introduce xvfb+x11vnc target in Makefile : xvfb_sikuli wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 28 Feb 2022 21:46:37 +0100] rev 3435
Tests: re-introduce xvfb+x11vnc target in Makefile : xvfb_sikuli

Mon, 28 Feb 2022 21:29:46 +0100Fix sequel of wxPython 4 port : double click on tab wasn't maximizing and was showing exception. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 28 Feb 2022 21:29:46 +0100] rev 3434
Fix sequel of wxPython 4 port : double click on tab wasn't maximizing and was showing exception.

Fri, 25 Feb 2022 14:04:09 +0100Tests: Makefile's PIPESTATUS turned into small letters (wrong vim shortcut ?) leading to always passing tests. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 25 Feb 2022 14:04:09 +0100] rev 3433
Tests: Makefile's PIPESTATUS turned into small letters (wrong vim shortcut ?) leading to always passing tests.

Fri, 18 Feb 2022 15:12:06 +0100Tests: Various enhancements in Makefile and sikuli common python code. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Feb 2022 15:12:06 +0100] rev 3432
Tests: Various enhancements in Makefile and sikuli common python code.

Fri, 18 Feb 2022 15:00:04 +0100Tests: Added BEREMIZPYTHONPATH to point to Python interpreter to use for tests. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Feb 2022 15:00:04 +0100] rev 3431
Tests: Added BEREMIZPYTHONPATH to point to Python interpreter to use for tests.

Fri, 18 Feb 2022 14:56:54 +0100Documentation/comment fix. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Feb 2022 14:56:54 +0100] rev 3430
Documentation/comment fix.

Fri, 18 Feb 2022 14:51:58 +0100IDE: Fix one more sequel of wxPython4 port : typo in editors/TextViewer.py wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 18 Feb 2022 14:51:58 +0100] rev 3429
IDE: Fix one more sequel of wxPython4 port : typo in editors/TextViewer.py

Tue, 15 Feb 2022 16:10:19 +0100Tests: Add a Makefile variable to allow changing standalone headless X server command (Xvfb by default) wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 15 Feb 2022 16:10:19 +0100] rev 3428
Tests: Add a Makefile variable to allow changing standalone headless X server command (Xvfb by default)

Sun, 13 Feb 2022 21:21:14 +0100Merge default head that was only merged in wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 13 Feb 2022 21:21:14 +0100] rev 3427
Merge default head that was only merged in wxPython4

Sun, 13 Feb 2022 21:05:19 +0100merged default wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 13 Feb 2022 21:05:19 +0100] rev 3426
merged default

Sun, 13 Feb 2022 21:01:27 +0100Add Docker image definition as reference platform to run IDE tests. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 13 Feb 2022 21:01:27 +0100] rev 3425
Add Docker image definition as reference platform to run IDE tests.

Sun, 13 Feb 2022 20:59:42 +0100Tests: added tests/Makefile and a first test in tests/ide_tests. Test requires sikuli and Xvfb or Xnest. wxPython4
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 13 Feb 2022 20:59:42 +0100] rev 3424
Tests: added tests/Makefile and a first test in tests/ide_tests. Test requires sikuli and Xvfb or Xnest.

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