Commit Graph

352 Commits

Author SHA1 Message Date
David Cermak
752953dc3b added mqtt api locks, so methods can be executed from user context
closes #67, closes #90, closes https://github.com/espressif/esp-idf/issues/2975
2019-02-13 15:21:32 +01:00
David Cermak
6a0d1e7bff support for qos1 and qos2 message retrasmission on reconnect 2019-02-13 15:21:32 +01:00
David Cermak
815623dfe5 improvements on runtime configuration of uri
closes https://github.com/espressif/esp-idf/issues/2870
2019-02-13 15:21:32 +01:00
David Cermak
d4b6655618 minor fixes for issues present with fragmented/packed data 2019-02-13 14:59:38 +01:00
David Čermák
6fed019b9d Merge branch 'feature/reconnection_improvements' into 'idf'
Reconnection improvements: Github PR

See merge request idf/esp-mqtt!15
2019-02-13 21:49:03 +08:00
Mikael Kanstrup
df455d2a5f Add client force reconnect function
esp-mqtt library is unaware of underlying network connectivity states
and current auto reconnect mechanism is built around timed retry
attempts every MQTT_RECONNECT_TIMEOUT_MS.

As application code usually keeps track of network connectity state
export a new function that application can use to request a forced
reconnect attempt as soon as connected to the network.
2019-02-04 08:44:55 +01:00
Mikael Kanstrup
17fd713bce Avoid further wait period after reconnect timeout occurs
When reconnect timer expires an additional waiting period of half the
timeout period is seen. Skip this extra waiting period when timeout
is detected and perform the connect attempt right away. This change
makes configured reconnect timeout value MQTT_RECONNECT_TIMEOUT_MS
accurate.
2019-02-04 08:44:55 +01:00
Anton Maklakov
f9abda0ddd Merge branch 'feature/simple_ci_support' into 'idf'
Basic ci support with static checker

See merge request idf/esp-mqtt!13
2019-01-30 12:23:00 +08:00
David Cermak
dc801ce8ea ci: added basic support for building + static analysis with IDF master 2019-01-29 16:31:14 +01:00
David Čermák
8163e12b80 Merge branch 'feature/mqtt_support_arbitrary_datalen' into 'idf'
MQTT rework for packed and fragmented messages -- available for testing

See merge request idf/esp-mqtt!12
2019-01-03 18:57:30 +08:00
David Cermak
f08f3b6787 update log levels, logging complete error code, removed unnecessary struct 2019-01-03 09:14:34 +01:00
David Cermak
06fe5cca8e mqtt data events fixed to keep consistent msg_id when fragmented message received
closes #70
2019-01-03 09:14:34 +01:00
David Cermak
e0bbbebc08 mqtt support for sending fragmented messages and full mqtt message length support 2019-01-03 09:14:34 +01:00
David Cermak
cf5b8eda89 added a fix for incomplete header message received (topic or data could not be resolved from msg) 2019-01-03 09:14:34 +01:00
Laurent Louf
db64b79120 Fix for case where multiple MQTT messages are fitted into a single TCP packet : iterate over the buffer received.
Merges https://github.com/espressif/esp-mqtt/pull/82
Closes #64
Closes #80
2019-01-03 09:14:34 +01:00
David Čermák
1e787461dc Merge branch 'feature/event_before_connect' into 'idf'
Add BEFORE_CONNECt event and refresh the connection option

See merge request idf/esp-mqtt!10
2018-11-09 23:26:35 +08:00
Tuan
2b49d37f8d Add BEFORE_CONNECt event and refresh the connection option 2018-11-09 23:26:35 +08:00
David Čermák
a7b1cea5b3 Merge branch 'feature/mutual_authentication' into 'idf'
Added mutual authentication from master, minor corrections, doxy comments

See merge request idf/esp-mqtt!9
2018-10-29 17:22:58 +08:00
David Cermak
85f2eddabd commented event fields, added description of supplied user data to user event handler
closes #66
2018-10-25 09:25:41 +02:00
David Cermak
8b45c25fdc corrections per renaming transports to esp_ prefixed 2018-10-16 08:29:47 +02:00
Riccardo Binetti
d2bcdd84a1 Add mutual SSL auth config to mqtt_client
picked from master
2018-10-16 08:29:47 +02:00
david-cermak
52cb6980b0 Merge pull request #77 from rbino/session-present
Expose the session_present flag in the CONNACK packet
2018-10-16 08:28:55 +02:00
david-cermak
d8b2c77ec5 Merge pull request #75 from rbino/fix-buffer-length
Fix buffer length during connection read
2018-10-16 08:25:16 +02:00
Riccardo Binetti
4db9918220 mqtt_client: add session_present field to mqtt_event
Populate it using the CONNACK packet
2018-10-15 11:31:46 +02:00
Riccardo Binetti
8bd8583216 Add mqtt_get_connect_session_present 2018-10-15 11:29:47 +02:00
Riccardo Binetti
a9e796025a Fix buffer length during connection read
Use the in_buffer length instead of the out msg length
2018-10-15 11:26:51 +02:00
david-cermak
439a2eb481 Merge pull request #78 from rbino/fix-publish-enqueue
Fix bug in esp_mqtt_client_publish message enqueueing
2018-10-12 08:26:54 +02:00
Riccardo Binetti
c2f3b9f4b4 Fix bug in esp_mqtt_client_publish message enqueueing
We have to enqueue first and then assign to outbound/pending variables,
otherwise the previous pending message is lost and the publish message
is present twice
2018-10-10 14:48:32 +02:00
David Čermák
51a5ca026f Merge branch 'feature/announce_move_to_idf' into 'master'
esp-mqtt announce integration to idf

See merge request idf/esp-mqtt!6
2018-10-10 19:36:27 +08:00
David Čermák
ab357e3ae3 Merge branch 'bugfix/client_stop_only_if_started' into 'idf'
client to stop only if started

See merge request idf/esp-mqtt!7
2018-10-09 13:25:38 +08:00
David Cermak
e26764502a mqtt_client_stop stops only if started, fixed tabs->spaces, updated README, removed unused config
closes #62
2018-10-05 16:01:29 +02:00
David Cermak
5fd5523b9b esp-mqtt announce integration to idf ESP-MQTT_FOR_IDF_3.1 2018-10-04 13:12:30 +02:00
David Čermák
ddca82d553 Merge branch 'feature/transpost_methods_renamed_no_collision' into 'idf'
transport: renamed transport headers to avoid compilation collisions

See merge request idf/esp-mqtt!5
2018-10-03 14:12:58 +08:00
David Cermak
85ee406d03 tcp_transport: renamed possibly generic function names to be esp_ prefixed and not to colide with user namespace 2018-10-02 14:18:03 +02:00
David Cermak
d344f928ca transport: renamed transport headers to avoid compilation collisions 2018-10-02 14:17:54 +02:00
Angus Gratton
ba35d2de56 Merge branch 'revert-99093849' into 'idf'
Revert "Merge branch 'feature/idf_transport_API_change' into 'idf'"

See merge request idf/esp-mqtt!4
2018-09-24 14:58:36 +08:00
Angus Gratton
61f411c1f9 Revert "Merge branch 'feature/idf_transport_API_change' into 'idf'"
This reverts merge request !3
2018-09-24 13:25:04 +08:00
Angus Gratton
990938491c Merge branch 'feature/idf_transport_API_change' into 'idf'
esp-mqtt: Add support for modified transport_set_func() API from esp-idf/component/tcp_transport

See merge request idf/esp-mqtt!3
2018-09-24 11:54:13 +08:00
Jitin George
cbeaf67fe3 esp-mqtt: Add support for modified transport_set_func() API from esp-idf/component/tcp_transport 2018-09-18 17:49:41 +05:30
david-cermak
99004f2a48 Merge pull request #61 from rbino/add-mutual-auth
Add SSL mutual authentication support
2018-09-13 15:58:46 +02:00
David Cermak
bcb38e45f5 deleted Kconfig as this is used as component in esp-idf 2018-09-13 11:33:52 +02:00
David Cermak
abaab2abcc Moved examples with tests to idf, renamed Kconfig to be included from component config in idf,
All these changes are necessary to support new CMake based build system and documentation generation so that this version of esp-mqtt is no longer usable as standalone component, but a standart component of esp-idf
2018-09-11 11:33:10 +02:00
David Cermak
c1ce30f693 Added doxygen tags for API reference documentation 2018-08-21 15:31:10 +02:00
David Cermak
3bbdebcca9 bugfix for longer data on ws transport 2018-08-21 11:55:36 +02:00
David Cermak
0c25441fdd support for custom implementation of msg outbox 2018-08-21 11:55:36 +02:00
David Cermak
fa7ade77b1 IDF integration: Refactored to common tcp transport component, fixed warnings 2018-08-21 11:55:36 +02:00
Riccardo Binetti
4e4b5dd06f Add ssl mutual authentication example 2018-08-06 16:35:00 +02:00
Riccardo Binetti
8e8cf28bca Add mutual SSL auth config to mqtt_client 2018-08-06 16:29:58 +02:00
Riccardo Binetti
b930438e3d Add mutual SSL authentication to transport_ssl 2018-08-06 16:29:16 +02:00
Manuel Wick
9e2f69cc17 Fixed QoS2 publishing (#58)
- Fixed message type check: Previously, it checked for PUBREL, but the
enqueued packet is the PUBLISH packet, hence check for this type in
is_valid_mqtt_msg().

- Moved mqtt_enqueue after the preparation of the packet, so that the
correct message id gets stored (also relevant for QoS1).
2018-08-06 13:19:23 +07:00