From 0527344d37ec4eb3d991eb58549ea2da72bf405d Mon Sep 17 00:00:00 2001 From: Chris Hatton Date: Fri, 10 Apr 2020 22:35:29 +1000 Subject: [PATCH 01/11] Add support for using std::function callbacks instead of C-pointers --- src/MqttClient.cpp | 15 +++++++++++++++ src/MqttClient.h | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/src/MqttClient.cpp b/src/MqttClient.cpp index 8e2684e..1bd0eb2 100644 --- a/src/MqttClient.cpp +++ b/src/MqttClient.cpp @@ -97,10 +97,17 @@ MqttClient::~MqttClient() } } +#ifdef MQTT_CLIENT_STD_FUNCTION_CALLBACK +void MqttClient::onMessage(MqttMessageCallback callback) +{ + _onMessage = callback; +} +#else void MqttClient::onMessage(void(*callback)(int)) { _onMessage = callback; } +#endif int MqttClient::parseMessage() { @@ -550,7 +557,11 @@ void MqttClient::poll() _rxState = MQTT_CLIENT_RX_STATE_READ_PUBLISH_PAYLOAD; if (_onMessage) { +#ifdef MQTT_CLIENT_STD_FUNCTION_CALLBACK + _onMessage(this,_rxLength); +#else _onMessage(_rxLength); +#endif if (_rxLength == 0) { _rxState = MQTT_CLIENT_RX_STATE_READ_TYPE; @@ -573,7 +584,11 @@ void MqttClient::poll() _rxState = MQTT_CLIENT_RX_STATE_READ_PUBLISH_PAYLOAD; if (_onMessage) { +#ifdef MQTT_CLIENT_STD_FUNCTION_CALLBACK + _onMessage(this,_rxLength); +#else _onMessage(_rxLength); +#endif } if (_rxLength == 0) { diff --git a/src/MqttClient.h b/src/MqttClient.h index e0e9d63..4382e3b 100644 --- a/src/MqttClient.h +++ b/src/MqttClient.h @@ -32,12 +32,24 @@ #define MQTT_BAD_USER_NAME_OR_PASSWORD 4 #define MQTT_NOT_AUTHORIZED 5 +// Make this definition in your application code to use std::functions for onMessage callbacks instead of C-pointers: +// #define MQTT_CLIENT_STD_FUNCTION_CALLBACK + +#ifdef MQTT_CLIENT_STD_FUNCTION_CALLBACK +#include +#endif + class MqttClient : public Client { public: MqttClient(Client& client); virtual ~MqttClient(); +#ifdef MQTT_CLIENT_STD_FUNCTION_CALLBACK + typedef std::function MessageCallback; + void onMessage(MessageCallback callback); +#else void onMessage(void(*)(int)); +#endif int parseMessage(); String messageTopic() const; @@ -128,7 +140,11 @@ class MqttClient : public Client { private: Client* _client; +#ifdef MQTT_CLIENT_STD_FUNCTION_CALLBACK + MqttClient::MessageCallback _onMessage; +#else void (*_onMessage)(int); +#endif String _id; String _username; From 9d22ef1a2f9d197cba2fa0873abe97f13f9bdc7c Mon Sep 17 00:00:00 2001 From: Chris Hatton Date: Fri, 10 Apr 2020 22:52:23 +1000 Subject: [PATCH 02/11] Remove some redundancy --- src/MqttClient.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/MqttClient.cpp b/src/MqttClient.cpp index 1bd0eb2..ff7cf61 100644 --- a/src/MqttClient.cpp +++ b/src/MqttClient.cpp @@ -99,15 +99,12 @@ MqttClient::~MqttClient() #ifdef MQTT_CLIENT_STD_FUNCTION_CALLBACK void MqttClient::onMessage(MqttMessageCallback callback) -{ - _onMessage = callback; -} #else void MqttClient::onMessage(void(*callback)(int)) +#endif { _onMessage = callback; } -#endif int MqttClient::parseMessage() { From 0179fcdc5a9f789b3b12b8bd52579bb9f180671c Mon Sep 17 00:00:00 2001 From: Chris Hatton Date: Sat, 11 Apr 2020 00:46:50 +1000 Subject: [PATCH 03/11] Fix compile error & redundant class qualifier. --- src/MqttClient.cpp | 2 +- src/MqttClient.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MqttClient.cpp b/src/MqttClient.cpp index ff7cf61..0ab6863 100644 --- a/src/MqttClient.cpp +++ b/src/MqttClient.cpp @@ -98,7 +98,7 @@ MqttClient::~MqttClient() } #ifdef MQTT_CLIENT_STD_FUNCTION_CALLBACK -void MqttClient::onMessage(MqttMessageCallback callback) +void MqttClient::onMessage(MessageCallback callback) #else void MqttClient::onMessage(void(*callback)(int)) #endif diff --git a/src/MqttClient.h b/src/MqttClient.h index 4382e3b..27c1787 100644 --- a/src/MqttClient.h +++ b/src/MqttClient.h @@ -141,7 +141,7 @@ class MqttClient : public Client { Client* _client; #ifdef MQTT_CLIENT_STD_FUNCTION_CALLBACK - MqttClient::MessageCallback _onMessage; + MessageCallback _onMessage; #else void (*_onMessage)(int); #endif From c04fc705326d37f9ee827abeb85fe755462f3541 Mon Sep 17 00:00:00 2001 From: pennam Date: Fri, 22 Jul 2022 14:34:19 +0200 Subject: [PATCH 04/11] Add Portenta H7 and Nicla Vision boards to compile examples workflow --- .github/workflows/compile-examples.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index fdd0de7..641866a 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -51,6 +51,14 @@ jobs: - name: arduino:samd libraries: | - name: WiFiNINA + - fqbn: arduino:mbed:envie_m7 + platforms: | + - name: arduino:mbed + libraries: "" + - fqbn: arduino:mbed_nicla:nicla_vision + platforms: | + - name: arduino:mbed_nicla + libraries: "" - fqbn: esp8266:esp8266:huzzah platforms: | - name: esp8266:esp8266 From 52a7393a0d2bb2768d7735a46afbfb3c2c63126a Mon Sep 17 00:00:00 2001 From: pennam Date: Fri, 22 Jul 2022 14:46:45 +0200 Subject: [PATCH 05/11] Fix examples to build correctly for PORTENTA_H7_M7 and NICLA_VISION --- examples/WiFiAdvancedCallback/WiFiAdvancedCallback.ino | 2 +- examples/WiFiEcho/WiFiEcho.ino | 2 +- examples/WiFiEchoCallback/WiFiEchoCallback.ino | 2 +- examples/WiFiSimpleReceive/WiFiSimpleReceive.ino | 2 +- .../WiFiSimpleReceiveCallback/WiFiSimpleReceiveCallback.ino | 2 +- examples/WiFiSimpleSender/WiFiSimpleSender.ino | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/WiFiAdvancedCallback/WiFiAdvancedCallback.ino b/examples/WiFiAdvancedCallback/WiFiAdvancedCallback.ino index c4bec66..3aed2c6 100644 --- a/examples/WiFiAdvancedCallback/WiFiAdvancedCallback.ino +++ b/examples/WiFiAdvancedCallback/WiFiAdvancedCallback.ino @@ -22,7 +22,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) #include #endif diff --git a/examples/WiFiEcho/WiFiEcho.ino b/examples/WiFiEcho/WiFiEcho.ino index 53ad4e3..840f088 100644 --- a/examples/WiFiEcho/WiFiEcho.ino +++ b/examples/WiFiEcho/WiFiEcho.ino @@ -18,7 +18,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) #include #endif diff --git a/examples/WiFiEchoCallback/WiFiEchoCallback.ino b/examples/WiFiEchoCallback/WiFiEchoCallback.ino index ef17c54..8438be3 100644 --- a/examples/WiFiEchoCallback/WiFiEchoCallback.ino +++ b/examples/WiFiEchoCallback/WiFiEchoCallback.ino @@ -19,7 +19,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) #include #endif diff --git a/examples/WiFiSimpleReceive/WiFiSimpleReceive.ino b/examples/WiFiSimpleReceive/WiFiSimpleReceive.ino index 753989b..4cb406a 100644 --- a/examples/WiFiSimpleReceive/WiFiSimpleReceive.ino +++ b/examples/WiFiSimpleReceive/WiFiSimpleReceive.ino @@ -17,7 +17,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) #include #endif diff --git a/examples/WiFiSimpleReceiveCallback/WiFiSimpleReceiveCallback.ino b/examples/WiFiSimpleReceiveCallback/WiFiSimpleReceiveCallback.ino index 4dc4b96..77a4d93 100644 --- a/examples/WiFiSimpleReceiveCallback/WiFiSimpleReceiveCallback.ino +++ b/examples/WiFiSimpleReceiveCallback/WiFiSimpleReceiveCallback.ino @@ -18,7 +18,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) #include #endif diff --git a/examples/WiFiSimpleSender/WiFiSimpleSender.ino b/examples/WiFiSimpleSender/WiFiSimpleSender.ino index b7f94bd..2513609 100644 --- a/examples/WiFiSimpleSender/WiFiSimpleSender.ino +++ b/examples/WiFiSimpleSender/WiFiSimpleSender.ino @@ -17,7 +17,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) #include #endif From d0d99ee1a9b04d77186562e439eccb7d6dbc6bcb Mon Sep 17 00:00:00 2001 From: Mattia Pennasilico Date: Mon, 8 Aug 2022 09:10:50 +0200 Subject: [PATCH 06/11] Use mbed_portenta platform Co-authored-by: per1234 --- .github/workflows/compile-examples.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 641866a..1b3a6ca 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -51,9 +51,9 @@ jobs: - name: arduino:samd libraries: | - name: WiFiNINA - - fqbn: arduino:mbed:envie_m7 + - fqbn: arduino:mbed_portenta:envie_m7 platforms: | - - name: arduino:mbed + - name: arduino:mbed_portenta libraries: "" - fqbn: arduino:mbed_nicla:nicla_vision platforms: | From bc3675c4a3ee07e1a81fb7249c5e7ae5a6501c12 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 22:11:28 +0000 Subject: [PATCH 07/11] Bump geekyeggo/delete-artifact from 1 to 2 Bumps [geekyeggo/delete-artifact](https://github.com/geekyeggo/delete-artifact) from 1 to 2. - [Release notes](https://github.com/geekyeggo/delete-artifact/releases) - [Commits](https://github.com/geekyeggo/delete-artifact/compare/v1...v2) --- updated-dependencies: - dependency-name: geekyeggo/delete-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/sync-labels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 986bda6..10abaea 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -114,7 +114,7 @@ jobs: path: ${{ env.CONFIGURATIONS_FOLDER }} - name: Remove unneeded artifact - uses: geekyeggo/delete-artifact@v1 + uses: geekyeggo/delete-artifact@v2 with: name: ${{ env.CONFIGURATIONS_ARTIFACT }} From 63ba82983b8c1f01e410f9b83c1100ea30202e67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 22:11:33 +0000 Subject: [PATCH 08/11] Bump carlosperate/download-file-action from 1 to 2 Bumps [carlosperate/download-file-action](https://github.com/carlosperate/download-file-action) from 1 to 2. - [Release notes](https://github.com/carlosperate/download-file-action/releases) - [Commits](https://github.com/carlosperate/download-file-action/compare/v1...v2) --- updated-dependencies: - dependency-name: carlosperate/download-file-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/sync-labels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 10abaea..94938f3 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -31,7 +31,7 @@ jobs: - name: Download JSON schema for labels configuration file id: download-schema - uses: carlosperate/download-file-action@v1 + uses: carlosperate/download-file-action@v2 with: file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/arduino-tooling-gh-label-configuration-schema.json location: ${{ runner.temp }}/label-configuration-schema @@ -65,7 +65,7 @@ jobs: steps: - name: Download - uses: carlosperate/download-file-action@v1 + uses: carlosperate/download-file-action@v2 with: file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/${{ matrix.filename }} From ad35618f15aa8d74307a340b06f4b9002dfdabbf Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Mon, 27 Mar 2023 06:12:31 +0200 Subject: [PATCH 09/11] CI: Add Arduino Giga as CI build target. --- .github/workflows/compile-examples.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 1b3a6ca..c1bfe9b 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -59,6 +59,9 @@ jobs: platforms: | - name: arduino:mbed_nicla libraries: "" + - fqbn: arduino:mbed_giga:giga + platforms: | + - name: arduino:mbed_giga - fqbn: esp8266:esp8266:huzzah platforms: | - name: esp8266:esp8266 From d783a2f36317386ade6dd8dab56365bedc63ff00 Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Mon, 27 Mar 2023 06:20:47 +0200 Subject: [PATCH 10/11] Add missing #define in order to select correct WiFi library. --- examples/WiFiAdvancedCallback/WiFiAdvancedCallback.ino | 2 +- examples/WiFiEcho/WiFiEcho.ino | 2 +- examples/WiFiEchoCallback/WiFiEchoCallback.ino | 2 +- examples/WiFiSimpleReceive/WiFiSimpleReceive.ino | 2 +- .../WiFiSimpleReceiveCallback/WiFiSimpleReceiveCallback.ino | 2 +- examples/WiFiSimpleSender/WiFiSimpleSender.ino | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/WiFiAdvancedCallback/WiFiAdvancedCallback.ino b/examples/WiFiAdvancedCallback/WiFiAdvancedCallback.ino index 3aed2c6..5cf2b58 100644 --- a/examples/WiFiAdvancedCallback/WiFiAdvancedCallback.ino +++ b/examples/WiFiAdvancedCallback/WiFiAdvancedCallback.ino @@ -22,7 +22,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_GIGA) #include #endif diff --git a/examples/WiFiEcho/WiFiEcho.ino b/examples/WiFiEcho/WiFiEcho.ino index 840f088..e5e47ee 100644 --- a/examples/WiFiEcho/WiFiEcho.ino +++ b/examples/WiFiEcho/WiFiEcho.ino @@ -18,7 +18,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_GIGA) #include #endif diff --git a/examples/WiFiEchoCallback/WiFiEchoCallback.ino b/examples/WiFiEchoCallback/WiFiEchoCallback.ino index 8438be3..7f1afa9 100644 --- a/examples/WiFiEchoCallback/WiFiEchoCallback.ino +++ b/examples/WiFiEchoCallback/WiFiEchoCallback.ino @@ -19,7 +19,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_GIGA) #include #endif diff --git a/examples/WiFiSimpleReceive/WiFiSimpleReceive.ino b/examples/WiFiSimpleReceive/WiFiSimpleReceive.ino index 4cb406a..6af92a3 100644 --- a/examples/WiFiSimpleReceive/WiFiSimpleReceive.ino +++ b/examples/WiFiSimpleReceive/WiFiSimpleReceive.ino @@ -17,7 +17,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_GIGA) #include #endif diff --git a/examples/WiFiSimpleReceiveCallback/WiFiSimpleReceiveCallback.ino b/examples/WiFiSimpleReceiveCallback/WiFiSimpleReceiveCallback.ino index 77a4d93..5f6c47a 100644 --- a/examples/WiFiSimpleReceiveCallback/WiFiSimpleReceiveCallback.ino +++ b/examples/WiFiSimpleReceiveCallback/WiFiSimpleReceiveCallback.ino @@ -18,7 +18,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_GIGA) #include #endif diff --git a/examples/WiFiSimpleSender/WiFiSimpleSender.ino b/examples/WiFiSimpleSender/WiFiSimpleSender.ino index 2513609..236a6e8 100644 --- a/examples/WiFiSimpleSender/WiFiSimpleSender.ino +++ b/examples/WiFiSimpleSender/WiFiSimpleSender.ino @@ -17,7 +17,7 @@ #include #elif defined(ARDUINO_ARCH_ESP8266) #include -#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) +#elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_NICLA_VISION) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_GIGA) #include #endif From 03d2faff0520f34a0734e2e7a5588f68bccd1fc5 Mon Sep 17 00:00:00 2001 From: Alexander Entinger Date: Mon, 27 Mar 2023 06:49:58 +0200 Subject: [PATCH 11/11] Release v0.1.7. --- library.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.properties b/library.properties index 79e24de..47629db 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=ArduinoMqttClient -version=0.1.6 +version=0.1.7 author=Arduino maintainer=Arduino sentence=[BETA] Allows you to send and receive MQTT messages using Arduino. pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy