2022-03-05Tests: 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"

2022-02-28Tests: 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.

2022-02-28Tests: 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

2022-02-28Fix 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.

2022-02-25Tests: 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.

2022-02-18Tests: 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.

2022-02-18Tests: 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.

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

2022-02-18IDE: 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

2022-02-15Tests: 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)

2022-02-13Merge 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

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

2022-02-13Add 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.

2022-02-13Tests: 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.

2022-02-13IDE: 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.

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

2022-01-24IDE: 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.

2022-01-20Runtime : 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.

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

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

2022-01-19SVGHMI: 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.

2022-01-25TESTS: 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

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

2022-01-19SVGHMI: 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

2022-01-19SVGHMI: 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.

2022-01-19SVGHMI: 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

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

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

2022-01-18SVGHMI 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.

2022-01-18SVGHMI: 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

2022-01-17OPC-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.

2022-01-17OPC-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

2022-01-16Merged 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

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

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

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

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

2021-12-27Fix 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.

2021-12-23SVGHMI: 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.

2021-12-16Xenomai 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.

2021-12-16SVGHMI: 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

2021-12-15Runtime: 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.

2021-12-09RUNTIME: 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.

2021-12-01RUNTIME: 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.

2021-11-30SVGHMI: 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

2021-11-30OPC-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

2021-11-30OPC-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

2021-11-16IDE: 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.

2021-11-17IDE: 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.

2021-11-16Fix 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.

2021-11-08SVGHMI: 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.

2021-11-08SVGHMI: 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.

2021-11-08SVGHMI: 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

2021-11-08SVGHMI: 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

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

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

2021-11-04SVGHMI: 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.

2021-11-02Follow-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

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

2021-10-29OPC-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.