139 Commits

Author SHA1 Message Date
hsaturn
aa62bcaf02 [ammend for ac391a49a4] Thanks to real-bombinho for the fix 2023-05-10 21:08:08 +02:00
hsaturn
90435b1260 [issue #84] Fix and unit test added 2023-05-10 21:05:17 +02:00
hsaturn
65e22c85c6 [TinyMqtt.h] Added TINY_MQTT_ETHERNET compilation option 2023-04-21 22:29:36 +02:00
real-bombinho
3135d9a28c Add RP2040 support
works with Raspberry Pi Pico W, using earlephilhower
2023-04-18 10:56:24 +01:00
Francois BIOT
6b9d764c23 [Retain] Fix bug in last retained msg and add retain commands to tinytests 2023-04-17 02:40:15 +02:00
Francois BIOT
67ce97e523 Removed the bad 5000ms add in timeout detection 2023-04-17 01:17:58 +02:00
hsaturn
25602ec2f5 [TinyMqtt.cpp] Fix misusing of WiFiClient class 2023-04-17 00:43:49 +02:00
Francois BIOT
fd305d7b48 Fix return value of MqttClient::publish if not connected 2023-04-10 12:43:06 +02:00
hsaturn
d3bf379d19 Fix memory leak for broker to remote broker connection 2023-04-10 10:43:27 +02:00
hsaturn
3c77f7cafd Added a test for instances count (memory leak again) 2023-04-09 21:03:46 +02:00
Richie Vos
14882fed22 Build cleanly under c++14
Other parts of TinyConsole require >= c++ 14, but this forces c++17.

That's not necessarily a problem, but it triggered some build warnings for me,
so in case that's unintentional I'm sending this diff.

Exact warning:
```
Compiling .pio/build/esp32dev/lib4a7/TinyMqtt/TinyMqtt.cpp.o
.pio/libdeps/esp32dev/TinyMqtt/src/TinyMqtt.cpp: In member function 'MqttError MqttBroker::subscribe(MqttClient*, const Topic&, uint8_t)':
.pio/libdeps/esp32dev/TinyMqtt/src/TinyMqtt.cpp:221:13: warning: structured bindings only available with -std=c++17 or -std=gnu++17
   for(auto& [retained_topic, retain]: retained)
```

I personally just switched to c++17 as my fix/workaround.
2023-04-03 20:46:41 -07:00
hsaturn
5d07294fde Merge branch 'main' into timeout 2023-03-23 13:46:02 +01:00
Francois BIOT
e41452edf0 [fixes] Timeout and broker to broker modifications 2023-03-23 13:42:09 +01:00
hsaturn
e4ad27c805 [MqttClient] Added connect(IPAddress) 2023-03-22 20:29:52 +01:00
hsaturn
37fb46ec3b [TinyMqtt.cpp] Removed obsolete comment 2023-03-22 20:29:25 +01:00
Francois BIOT
bf84e29831 retain is coming git status! 2023-03-22 00:29:55 +01:00
hsaturn
46798ff0de Fix bug with Async Tcp 2023-03-11 18:47:41 +01:00
Francois BIOT
2587371457 Minor typo changes and add comments 2023-02-23 19:24:27 +01:00
hsaturn
2a8dbd09c5 Memory deletion fixes 2023-02-20 05:24:35 +01:00
Francois BIOT
00333ed805 [TinyMqtt] Fix obsolete warning 2023-02-20 03:22:50 +01:00
Francois BIOT
775fbc14ee [tests] Use TinyConsole::string instead of any 2023-02-20 02:24:39 +01:00
hsaturn
7dc23d322c TinyString moved to TinyConsole 2023-02-19 08:38:11 +01:00
Francois BIOT
4fb632ce3d [TinyString] change size_t to be more tolerant with signed ints 2023-02-19 06:04:54 +01:00
hsaturn
c9130c7a24 [TinyString] Added size_t, added find(char) 2023-02-19 05:21:55 +01:00
hsaturn
787cb77a26 String indexer std::string removed 2023-02-15 05:37:23 +01:00
Richie Vos
ac1eedd72a More informative error on version mismatch
I spent a lot of time debugging my arduino, trying to figure out why my
calls were all failing. Turned out to be due to the mqtt cli using v5, while
this library only supports v4. By mqtt cli I mean the [hivemq one](https://hivemq.github.io/mqtt-cli/),
which is the first one that shows up on google searches.

Being new to mqtt this burned me for awhile, so I'm hoping this helps the next
person. Both by having this PR show up if they search, and making the error
more informative.
2023-02-12 21:37:17 -08:00
hsaturn
baffda8a6d MqttClient - fix local disconnect after pulish + ka 2023-01-03 04:25:26 +01:00
Francois BIOT
09e3a3e45f Rename MqttBroker to remote_broker 2022-12-29 13:39:34 +01:00
Francois BIOT
f17ece3376 MqttClient::client renamed to tcp_client 2022-12-29 12:58:08 +01:00
hsaturn
0db07df27b Remove useless comment 2022-12-29 12:54:58 +01:00
Francois BIOT
2b92833ea5 Remove spaces to end of lines 2022-12-28 21:22:19 +01:00
hsaturn
220e904ae9 Add MqttClassBinder 2022-12-28 19:34:29 +01:00
hsaturn
49b696315c Fix TINY_MQTT_DEBUG compilation 2022-12-28 19:30:16 +01:00
hsaturn
4b4eb0b684 Fix compilation error when not in debug 2022-12-23 18:06:35 +01:00
HSaturn
18ce34c458 :xDefault client is no more empty 2022-12-17 18:36:32 +01:00
Francois BIOT
70ca3787bb Better debugging code 2022-12-04 02:41:11 +01:00
Francois BIOT
396e3fde95 Moved MqttStreaming to TinyConsole 2022-12-04 02:30:37 +01:00
Francois BIOT
c913bc61bb tinymqtt-test : new commands 2022-12-04 02:03:28 +01:00
Francois BIOT
744a590467 Replaced tabs by spaces 2022-12-03 20:47:02 +01:00
Francois BIOT
5a3e9bd90e Fix reboot bugs due to TinyConsole 2022-12-03 20:34:59 +01:00
hsaturn
d8b24adef7 [MqttClient] Fix compilation warnings 2022-12-03 20:25:03 +01:00
hsaturn
4726ff293c [MqttClient] Fix keep_alive decoding 2022-12-03 20:23:15 +01:00
hsaturn
2a4e84d827 [TinyMqtt.h] rework code 2022-12-01 08:07:25 +01:00
hsaturn
9ef47fa6a4 [MqttClient] Renamed parent to local_broker 2022-12-01 07:49:56 +01:00
hsaturn
3358340319 Fix unit tests 2022-11-30 20:52:29 +01:00
Francois BIOT
1fff9fd0e1 Use TinyConsole instead of Serial 2022-11-30 20:06:15 +01:00
hsaturn
96766f7091 [Topic] Wildcards added
+ wildcard added
  # wildcard added
  * wildcard added (but does not appear in mqtt specification...)
  $SYS messages compare is supported
2022-11-21 01:37:55 +01:00
hsaturn
73207e4745 Renamed TCP_ASYNC define to TINY_MQTT_ASYNC for name consistency. 2022-10-31 01:24:41 +01:00
hsaturn
b7d44445af [tests] Added a debug mode compilation phase (and fixed it) 2022-10-31 01:20:30 +01:00
hsaturn
f5e9a43461 [StringIndexer] Fix compare bug and moved strToIndex to private
strToIndex is dangerous because it can increment the use of a string, or
create a new string. This method should only be called by IndexedString.
2022-10-30 21:41:52 +01:00