Mon, 18 Nov 2024 13:37:08 +0100IDE: 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

Wed, 13 Nov 2024 23:10:36 +0100python 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

Mon, 11 Nov 2024 15:22:44 +0100eRPC: 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.

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

Fri, 08 Nov 2024 11:34:00 +0100python_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.

Mon, 28 Oct 2024 16:06:50 +0100eRPC: 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.

Mon, 28 Oct 2024 16:02:47 +0100Add 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.

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

Wed, 16 Oct 2024 12:18:14 +0200TESTS: 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

Fri, 11 Oct 2024 10:49:07 +0200MQTT: 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

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

Fri, 11 Oct 2024 10:38:30 +0200SVGHMI: 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

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

Fri, 11 Oct 2024 10:18:57 +0200SVGHMI: 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.

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

Mon, 30 Sep 2024 16:21:11 +0200MQTT: 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

Thu, 26 Sep 2024 15:28:10 +0200MQTT: 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.

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

Wed, 25 Sep 2024 11:10:33 +0200MQTT: 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.

Fri, 20 Sep 2024 15:30:22 +0200MQTT: 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.

Fri, 20 Sep 2024 15:12:53 +0200MQTT: 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.

Thu, 19 Sep 2024 15:12:45 +0200MQTT: 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

Thu, 19 Sep 2024 12:06:53 +0200MQTT: 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...)

Thu, 19 Sep 2024 12:05:35 +0200MQTT: 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.

Tue, 17 Sep 2024 11:17:24 +0200MQTT: 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

Fri, 13 Sep 2024 14:28:07 +0200MQTT: 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.

Fri, 13 Sep 2024 14:26:55 +0200MQTT: 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

Thu, 05 Sep 2024 15:55:46 +0200MQTT: 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

Fri, 30 Aug 2024 15:17:03 +0200MQTT: 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

Fri, 30 Aug 2024 11:54:36 +0200MQTT+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.

Fri, 30 Aug 2024 11:50:23 +0200IDE: 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.

Sat, 07 Sep 2024 12:50:57 +0200merge 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

Thu, 22 Aug 2024 12:16:45 +0200MQTT: 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.

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

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

Tue, 06 Aug 2024 15:25:57 +0200SVGHMI: 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.

Thu, 01 Aug 2024 12:11:11 +0200MQTT: 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.

Thu, 01 Aug 2024 12:09:28 +0200MQTT: 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.

Wed, 24 Jul 2024 15:14:02 +0200IDE: 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

Tue, 23 Jul 2024 17:05:59 +0200MQTT: 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.

Tue, 23 Jul 2024 15:30:04 +0200MQTT: 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.

Tue, 23 Jul 2024 11:05:46 +0200MQTT: 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.

Mon, 22 Jul 2024 16:13:27 +0200MQTT: 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.

Mon, 22 Jul 2024 16:09:12 +0200MQTT: 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 '\'.

Mon, 22 Jul 2024 12:12:33 +0200MQTT: 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.

Thu, 18 Jul 2024 12:05:26 +0200MQTT: 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

Thu, 18 Jul 2024 11:42:08 +0200MQTT: 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

Thu, 18 Jul 2024 11:28:38 +0200MQTT: 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

Wed, 17 Jul 2024 17:02:32 +0200MQTT: 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)

Tue, 16 Jul 2024 09:41:45 +0200MQTT: 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.

Mon, 15 Jul 2024 09:40:11 +0200MQTT: 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.

Fri, 12 Jul 2024 15:36:17 +0200MQTT: 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.

Fri, 12 Jul 2024 11:24:06 +0200MQTT: 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.

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

Tue, 09 Jul 2024 11:46:19 +0200MQTT: 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.

Tue, 09 Jul 2024 11:44:49 +0200Extensions: 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"

Thu, 04 Jul 2024 11:24:04 +0200GCC BUILD: Prevent Memory Error when compiling huge projects.
Edouard Tisserant <edouard@beremiz.fr> [Thu, 04 Jul 2024 11:24:04 +0200] rev 3982
GCC BUILD: Prevent Memory Error when compiling huge projects.

Also deleted dead code.

Wed, 03 Jul 2024 11:44:01 +0200MQTT WIP: intermediate state, added perfect hash to map topic to variables
Edouard Tisserant <edouard@beremiz.fr> [Wed, 03 Jul 2024 11:44:01 +0200] rev 3981
MQTT WIP: intermediate state, added perfect hash to map topic to variables

Fri, 14 Jun 2024 15:56:12 +0200MQTT WIP: intermediate state, implementing MQTT client C code generator.
Edouard Tisserant <edouard@beremiz.fr> [Fri, 14 Jun 2024 15:56:12 +0200] rev 3980
MQTT WIP: intermediate state, implementing MQTT client C code generator.

Wed, 12 Jun 2024 11:45:09 +0200WIP: Add skeleton for MQTT extension based on part of OPC-UA extension.
Edouard Tisserant <edouard@beremiz.fr> [Wed, 12 Jun 2024 11:45:09 +0200] rev 3979
WIP: Add skeleton for MQTT extension based on part of OPC-UA extension.

For now generated code makes no sense but persistently-configurable-C-generating-extension infrastructure is there.