Commit Graph
476 Commits
Author SHA1 Message Date
Tuan 332fadfea6 esp_websocket_client: Add websocket client component
Closes https://github.com/espressif/esp-idf/issues/2829
2022-12-16 08:38:48 +01:00
David Cermak 3a2e82ec0f mqtt: added support for esp event loop, updating examples to register and use event loop handler 2022-12-16 08:38:48 +01:00
David Cermak 7f77ad063d mqtt_tests: add weekend test for sending and receiving empty payload messages, update config options per new naming convetions 2022-12-16 08:38:48 +01:00
David Cermak 6809fcb2df tcp_transport: modified ws_read to read payload directly to the read buffer and separately from header bytes
Previous version read all data to the buffer including header which reduced maximum payload read. This version uses a local array to receive header and reads payload bytes to the buffer
2022-12-16 08:38:48 +01:00
David Cermak 6b70e14236 mqtt tests: adding weekend test for mqtt library to exercise publishing/receiving different data and references esp-mqtt commits to pass these tests
testing conditions:
transports (tcp, ssl, ws..)
qos (0, 1, 2)
short repeated messages (packed packets)
oversized messages (fragmented packets)
publish from a different thread

Closes https://github.com/espressif/esp-idf/issues/2870 by means of including commit 815623dfe5 from esp-mqtt
Closes https://github.com/espressif/esp-idf/issues/2975 by means of including commit 752953dc3b from esp-mqtt
Closes https://github.com/espressif/esp-idf/issues/2850 by means of including commits df455d2a5f 17fd713bce from esp-mqtt
2022-12-16 08:38:48 +01:00
morris e19b9aa2df separate rom from esp32 component to esp_rom
1. separate rom include files and linkscript to esp_rom
2. modefiy "include rom/xxx.h" to "include esp32/rom/xxx.h"
3. Forward compatible
4. update mqtt
2022-12-16 08:38:48 +01:00
Roland Dobai 9726859fa3 Correct Kconfigs according to the coding style 2022-12-16 08:38:48 +01:00
David Cermak 7437dce403 mqtt: support for BEFORE_CONNECT event in idf
Updated examples to use new event id, idf to use mqtt with fixed retained, oversized messages
2022-12-16 08:38:48 +01:00
David Cermak 60e39865e6 mqtt: ssl mutual authentication example added per PR from github, corrected cmake build, updated per idf style
Merges https://github.com/espressif/esp-idf/pull/2490
2022-12-16 08:38:48 +01:00
Anton Maklakov 14e9df14ff tcp_transport: Remove the ignore warning because we had idf/esp-idf!3359 2022-12-16 08:38:48 +01:00
David Cermak a31ede754f tcp_transport: transport set handle refactoring, web socket client name updated 2022-12-16 08:38:48 +01:00
David Cermak 229167f48a tcp_transport: renamed possibly generic function names to be esp_ prefixed and not to colide with user namespace 2022-12-16 08:38:48 +01:00
David Cermak 71d6861d6a tcp_transport: renamed transport related header files to esp_ prefixed to avoid collisions
tcp_transport component used public header files such as 'transport.h', etc. which are too generic and might collide with user or user libraries headers
This change closes #2417
2022-12-16 08:38:48 +01:00
Angus Gratton 78233fe7de doc: Re-add summaries of what children each menu item has
Slightly different to the original version of this, but same goal.
2022-12-16 08:38:48 +01:00
Anton Maklakov 1d49ac3249 mqtt: silence a format warning 2022-12-16 08:38:48 +01:00
Renz Bagaporo 20dda12b88 mqtt: list files manually in component cmake file 2022-12-16 08:38:48 +01:00
David Cermak 24b656ca4b MQTT: Moved Kconfig from esp-mqtt submodule to esp-idf to support docs genration in RTD 2022-12-16 08:38:48 +01:00
David Cermak c5069977a4 MQTT: Integrate esp-mqtt library into idf
added docs and tests for mqtt library, small fixes (removed warnings, option for custom outbox, websocket bug fixed for longer transports). refactored to use common tcp_transport component, support for CMake build system.
Closes #2108
2022-12-16 08:38:48 +01:00
David Čermák d5a2c0a7c6 Merge branch 'bugfix/subscribe_error_detection' into 'master'
Fix error code verification on SUBSCRIBE error

See merge request espressif/esp-mqtt!155
2022-12-15 18:59:01 +08:00
Euripedes Rocha d1f6ad23b7 Fix error code verification on SUBSCRIBE error
- Return codes other than 0x1, 0x2, 0x3 and 0x80 are reserved and
  forbidden by the specification.
2022-12-05 15:22:48 +01:00
David Čermák fde00340f1 Merge branch 'bugfix/event_queue_disabled_deafult' into 'master'
Fix the default configuration for event queue

See merge request espressif/esp-mqtt!153
2022-11-23 22:17:25 +08:00
Rocha Euripedes fb42588a03 Fix the default configuration for event queue
- Event queue should be disabled, making it an opt-in feature.
2022-11-23 20:40:31 +08:00
David Čermák 3e0a118e0b Merge branch 'bugfix/missing_header' into 'master'
Adds missing header.

See merge request espressif/esp-mqtt!152
2022-11-04 00:26:54 +08:00
Euripedes Rocha 8a6005781d Adds missing header.
- esp_heap_caps is directly needed and wasn't included.
- For target it's indirecly included but for host test it's needed.
2022-11-03 15:26:43 +01:00
David Čermák e80f3e6a87 Merge branch 'bugfix/stop_in_wait_reconnection' into 'master'
Moves state change when stopping the client

See merge request espressif/esp-mqtt!150
2022-10-26 21:19:00 +08:00
Euripedes Rocha 3738fcd196 Moves state change when stopping the client
- In some situations client could be left in a state where it's
  impossible to restart due to a state change while waiting for the
  stop. This guarantee that it's possible to start after calling stop.

Closes https://github.com/espressif/esp-mqtt/issues/239
2022-10-26 14:37:28 +02:00
David Čermák 5f297c0d62 Merge branch 'bugfix/set_error_on_subscribe_failure' into 'master'
Adds error code to MQTT_EVENT_SUBSCRIBED in case of failure

See merge request espressif/esp-mqtt!143
2022-10-21 23:46:02 +08:00
Euripedes Rocha 9af5c26045 Adds error code to MQTT_EVENT_SUBSCRIBED in case of failure
- Payload data parsed for error codes. Check only for first filter
  because our subscribe function only handle one topic filter in each
  call.

- Closes https://github.com/espressif/esp-mqtt/issues/233
2022-10-20 13:29:16 +02:00
David Čermák 2b52b50a6b Merge branch 'feature/debug_retry' into 'master'
Adds debug information on sending dup messages

See merge request espressif/esp-mqtt!145
2022-10-04 13:15:50 +08:00
Euripedes Rocha 47b3f9b899 Adds debug information on sending dup messages
- To support debug of resending dup messages QoS 1 and 2 a debug
  log was added.
2022-10-03 07:43:01 +00:00
David Čermák a87fd9c738 Merge branch 'bugfix/ci_qemu' into 'master'
ci: Fix qemu build

See merge request espressif/esp-mqtt!147
2022-09-30 22:44:15 +08:00
David Cermak 68e8c4f829 ci: Fix qemu build 2022-09-30 16:14:36 +02:00
David Čermák 5688a84cbc Merge branch 'bugfix/extend_ci_idf_v5.1' into 'master'
ci: Build and Test QEMU on v5.0

See merge request espressif/esp-mqtt!142
2022-08-19 23:45:43 +08:00
David Cermak 9db9ee7648 ci: Build and Test QEMU on v5.0
* Patch the QEMU build
* Use public containers for build only tests on v5.0 and master
2022-08-18 16:51:16 +02:00
David Čermák 5f3cadb44d Merge branch 'bugfix/user_events' into 'master'
client: Add support for user events

See merge request espressif/esp-mqtt!140
2022-08-16 21:30:58 +08:00
David Cermak 97503cceb3 client: Add support for user events
Also supporting configurable queue size for the internal event loop.

Closes https://github.com/espressif/esp-mqtt/issues/230
2022-07-29 09:08:52 +02:00
David Čermák 9186e5fa00 Merge branch 'feature/unregister_event_api' into 'master'
Adds unregister event API

See merge request espressif/esp-mqtt!139
2022-07-28 21:07:25 +08:00
Euripedes Rocha a9a9fe76bf Adds unregister event API
- Added to enable users to unregister event handler.

 Closes https://github.com/espressif/esp-idf/issues/9194
2022-07-28 10:36:24 +00:00
David Čermák f14eeb9157 Merge branch 'feature/mqtt_config_struct_review' into 'master'
Restructure the client configuration struct

See merge request espressif/esp-mqtt!130
2022-07-20 18:40:24 +08:00
Euripedes Rocha ae53d799da Restructure the client configuration struct
- Groups configuration fields by context.
- Removes user_context in favor of the event loop.
2022-07-13 08:37:20 -03:00
David Čermák 9a56b2f086 Merge branch 'bugfix/ping_timer_restart' into 'master'
MQTT tick not starting on connect and switch to esp_timer

See merge request espressif/esp-mqtt!138
2022-07-05 20:09:11 +08:00
Euripedes Rocha 89e5c6014f fix: MQTT tick not starting on connect and switch to esp_timer
- Tick should be updated on connect
- Dependency of system timer removed to avoid issues when updating via
  SNTP

Closes https://github.com/espressif/esp-mqtt/issues/225
2022-06-23 12:43:58 -03:00
David Čermák 493822dc9d Merge branch 'feature/support_mqtt_5' into 'master'
mqtt: Support MQTT5 protocol

See merge request espressif/esp-mqtt!125
2022-06-14 21:40:57 +08:00
yuanjm fdf2aeb36f Seperate MQTT5 from MQTT 3.1.1 2022-06-14 09:37:46 +00:00
yuanjm 3d275f42b9 mqtt: Support MQTT5 protocol 2022-06-14 09:37:46 +00:00
David Čermák 0aa0a342a1 Merge branch 'bugfix/mqtt_ssl_build' into 'master'
mqtt_tcp: Fix build issue when `MQTT_ENABLE_SSL` is disabled

See merge request espressif/esp-mqtt!137
2022-06-14 17:31:41 +08:00
Laukik Hase 7253211a45 mqtt_tcp: Fix build issue when MQTT_SSL is disabled 2022-06-14 13:43:45 +05:30
David Čermák a21c387d62 Merge branch 'refactor/tcp_transport' into 'master'
mqtt_client: Added checks for cleanly-closed connection and timeout

See merge request espressif/esp-mqtt!118
2022-06-09 15:20:24 +08:00
David Čermák 7a31a555e9 Merge branch 'bugfix/fix_esp_mqtt_client_enqueue' into 'master'
mqtt_client: fix esp_mqtt_client_enqueue for len=0 (GitHub PR)

See merge request espressif/esp-mqtt!135
2022-06-08 19:33:38 +08:00
David Čermák 16952ea66f Merge branch 'bugfix/implicit_malloc_host_test' into 'master'
Fix implicit malloc/free inclusion

See merge request espressif/esp-mqtt!134
2022-06-08 18:52:04 +08:00