Thomas Bernard
cbae6343e9
fix deadlock between xEventGroupWaitBits and API lock semaphore
...
Merges https://github.com/espressif/esp-mqtt/pull/124
Closes https://github.com/espressif/esp-mqtt/issues/122
2019-08-08 11:54:42 +02:00
David Cermak
117eef2dad
psk ssl could be used to authenticate with mqtt broker as an alternative to cerificate verification
...
Closes https://github.com/espressif/esp-mqtt/issues/95
2019-07-22 14:26:47 +02:00
David Cermak
0cc4077bd3
modified error type to be a generic handle to capture different types of errors
2019-07-04 09:12:40 +02:00
David Cermak
65bf2255d7
adding error event with error code
2019-07-03 08:49:54 +02:00
David Cermak
d9faeb47a3
fix resending subscribe messages
...
subscribe and unsubscribe messages were pushed to queue, but TRANSMIT flag wasn't set, so they were automatically retransmitted
2019-06-27 16:39:42 +02:00
David Cermak
82fa03a508
fixed possible race conditions in public API of mqtt_client
...
- Modified most of the public API to lock even if checking for connection state
- Updated `esp_mqtt_set_config` locks to be used also from callbacks (in mqtt-task context)
- Moved initialization of event_loop out of esp_mqtt_set_config
2019-06-27 16:36:12 +02:00
Gregory Eslinger
7223302deb
MQTT Client: Check for connection before sending disconnect message
...
Closes https://github.com/espressif/esp-idf/issues/3619
Closes https://github.com/espressif/esp-mqtt/issues/120
Merges https://github.com/espressif/esp-mqtt/pull/118
Signed-off-by: David Cermak <cermak@espressif.com >
2019-06-27 16:33:58 +02:00
David Cermak
edd67e1c8c
used event loop only if defined in supported features (enabled by macros) for backward compatibily with older IDFs
2019-06-06 17:00:03 +02:00
David Cermak
48cd04baf1
defined macros for supported features in esp-idf based on idf version
2019-05-29 14:05:49 +02:00
Tuan
a6f8716fff
Add mqtt sub protocol for websocket
2019-05-24 09:29:31 +02:00
David Cermak
eeebd0215c
support for esp event loop library while keeping backward compatible mode if callback configured
2019-05-16 16:29:33 +02:00
David Cermak
18b6f2c582
Fixed formatting for all files to comply with idf style formats
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
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
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
Gregory Eslinger
0450bd0093
MQTT Client: Added support for receiving empty payload
2019-04-26 17:07:04 +02: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
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 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
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
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
Tuan
2b49d37f8d
Add BEFORE_CONNECt event and refresh the connection option
2018-11-09 23:26:35 +08: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
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
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
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 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
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
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
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
Tony
4c19674b16
Adding disconnection if no PINGRESP ( #54 )
...
* Adding disconnection if no pingresp
* Initializing wait_for_ping_resp to false
* Setting wait_for_ping_resp to false if aborting connection or when sending connect
2018-08-06 13:18:12 +07:00
Tony
da573b482b
Adding ESP32 core selection for MQTT task ( #53 )
...
* Adding core selection in KConfig and starting thread with those parameters
* Updating for code consistency
2018-07-25 13:58:38 +07:00
Ivan Aponte
87ef46a9b4
fix some keepalives issues ( #51 )
...
* merge some changes
* fix blocking issue
2018-06-01 23:06:53 +07:00