2 weeks agofix random python 3 porting consequences.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 26 Feb 2025 16:33:13 +0100] rev 4118
fix random python 3 porting consequences.

2 weeks agopython runtime: use given service name (-n CLI option) as CRA ID by default.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 26 Feb 2025 16:31:59 +0100] rev 4117
python runtime: use given service name (-n CLI option) as CRA ID by default.

2 weeks agopython runtime: Wamp CRA authentication is now mandatory, no connection if secret is missing.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 26 Feb 2025 16:30:09 +0100] rev 4116
python runtime: Wamp CRA authentication is now mandatory, no connection if secret is missing.

2 weeks agopython runtime: Wamp client now parses PSK file to extract secret from it instead of using the whole file as a secret.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 26 Feb 2025 16:24:35 +0100] rev 4115
python runtime: Wamp client now parses PSK file to extract secret from it instead of using the whole file as a secret.

2 weeks agopython runtime: fix behaviour of -s CLI option when given file doesn't exist.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 26 Feb 2025 16:17:15 +0100] rev 4114
python runtime: fix behaviour of -s CLI option when given file doesn't exist.

3 weeks agoWAMP: enable TLS support. Add web settings for hostname verification and server certificate.
Edouard Tisserant <edouard@beremiz.fr> [Tue, 18 Feb 2025 16:22:54 +0100] rev 4113
WAMP: enable TLS support. Add web settings for hostname verification and server certificate.

3 weeks agoPython runtime: change meaning of -s and -c options in CLI
Edouard Tisserant <edouard@beremiz.fr> [Tue, 18 Feb 2025 16:19:23 +0100] rev 4112
Python runtime: change meaning of -s and -c options in CLI

3 weeks agoFix debugger exception caused by py2/py3 merging error.
Edouard Tisserant <edouard@beremiz.fr> [Mon, 17 Feb 2025 14:15:48 +0100] rev 4111
Fix debugger exception caused by py2/py3 merging error.

4 weeks agoPY_EXT: fix exception with CSV loading.
Edouard Tisserant <edouard@beremiz.fr> [Tue, 11 Feb 2025 15:59:23 +0100] rev 4110
PY_EXT: fix exception with CSV loading.

5 weeks agomerge
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 07 Feb 2025 18:42:43 +0100] rev 4109
merge

5 weeks agoFix csv_by_string example
Edouard Tisserant <edouard@beremiz.fr> [Fri, 07 Feb 2025 15:05:50 +0100] rev 4108
Fix csv_by_string example

5 weeks agoPY_EXT: fix wrong column header produced by csv_write_by_string.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 07 Feb 2025 14:29:11 +0100] rev 4107
PY_EXT: fix wrong column header produced by csv_write_by_string.

5 weeks agoAdd example for CSV_WRITE_BY_STRING
Edouard Tisserant <edouard@beremiz.fr> [Fri, 07 Feb 2025 11:22:53 +0100] rev 4106
Add example for CSV_WRITE_BY_STRING

5 weeks agoPy_ext: add CSV write by String FB + refactoring
Edouard Tisserant <edouard@beremiz.fr> [Fri, 07 Feb 2025 11:21:15 +0100] rev 4105
Py_ext: add CSV write by String FB + refactoring

- CSV_WRITE_BY_STR can create file from scratch
- Moved python runtime code from a string to a separate file.

5 weeks agoPython runtime: call "OnIdle" tasks when py_eval FBs execution queue is empty.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 07 Feb 2025 10:52:09 +0100] rev 4104
Python runtime: call "OnIdle" tasks when py_eval FBs execution queue is empty.

This is usefull to execute slow operations that can be deffered from functions called by py_eval FBs.
User python code add a callable to "OnIdle" list made available in global scope.

7 weeks agoMerge remote-tracking branch 'hggit/python3' into python3
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 26 Jan 2025 14:58:13 +0100] rev 4103
Merge remote-tracking branch 'hggit/python3' into python3

7 weeks agoSVGHMI: update generated xslt
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 22 Jan 2025 22:05:08 +0100] rev 4102
SVGHMI: update generated xslt

7 weeks agomerged
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 26 Jan 2025 12:20:12 +0100] rev 4101
merged

7 weeks agoMQTT: fix typo in resub python callback.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 22 Jan 2025 11:39:27 +0100] rev 4100
MQTT: fix typo in resub python callback.

7 weeks agoMQTT: fix non reconnecting python topics. WIP
Edouard Tisserant <edouard@beremiz.fr> [Tue, 21 Jan 2025 16:28:43 +0100] rev 4099
MQTT: fix non reconnecting python topics. WIP

7 weeks agoLet extensions know when configuration is new, to apply defaults.
Edouard Tisserant <edouard@beremiz.fr> [Tue, 21 Jan 2025 09:29:59 +0100] rev 4098
Let extensions know when configuration is new, to apply defaults.

Add "new_config" member to CTN, True when config was just created.

8 weeks agoMQTT: fix build error when publishing json topic.
Edouard Tisserant <edouard@beremiz.fr> [Thu, 16 Jan 2025 15:30:35 +0100] rev 4097
MQTT: fix build error when publishing json topic.

8 weeks agoIDE: Better xmlclass behavior with simple XML element having no attibutes (simple TAGs).
Edouard Tisserant <edouard@beremiz.fr> [Thu, 16 Jan 2025 14:52:49 +0100] rev 4096
IDE: Better xmlclass behavior with simple XML element having no attibutes (simple TAGs).

xsd:choice can sometime lead to such situation when there is no additional data associated to a particular choice.

7 weeks agomerged
Edouard Tisserant <edouard@beremiz.fr> [Fri, 24 Jan 2025 15:53:11 +0100] rev 4095
merged

7 weeks agoWAMP: fix secret upload
Edouard Tisserant <edouard@beremiz.fr> [Fri, 24 Jan 2025 15:39:06 +0100] rev 4094
WAMP: fix secret upload

7 weeks agoRemoved useless bitmaps
Edouard Tisserant <edouard@beremiz.fr> [Fri, 24 Jan 2025 11:33:18 +0100] rev 4093
Removed useless bitmaps

7 weeks agoSVGHMI: update generated xslt
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 20 Jan 2025 18:45:21 +0100] rev 4092
SVGHMI: update generated xslt

previous commit actually didn't include all updates
+ white space fix in foreach widget to align with xslt

7 weeks agoSVGHMI: back button widget is optionally activable.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 20 Jan 2025 17:59:39 +0100] rev 4091
SVGHMI: back button widget is optionally activable.
+ update generated xslt file

2 months agoUpdate GitHub Actions to use upload-artifact@v4
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 09 Jan 2025 18:21:36 +0100] rev 4090
Update GitHub Actions to use upload-artifact@v4

2 months agoMerge remote-tracking branch 'hggit/python3' into python3
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 09 Jan 2025 18:05:45 +0100] rev 4089
Merge remote-tracking branch 'hggit/python3' into python3

2 months agofixing outdated comments
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 05 Jan 2025 23:12:53 +0100] rev 4088
fixing outdated comments

2 months agoSVGHMI: Fix potential zombie thread after stop caused by misuse of ctype.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 05 Jan 2025 23:09:34 +0100] rev 4087
SVGHMI: Fix potential zombie thread after stop caused by misuse of ctype.

2 months agoCLI: filter out useless progress refresh on stdout.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 05 Jan 2025 23:05:08 +0100] rev 4086
CLI: filter out useless progress refresh on stdout.

2 months agoSVGHMI: update generated xslt files
Edouard Tisserant <edouard@beremiz.fr> [Thu, 09 Jan 2025 17:11:18 +0100] rev 4085
SVGHMI: update generated xslt files

2 months agoSVGHMI: strip useless placeholder bitmap of HMI:Image in resulting xhtml
Edouard Tisserant <edouard@beremiz.fr> [Thu, 09 Jan 2025 17:10:40 +0100] rev 4084
SVGHMI: strip useless placeholder bitmap of HMI:Image in resulting xhtml

2 months agoSVGHMI: fix build exception when static file directory is missing
Edouard Tisserant <edouard@beremiz.fr> [Thu, 09 Jan 2025 17:09:00 +0100] rev 4083
SVGHMI: fix build exception when static file directory is missing

2 months agoVarious unrelated code quality enhancements and fixes with no effect on execution.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 20 Dec 2024 14:37:10 +0100] rev 4082
Various unrelated code quality enhancements and fixes with no effect on execution.

2 months agoMQTT: allow publish and subscribe from user python code.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 20 Dec 2024 14:32:33 +0100] rev 4081
MQTT: allow publish and subscribe from user python code.

2 months agopython runtime: fix exception when transfering files with identical content.
Edouard Tisserant <edouard@beremiz.fr> [Thu, 09 Jan 2025 09:46:43 +0100] rev 4080
python runtime: fix exception when transfering files with identical content.

2 months agoSVGHMI: add static file serving feature.
Edouard Tisserant <edouard@beremiz.fr> [Thu, 09 Jan 2025 09:45:21 +0100] rev 4079
SVGHMI: add static file serving feature.

Added two buttons to add and remove files.
Files are stored in project inside a directory named "static",
itself located in svghmi CTN instance files. Exemple :
exemples/svghmi_csv_json_img_table/svghmi_0@svghmi/static/
Files are transfered as "extra_files", but with a prefix
added to their name to avoid conflics.

2 months agoMake Input widget actionable. Includes example from kraskrom@github.
Edouard Tisserant <edouard@beremiz.fr> [Mon, 06 Jan 2025 17:00:03 +0100] rev 4078
Make Input widget actionable. Includes example from kraskrom@github.

2 months agoMerge remote-tracking branch 'origin/python3' into python3
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 17 Dec 2024 21:18:40 +0100] rev 4077
Merge remote-tracking branch 'origin/python3' into python3

2 months agoUpdate README.md
etisserant <edouard@beremiz.fr> [Tue, 17 Dec 2024 14:04:11 +0100] rev 4076
Update README.md

3 months agoSVGHMI: fix inverted behavior of SuppressBrowserOutput.
Edouard Tisserant <edouard@beremiz.fr> [Mon, 16 Dec 2024 11:40:55 +0100] rev 4075
SVGHMI: fix inverted behavior of SuppressBrowserOutput.

3 months agoTests: matiec version bump
etisserant <edouard@beremiz.fr> [Sat, 14 Dec 2024 15:39:42 +0100] rev 4074
Tests: matiec version bump

3 months agoUpdate requirements and add minimal non-frozen requirements for developer setup
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 12 Dec 2024 11:56:17 +0100] rev 4073
Update requirements and add minimal non-frozen requirements for developer setup

3 months agoMerge remote-tracking branch 'origin/python3' into python3
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 12 Dec 2024 11:36:24 +0100] rev 4072
Merge remote-tracking branch 'origin/python3' into python3

3 months agoruntime: make standard output more silent.
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 12 Dec 2024 11:33:08 +0100] rev 4071
runtime: make standard output more silent.

3 months agoSVGHMI: Make Back widget activable. (#52)
Dino Kosic <44305363+kraskrom@users.noreply.github.com> [Wed, 11 Dec 2024 09:31:35 +0100] rev 4070
SVGHMI: Make Back widget activable. (#52)

3 months agoPLC build: prevent duplicated CFLAGS for PLC C files.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 11 Dec 2024 09:30:07 +0100] rev 4069
PLC build: prevent duplicated CFLAGS for PLC C files.

3 months agoIDE: more wxPython4 related fixes. AUI Update crash on exit + PLCOpenEditor Save exception.
Edouard Tisserant <edouard@beremiz.fr> [Tue, 10 Dec 2024 12:44:38 +0100] rev 4068
IDE: more wxPython4 related fixes. AUI Update crash on exit + PLCOpenEditor Save exception.

3 months agomerge
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 09 Dec 2024 15:51:41 +0100] rev 4067
merge

3 months agopy_ext: CSV Writer output FB interface: ERROR and RESULT are valid when ACK is TRUE.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 06 Dec 2024 15:48:54 +0100] rev 4066
py_ext: CSV Writer output FB interface: ERROR and RESULT are valid when ACK is TRUE.

+ updated svghmi_csv_json_img_table accordingly

3 months agoIDE: fix exception when changing or resizing comments in FBD
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 08 Dec 2024 15:26:26 +0100] rev 4065
IDE: fix exception when changing or resizing comments in FBD

3 months agoPLCOpen editor: fix exception when using file open dialog
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 08 Dec 2024 13:59:36 +0100] rev 4064
PLCOpen editor: fix exception when using file open dialog

Consequence of wxPython 3 to 4 API changes.

3 months agoIDE: Fix wrong red wire coloring in FBD, this time for good.
Edouard Tisserant <edouard.tisserant@gmail.com> [Sun, 08 Dec 2024 11:41:31 +0100] rev 4063
IDE: Fix wrong red wire coloring in FBD, this time for good.

3 months agopy_ext: fix CSV update happening only once.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 06 Dec 2024 12:16:07 +0100] rev 4062
py_ext: fix CSV update happening only once.

3 months agopy_ext: rework logic CSV reader FB output refresh logic.
Edouard Tisserant <edouard@beremiz.fr> [Thu, 05 Dec 2024 16:45:37 +0100] rev 4061
py_ext: rework logic CSV reader FB output refresh logic.

Saving with CSV write FB now triggers CSV read FBs to refresh outputs immediately.

3 months agopy_ext: fix CSV Writer
Edouard Tisserant <edouard@beremiz.fr> [Thu, 05 Dec 2024 13:56:59 +0100] rev 4060
py_ext: fix CSV Writer

fix POU logic :
- SAVE is a BOOL
- invocation of py_eval on rising edge of SAVE
- remove save python argument

fix python:
- use no encoding for file open (python2)
- re-use detected dialect if any
- use no "rt+" and truncate since no need to re-sniff dialect for output file
- return "OK" instead of "#SUCCESS", preventing POU logic to ACK result
- support creating new line if writing just after last line
- support appending data on short rows

fix example:
- use a HMI:Button to trigger CSV write instead of HMI:Input +1
- reload CSVs on on each new CSV opened in file browser
- add display of CSV write output

3 months agoIDE: Fix wrong red wire coloring in FBD
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 04 Dec 2024 12:00:37 +0100] rev 4059
IDE: Fix wrong red wire coloring in FBD