8 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

8 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.

8 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

8 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.

2 months 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.

2 months 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

8 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

8 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.

3 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

3 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

3 months agoC runtime: move generated erpc interface in separate "service" directory
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 03 Dec 2024 21:26:52 +0100] rev 4058
C runtime: move generated erpc interface in separate "service" directory

3 months agoIDE: Fix PLCOpenEditor (wxPython4 menus) and drop broken PDF doc support.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 03 Dec 2024 21:22:45 +0100] rev 4057
IDE: Fix PLCOpenEditor (wxPython4 menus) and drop broken PDF doc support.

3 months agoExtend HMI:JsonTable, create Edit CSV POU, create example, add some doc (#41)
Dino Kosic <44305363+kraskrom@users.noreply.github.com> [Mon, 02 Dec 2024 11:33:19 +0100] rev 4056
Extend HMI:JsonTable, create Edit CSV POU, create example, add some doc (#41)

* Extend Jsontable widget, create Edit CSV POU, create example for both

* Add doc for HMI:Image and HMI:JsonTable

* Expand example to include HMI:Image

3 months agoTests: matiec version bump for GH workflow
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 28 Nov 2024 14:46:50 +0100] rev 4055
Tests: matiec version bump for GH workflow

3 months agoMerge remote-tracking branch 'hggit/python3' into python3
Edouard Tisserant <edouard.tisserant@gmail.com> [Thu, 28 Nov 2024 14:39:26 +0100] rev 4054
Merge remote-tracking branch 'hggit/python3' into python3

3 months agoIDE: fix exception when moving FBD elements with keyboard.
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 27 Nov 2024 19:48:12 +0100] rev 4053
IDE: fix exception when moving FBD elements with keyboard.

3 months agoTests: matiec version bum for GH workflow
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 27 Nov 2024 16:31:24 +0100] rev 4052
Tests: matiec version bum for GH workflow

3 months agomerge
Edouard Tisserant <edouard@beremiz.fr> [Thu, 28 Nov 2024 14:27:58 +0100] rev 4051
merge

3 months agoTests: extend FOR loop tests in IEC-61131 language test
Edouard Tisserant <edouard@beremiz.fr> [Thu, 28 Nov 2024 14:13:03 +0100] rev 4050
Tests: extend FOR loop tests in IEC-61131 language test

4 months agoModbus: allows modbus thread stack size customization with MODBUS_STACK_SIZE macro.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 13 Nov 2024 14:42:34 +0100] rev 4049
Modbus: allows modbus thread stack size customization with MODBUS_STACK_SIZE macro.

For example, add "-DMODBUS_STACK_SIZE=0x2000" to target CFLAGS to limit stack size to 128kB

5 months agoSVGHMI: swap position and range of ForEach widget so that both range and size can be optional.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 16 Oct 2024 15:45:15 +0200] rev 4048
SVGHMI: swap position and range of ForEach widget so that both range and size can be optional.

3 months agoTests: add ST FOR loop tests to IEC-61131 language tests
Edouard Tisserant <edouard@beremiz.fr> [Wed, 27 Nov 2024 16:05:26 +0100] rev 4047
Tests: add ST FOR loop tests to IEC-61131 language tests

3 months agorequirements: update eRPC dependency to include subdirectory for Python
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 23 Nov 2024 01:09:55 +0100] rev 4046
requirements: update eRPC dependency to include subdirectory for Python

3 months agoC runtime: fix ExtendedCall stub
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 23 Nov 2024 00:49:57 +0100] rev 4045
C runtime: fix ExtendedCall stub

3 months agoeRPC: switch to beremiz/erpc fork with no CRC on TCP
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 23 Nov 2024 00:49:26 +0100] rev 4044
eRPC: switch to beremiz/erpc fork with no CRC on TCP

3 months agoMerge remote-tracking branch 'hggit/python3' into python3
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 22 Nov 2024 16:31:51 +0100] rev 4043
Merge remote-tracking branch 'hggit/python3' into python3

4 months agoIDE: Allow environment variable override in ThirdPartyPath, and use it also for matiec.
Edouard Tisserant <edouard.tisserant@gmail.com> [Tue, 19 Nov 2024 23:52:04 +0100] rev 4042
IDE: Allow environment variable override in ThirdPartyPath, and use it also for matiec.

4 months agoIDE: re-use eRPC URI definitions in connector factory.
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Nov 2024 22:42:11 +0100] rev 4041
IDE: re-use eRPC URI definitions in connector factory.

Preparing for serial and US eRPC connection.

4 months agoCosmetic changes
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Nov 2024 13:55:51 +0100] rev 4040
Cosmetic changes

4 months agoIDE: refactor discovery panel / zeroconf
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Nov 2024 13:52:40 +0100] rev 4039
IDE: refactor discovery panel / zeroconf

Bundle ZeroConf listener and interfaces changes monitor into separate module.
Prepare to extend with USB device browsing.

4 months agoIDE: refactor ERPC URI editor, add serial and USB URI types
Edouard Tisserant <edouard.tisserant@gmail.com> [Mon, 18 Nov 2024 13:37:08 +0100] rev 4038
IDE: refactor ERPC URI editor, add serial and USB URI types

4 months agopython runtime: update ServicePublisher to current Zeroconf API
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 13 Nov 2024 23:10:36 +0100] rev 4037
python runtime: update ServicePublisher to current Zeroconf API

4 months agoeRPC: Backward compatibility with runtime versions missing GetVersions extended call.
Edouard Tisserant <edouard@beremiz.fr> [Mon, 11 Nov 2024 15:22:44 +0100] rev 4036
eRPC: Backward compatibility with runtime versions missing GetVersions extended call.

4 months agoeRPC: Version bump
Edouard Tisserant <edouard@beremiz.fr> [Fri, 08 Nov 2024 11:34:46 +0100] rev 4035
eRPC: Version bump

4 months agopython_runtime: fix ExtendedCall register/unregistering.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 08 Nov 2024 11:34:00 +0100] rev 4034
python_runtime: fix ExtendedCall register/unregistering.

4 months agoeRPC: Server closes connection on exception to prevent client to block until timeout when it happens.
Edouard Tisserant <edouard@beremiz.fr> [Mon, 28 Oct 2024 16:06:50 +0100] rev 4033
eRPC: Server closes connection on exception to prevent client to block until timeout when it happens.

4 months agoAdd ExtendedCall to PLCObject as a replacement of RemoteExec and reflect it in eRPC interface.
Edouard Tisserant <edouard@beremiz.fr> [Mon, 28 Oct 2024 16:02:47 +0100] rev 4032
Add ExtendedCall to PLCObject as a replacement of RemoteExec and reflect it in eRPC interface.

ExtendedCall is a generic remote procedure call that runtime code can register to and that IDE extensions can call.
For example a fieldbus extension can use ExtendedCall to browse the fieldbus devices connected to the runtime.

4 months agoRemoved dependency in requirements.txt.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 25 Oct 2024 14:51:38 +0200] rev 4031
Removed dependency in requirements.txt.

5 months agoTESTS: Update Matiec revision in GH workflow
Edouard Tisserant <edouard.tisserant@gmail.com> [Wed, 16 Oct 2024 12:18:14 +0200] rev 4030
TESTS: Update Matiec revision in GH workflow

5 months agoMQTT: update test project to reflect latest changes
Edouard Tisserant <edouard@beremiz.fr> [Fri, 11 Oct 2024 10:49:07 +0200] rev 4029
MQTT: update test project to reflect latest changes

5 months agoSVGHMI update generated XSLT
Edouard Tisserant <edouard@beremiz.fr> [Fri, 11 Oct 2024 10:46:46 +0200] rev 4028
SVGHMI update generated XSLT

5 months agoSVGHMI: remove widgets deprecated since long
Edouard Tisserant <edouard@beremiz.fr> [Fri, 11 Oct 2024 10:38:30 +0200] rev 4027
SVGHMI: remove widgets deprecated since long

5 months agoSVGHMI: add ForEach widget example
Edouard Tisserant <edouard@beremiz.fr> [Fri, 11 Oct 2024 10:34:15 +0200] rev 4026
SVGHMI: add ForEach widget example

5 months agoSVGHMI: Extend ForEach widget to expose range, position and size in a way comparable with ScrollBar widget.
Edouard Tisserant <edouard.tisserant@gmail.com> [Fri, 11 Oct 2024 10:18:57 +0200] rev 4025
SVGHMI: Extend ForEach widget to expose range, position and size in a way comparable with ScrollBar widget.

5 months agoSVGHMI: code cleanup
Edouard Tisserant <edouard@beremiz.fr> [Fri, 11 Oct 2024 09:31:34 +0200] rev 4024
SVGHMI: code cleanup

5 months agoMQTT: Add status global variable MQTT_STATUS_n, one per MQTT client
Edouard Tisserant <edouard@beremiz.fr> [Mon, 30 Sep 2024 16:21:11 +0200] rev 4023
MQTT: Add status global variable MQTT_STATUS_n, one per MQTT client

5 months agoMQTT: strip unsupported types from type choice dropdown, better wrong type detection in build.
Edouard Tisserant <edouard@beremiz.fr> [Thu, 26 Sep 2024 15:28:10 +0200] rev 4022
MQTT: strip unsupported types from type choice dropdown, better wrong type detection in build.

5 months agoMQTT: remove debug prints
Edouard Tisserant <edouard@beremiz.fr> [Thu, 26 Sep 2024 09:40:09 +0200] rev 4021
MQTT: remove debug prints

5 months agoMQTT: add JSON fixed size 1D array support. WIP. Parsing array still broken.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 25 Sep 2024 11:10:33 +0200] rev 4020
MQTT: add JSON fixed size 1D array support. WIP. Parsing array still broken.

6 months agoMQTT: do not convert to UPPERCASE json keys.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 20 Sep 2024 15:30:22 +0200] rev 4019
MQTT: do not convert to UPPERCASE json keys.

6 months agoMQTT: added support for strings in JSON payload only.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 20 Sep 2024 15:12:53 +0200] rev 4018
MQTT: added support for strings in JSON payload only.

6 months agoMQTT: remove accidentally committed debug printfs + cosmetic
Edouard Tisserant <edouard@beremiz.fr> [Thu, 19 Sep 2024 15:12:45 +0200] rev 4017
MQTT: remove accidentally committed debug printfs + cosmetic

6 months agoMQTT: fix invocation of json_scanf (use pointers, not values...)
Edouard Tisserant <edouard@beremiz.fr> [Thu, 19 Sep 2024 12:06:53 +0200] rev 4016
MQTT: fix invocation of json_scanf (use pointers, not values...)

6 months agoMQTT: fix bisection failing when topics start with same substring.
Edouard Tisserant <edouard@beremiz.fr> [Thu, 19 Sep 2024 12:05:35 +0200] rev 4015
MQTT: fix bisection failing when topics start with same substring.

6 months agoMQTT: Update available type choices when data types are changed in the IDE
Edouard Tisserant <edouard@beremiz.fr> [Tue, 17 Sep 2024 11:17:24 +0200] rev 4014
MQTT: Update available type choices when data types are changed in the IDE

6 months agoMQTT: remove standalone MQTT clien generator code.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 13 Sep 2024 14:28:07 +0200] rev 4013
MQTT: remove standalone MQTT clien generator code.

Code was inherited from OPC-UA extension, but not properly maintained.

6 months agoMQTT: add JSON payload corresponding to IEC Structured types
Edouard Tisserant <edouard@beremiz.fr> [Fri, 13 Sep 2024 14:26:55 +0200] rev 4012
MQTT: add JSON payload corresponding to IEC Structured types

- uses https://github.com/cesanta/frozen
- frozen.c is added as a resulting c file in generat_C (fix toolchain_gcc.py as it was breaking dependency checking)
- structured types are converted to C #define, in turn generating json_scanf and json_printf statements

6 months agoMQTT: WIP supporting structured types : do not crash when generating C code if using location with no size
Edouard Tisserant <edouard@beremiz.fr> [Thu, 05 Sep 2024 15:55:46 +0200] rev 4011
MQTT: WIP supporting structured types : do not crash when generating C code if using location with no size

6 months agoMQTT: add dropdown to select type assigned to a topic
Edouard Tisserant <edouard@beremiz.fr> [Fri, 30 Aug 2024 15:17:03 +0200] rev 4010
MQTT: add dropdown to select type assigned to a topic

6 months agoMQTT+IDE: Allow user to associate IEC structure datatype to a topic.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 30 Aug 2024 11:54:36 +0200] rev 4009
MQTT+IDE: Allow user to associate IEC structure datatype to a topic.

6 months agoIDE: allow structures to be located.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 30 Aug 2024 11:50:23 +0200] rev 4008
IDE: allow structures to be located.

6 months agomerge MQTT grafted from python2 branch - untested
Edouard Tisserant <edouard.tisserant@gmail.com> [Sat, 07 Sep 2024 12:50:57 +0200] rev 4007
merge MQTT grafted from python2 branch - untested

6 months agoMQTT: add test projects, to be later included in automated testing.
Edouard Tisserant <edouard@beremiz.fr> [Thu, 22 Aug 2024 12:16:45 +0200] rev 4006
MQTT: add test projects, to be later included in automated testing.

6 months agoMQTT: add SSL support
Edouard Tisserant <edouard@beremiz.fr> [Thu, 22 Aug 2024 12:15:31 +0200] rev 4005
MQTT: add SSL support

7 months agoSVGHMI: cosmetic
Edouard Tisserant <edouard@beremiz.fr> [Thu, 08 Aug 2024 14:56:13 +0200] rev 4004
SVGHMI: cosmetic

7 months agoSVGHMI: Fix watchdog not cleanly restarting browser because not waiting for stop operation to finish before restarting.
Edouard Tisserant <edouard@beremiz.fr> [Tue, 06 Aug 2024 15:25:57 +0200] rev 4003
SVGHMI: Fix watchdog not cleanly restarting browser because not waiting for stop operation to finish before restarting.

7 months agoMQTT: WIP, re-organized disconnection handling, now keep track of connection status and reconnect accordingly.
Edouard Tisserant <edouard@beremiz.fr> [Thu, 01 Aug 2024 12:11:11 +0200] rev 4002
MQTT: WIP, re-organized disconnection handling, now keep track of connection status and reconnect accordingly.

This fixes bug with non-reconnecting to broker when having no published variables.

7 months agoMQTT: link to SSL only when needed.
Edouard Tisserant <edouard@beremiz.fr> [Thu, 01 Aug 2024 12:09:28 +0200] rev 4001
MQTT: link to SSL only when needed.

7 months agoIDE: Fix "Save" toolbar button and file menu entry not appearing when extension makes changes
Edouard Tisserant <edouard@beremiz.fr> [Wed, 24 Jul 2024 15:14:02 +0200] rev 4000
IDE: Fix "Save" toolbar button and file menu entry not appearing when extension makes changes

7 months agoMQTT: WIP fix modified status not being set when adding and modifying topics or attributes.
Edouard Tisserant <edouard@beremiz.fr> [Tue, 23 Jul 2024 17:05:59 +0200] rev 3999
MQTT: WIP fix modified status not being set when adding and modifying topics or attributes.

Fix loading of CSV that was not applying model types, and that not checking conformance either.

7 months agoMQTT: WIP, PLC starts even if MQTT client can't connect broker, and publish+subscribe again when reconnecting.
Edouard Tisserant <edouard@beremiz.fr> [Tue, 23 Jul 2024 15:30:04 +0200] rev 3998
MQTT: WIP, PLC starts even if MQTT client can't connect broker, and publish+subscribe again when reconnecting.

7 months agoMQTT: WIP, destroys paho client during failure handling at init and at cleanup. Use mutex to protect retrieve.
Edouard Tisserant <edouard@beremiz.fr> [Tue, 23 Jul 2024 11:05:46 +0200] rev 3997
MQTT: WIP, destroys paho client during failure handling at init and at cleanup. Use mutex to protect retrieve.

8 months agoMQTT: Implements reconnecting in publish thread in case thread is waken-up but client is disconnected.
Edouard Tisserant <edouard@beremiz.fr> [Mon, 22 Jul 2024 16:13:27 +0200] rev 3996
MQTT: Implements reconnecting in publish thread in case thread is waken-up but client is disconnected.

Note: paho's lostConnection callback got already disabled in previous commit.

8 months agoMQTT: take C part away from python code for readability.
Edouard Tisserant <edouard@beremiz.fr> [Mon, 22 Jul 2024 16:09:12 +0200] rev 3995
MQTT: take C part away from python code for readability.

C lines change a bit because of unnecessary escaping for '\'.

8 months agoMQTT: WIP, prevent crash after disconnect. Disable auto-reconnect on connection lost callback.
Edouard Tisserant <edouard@beremiz.fr> [Mon, 22 Jul 2024 12:12:33 +0200] rev 3994
MQTT: WIP, prevent crash after disconnect. Disable auto-reconnect on connection lost callback.

8 months agoMQTT: Stop publish thread properly on PLC stop
Edouard Tisserant <edouard@beremiz.fr> [Thu, 18 Jul 2024 12:05:26 +0200] rev 3993
MQTT: Stop publish thread properly on PLC stop

8 months agoMQTT: Fix overkill use of wx sizer
Edouard Tisserant <edouard@beremiz.fr> [Thu, 18 Jul 2024 11:42:08 +0200] rev 3992
MQTT: Fix overkill use of wx sizer

8 months agoMQTT: Fix crash when browsing locations
Edouard Tisserant <edouard@beremiz.fr> [Thu, 18 Jul 2024 11:28:38 +0200] rev 3991
MQTT: Fix crash when browsing locations

8 months agoMQTT: WIP. Added handling of received messages (subscriptions)
Edouard Tisserant <edouard@beremiz.fr> [Wed, 17 Jul 2024 17:02:32 +0200] rev 3990
MQTT: WIP. Added handling of received messages (subscriptions)

Dropped perfect hash in favor of bisection
Also fixed indentation (tabs)

8 months agoMQTT: WIP, added publish thread waking-up when published variables change.
Edouard Tisserant <edouard@beremiz.fr> [Tue, 16 Jul 2024 09:41:45 +0200] rev 3989
MQTT: WIP, added publish thread waking-up when published variables change.

8 months agoMQTT: WIP, subscibed topics have no "Retained" attribute.
Edouard Tisserant <edouard@beremiz.fr> [Mon, 15 Jul 2024 09:40:11 +0200] rev 3988
MQTT: WIP, subscibed topics have no "Retained" attribute.

Allow subscribed and published data models to be different, by removing "Retained" column.

8 months agoMQTT: WIP, now publishes initial values at init.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 12 Jul 2024 15:36:17 +0200] rev 3987
MQTT: WIP, now publishes initial values at init.

8 months agoMQTT: WIP, now connects to broker. Added MQTT 3 support and protocol version selection in IDE.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 12 Jul 2024 11:24:06 +0200] rev 3986
MQTT: WIP, now connects to broker. Added MQTT 3 support and protocol version selection in IDE.

8 months agoMQTT: (WIP) Fix OpenSSL linking.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 10 Jul 2024 11:10:05 +0200] rev 3985
MQTT: (WIP) Fix OpenSSL linking.

8 months agoMQTT: still WIP, generated C code builds and link.
Edouard Tisserant <edouard@beremiz.fr> [Tue, 09 Jul 2024 11:46:19 +0200] rev 3984
MQTT: still WIP, generated C code builds and link.

8 months agoExtensions: add optional arguments to ThirdPartyPath
Edouard Tisserant <edouard@beremiz.fr> [Tue, 09 Jul 2024 11:44:49 +0200] rev 3983
Extensions: add optional arguments to ThirdPartyPath

ThirdPartyPath("name", "path1", "path2") will resolve by default into "../name/path1/path2"