Commit Graph
168 Commits
Author SHA1 Message Date
David Cermak e442c19f4e Added API documentaton to public headers 2019-05-15 13:40:14 +02:00
David Cermak 1d294f7606 ci: github build esp-mqtt with more stable IDF (latest release version rather then master)
fixed also internal ci: use the same git command for buld and static analysis (reset --hard instead of checkout)
2019-05-15 13:40:14 +02:00
David Cermak 60cdb79a67 mqtt_msg: avoid uncasting const to mqtt topic and data pointers 2019-05-15 13:40:14 +02:00
João Cabral db71c753aa FIX: mqtt_get_id wrong logic on msg size checks.
This error was preventing the function from returning the right msg ID,
returning always 0.
2019-05-15 13:40:14 +02:00
David Cermak d159bf4575 support for publishing message with empty data 2019-05-15 13:40:08 +02:00
David Cermak 891646681e client_init: fix crashing client upon wrong parameters, init or deinit
Closes https://github.com/espressif/esp-idf/issues/3191
2019-05-15 13:37:51 +02:00
David Cermak 35fc42d2b9 mqtt_msg: added missing message type for unsubscribe msg type
Closes #109
2019-05-06 11:23:35 +02:00
David Cermak 7d22ab5fe6 pending_msg_count update on delete expired from outbox
Closes #111
2019-05-06 11:23:35 +02:00
David Cermak fd564b1f17 client receive: refactor receive to read only one message to fragment only payload for longer messages
Closes #113
2019-05-06 11:23:28 +02:00
David Čermák c4fdd7759c Merge branch 'bugfix/recv_empty_payload' into 'idf'
Added support for receiving empty payload

See merge request idf/esp-mqtt!27
2019-04-28 03:42:29 +08:00
Gregory Eslinger 0450bd0093 MQTT Client: Added support for receiving empty payload 2019-04-26 17:07:04 +02:00
David Čermák 55e72e4ded Merge branch 'bugfix/ci_checkout_fix' into 'idf'
ci: fixed incorrect git checkout submodule

See merge request idf/esp-mqtt!24
2019-04-15 00:36:54 +08:00
David Cermak 9d70713b2e ci: fixed incorrect git checkout submodules causing build failures when switching between IDF releases 2019-04-10 14:21:07 +02:00
David Čermák b1aa1d444e Merge branch 'feature/support_for_disconnect_msg' into 'idf'
MQTT Client:  Added disconnect message on client stop

See merge request idf/esp-mqtt!21
2019-03-28 16:56:36 +08:00
Gregory Eslinger caf5007b99 MQTT Client: Added disconnect message on client stop
Closes https://github.com/espressif/esp-mqtt/issues/97 and closes https://github.com/espressif/esp-idf/issues/3215
2019-03-27 17:41:03 +01:00
David Čermák 39118d5182 Merge branch 'feature/update_queue_h' into 'idf'
change rom/queue.h to sys/queue.h

See merge request idf/esp-mqtt!19
2019-03-20 16:23:55 +08:00
suda-morris ca373e22cb change rom/queue.h to sys/queue.h 2019-03-14 20:26:28 +08:00
David Čermák 5a4d5518b2 Merge branch 'bugfix/set_client_state_on_timeout' into 'idf'
Bugfix: state not correctly set on disconnect -- PR from GitHub

See merge request idf/esp-mqtt!18
2019-02-20 21:15:55 +08:00
leewo0 57d2774462 fix bug: client->state not set
If auto_reconnect is disabled, client->state won't be setted in MQTT_STATE_WAIT_TIMEOUT statement, which results in an error if esp_mqtt_client_start() is called.
2019-02-20 16:49:46 +08:00
David Čermák 15818b3a50 Merge branch 'feature/resend_qos12_rebased' into 'idf'
Updated MQTT library

See merge request idf/esp-mqtt!17
2019-02-16 03:58:15 +08:00
David Cermak 3300338c85 tabs to spaces corrections 2019-02-13 15:21:32 +01:00
David Cermak 51089629f7 corrected outbox for oversized messge and qos1, added errno to error messages 2019-02-13 15:21:32 +01:00
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