From 11e21ae326310bba2da61f9fb196356088924c9b Mon Sep 17 00:00:00 2001 From: Suren Gabrielyan Date: Tue, 30 Jan 2024 16:40:48 +0400 Subject: [PATCH] fix(websocket): added dependency checks, sdkconfig.defaults and refined README.md --- .../examples/linux/README.md | 28 ++++++++++++++++++- .../examples/linux/main/idf_component.yml | 1 + .../examples/linux/sdkconfig.defaults | 8 ++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 components/esp_websocket_client/examples/linux/sdkconfig.defaults diff --git a/components/esp_websocket_client/examples/linux/README.md b/components/esp_websocket_client/examples/linux/README.md index 08c322725ba..7f0a921347f 100644 --- a/components/esp_websocket_client/examples/linux/README.md +++ b/components/esp_websocket_client/examples/linux/README.md @@ -3,7 +3,33 @@ This example demonstrates the ESP websocket client using the `linux` target. It allows for compilation and execution of the example directly within a Linux environment. ## Compilation and Execution -To compile and execute this example on Linux, follow the standard procedures for building and running ESP-IDF projects under the Linux platform. + +To compile and execute this example on Linux need to set target `linux` + +``` +idf.py --preview set-target linux +idf.py build +./websocket.elf +``` + +## Example Output + +``` +I (164532) websocket: [APP] Startup.. +I (164532) websocket: [APP] Free memory: 4294967295 bytes +I (164532) websocket: [APP] IDF version: v5.3-dev-1353-gb3f7e2c8a4 +I (164538) websocket: Connecting to ws://echo.websocket.events... +W (164538) websocket_client: `reconnect_timeout_ms` is not set, or it is less than or equal to zero, using default time out 10000 (milliseconds) +W (164538) websocket_client: `network_timeout_ms` is not set, or it is less than or equal to zero, using default time out 10000 (milliseconds) +I (165103) websocket: WEBSOCKET_EVENT_CONNECTED +I (165539) websocket: Sending hello 0000 +I (165627) websocket: WEBSOCKET_EVENT_DATA +I (165627) websocket: Received opcode=1 +W (165627) websocket: Received=hello 0000 +W (165627) websocket: Total payload length=10, data_len=10, current payload offset=0 + +I (166539) websocket: Sending fragmented message +``` ## Coverage Reporting For generating a coverage report, it's necessary to enable `CONFIG_GCOV_ENABLED=y` option. Set the following configuration in your project's SDK configuration file (`sdkconfig.ci.coverage`, `sdkconfig.ci.linux` or via `menuconfig`): diff --git a/components/esp_websocket_client/examples/linux/main/idf_component.yml b/components/esp_websocket_client/examples/linux/main/idf_component.yml index 718194867b7..1ca7c868010 100644 --- a/components/esp_websocket_client/examples/linux/main/idf_component.yml +++ b/components/esp_websocket_client/examples/linux/main/idf_component.yml @@ -1,3 +1,4 @@ dependencies: + idf: ">5.2" protocol_examples_common: path: ${IDF_PATH}/examples/common_components/protocol_examples_common diff --git a/components/esp_websocket_client/examples/linux/sdkconfig.defaults b/components/esp_websocket_client/examples/linux/sdkconfig.defaults new file mode 100644 index 00000000000..dfb14cb63c1 --- /dev/null +++ b/components/esp_websocket_client/examples/linux/sdkconfig.defaults @@ -0,0 +1,8 @@ +CONFIG_IDF_TARGET="linux" +CONFIG_IDF_TARGET_LINUX=y +CONFIG_ESP_EVENT_POST_FROM_ISR=n +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=n +CONFIG_WEBSOCKET_URI="ws://echo.websocket.events" +CONFIG_WEBSOCKET_URI_FROM_STRING=y +CONFIG_WEBSOCKET_URI_FROM_STDIN=n +CONFIG_EXAMPLE_CONNECT_WIFI=n