Commit Graph

77 Commits

Author SHA1 Message Date
hrushikesh.bhosale
9846584def feat(esp_http_server): Modified the calculation of buf_len
Modified the calculation of buf_len, so that scratch buffer allocates
the memory according to requirement and not extra (except the last read chunk)
2025-02-13 17:15:07 +05:30
Mahavir Jain
6502148fdc fix(examples): simple http_server example build for Linux target
Static task creation on Linux target had issues with insufficient stack
memory allocation. Type of `StackType_t` is `unsigned long` and hence
it must be considered during stack memory allocation.

Fix ensures proper working of simple HTTP server example.
2025-01-10 09:50:18 +05:30
Hrushikesh Bhosale
d90bd6a179 Merge branch 'feature/add_sse_demo_in_https_server_example' into 'master'
feat(http_server): Added Server Sent Events demo

Closes IDFGH-12605

See merge request espressif/esp-idf!33939
2024-12-06 15:44:01 +08:00
hrushikesh.bhosale
696b32c942 feat(https_server): Added Server Sent Events demo
This commit adds the demo of Server Sent Events
functionality in the https_server/simple example
Closes https://github.com/espressif/esp-idf/issues/13603

Co-authored-by: default avatarAditya Patwardhan <aditya.patwardhan@espressif.com>
2024-12-04 14:26:21 +05:30
Frantisek Hrbata
1c92945f59 change(examples): switch examples to use a minimal build
Currently, several example dependencies rely on the fact that all
registered components are added to the build, along with components
specified in common requirements. This results in longer build times
because even unused components must be built. Switch all examples to use
idf_minimal_build to compile only the components actually required by
the example.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 20:14:40 +01:00
Frantisek Hrbata
ad15109daa change(examples): explicitly specify component dependencies for examples
Currently, several examples do not explicitly state their component
dependencies, relying instead on the default behavior that includes all
registered components and commonly required ones in the build.
Explicitly adding component dependencies can reduce build time when
set(COMPONENTS main) is used.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 14:11:24 +01:00
Ondrej Kosta
301e67157b ci(esp_eth): enabled build and test for c61 in eth/proto examples 2024-09-18 08:44:58 +02:00
Ondrej Kosta
dd81b56fb6 feat(esp_eth): removed disable of C5 and P4 from examples .build-test-rules
Updated examples to be able to build for C5 and P4.

Added Ethernet support for static_ip example.
2024-08-14 10:07:48 +02:00
Ondrej Kosta
d15a9c2c48 feat(esp_eth): a new folder structure of the driver and other improvements
Fixed memory leak in emac_esp_new_dma function.

Polished ESP EMAC cache management.

Added emac_periph definitions based on SoC features and improved(generalized) ESP EMAC GPIO
initialization.

Added ESP EMAC GPIO reservation.

Added check for frame error condition indicated by EMAC DMA and created a target test.
2024-05-14 08:23:31 +02:00
Harshit Malpani
2df1ba8535 docs: Update App Utils programming guide docs for ESP32P4
Re-enable protocol and ota examples for ESP32P4
2024-02-23 12:33:11 +05:30
Harshit Malpani
1d81af367d feat: support HTTP_ANY method in esp_http_server
Closes https://github.com/espressif/esp-idf/issues/12794
2024-01-15 14:32:06 +05:30
Harshit Malpani
e636c680a5 fix: Check memory allocation failures in protocol examples 2024-01-03 15:23:53 +05:30
Jakob Hasse
548022fbe6 refactor(linux): excluded all non-Linux components from build
* All components which won't build (yet) on Linux are excluded.
  This enables switching to Linux in an application without
  explicitly setting COMPONENTS to main in the main
  CMakeLists.txt.
* ESP Timer provides headers for Linux now
* automatically disabling LWIP in Kconfig if it is not available

doc(linux): brought section
  "Component Linux/Mock Support Overview" up to date
2023-10-16 17:06:54 +08:00
Harshit Malpani
0798691bf0 fix: Fix protocols example to build without setting target
Protocol examples used to raise an error if the target was not set
and `idf.py build` command was used. This commit fix this error
and when IDF_TARGET is not set, ESP32 is selected as default target
2023-09-20 17:50:16 +05:30
Ivan Grokhotkov
6d87100a70 feat(examples): add local components via idf_component.yml
Specifying all the dependencies (managed and local) in the manifest
makes it easier for users to see every component the example
depends on.
2023-09-19 10:38:24 +02:00
Euripedes Rocha
4778d9b477 protocols/examples: Disable Wifi connection if not supported
- Disable Kconfig option for Wifi if not supported by the SoC
- Enable building mqtt examples when target is set to esp32h2
2023-05-30 13:26:45 +02:00
David Cermak
b2af4d9689 lwip/linux: Add lwip support for networking component under linux
linux/lwip: Wrap some IO posix functions
* to workaourd the FreeRTOS EINTR issue (when building without lwip)
* to correctly choose the sub-system based on fd (when building with
lwip) -- passing control to either linux/system or to lwip
This commit also addapts tapio-if to provide DHCP client by default and
configurable settings for static IP
2023-05-05 05:03:39 +00:00
Harshit Malpani
7f683f0996 Remove nvs_flash.h from protocols/linux_stubs 2023-03-31 16:42:06 +05:30
Harshit Malpani
345e38a3f0 Update http_server/simple example to build for Linux target 2023-03-31 16:42:06 +05:30
David Cermak
5f6cb31105 lwip: Support IPv6 only mode 2023-02-27 08:53:34 +01:00
Laukik Hase
167618d6a4 examples/protocols: Added URI encoding/decoding feature
- http_server/simple: Decoding received query
  - esp_http_client: Sending encoded query
2023-01-25 17:47:14 +05:30
Chen Yudong
c07d237ffe examples: enable build esp32c6 for wifi and network examples 2023-01-12 14:50:06 +08:00
Chen Yudong
8aca3932b0 CI: enable more wifi cases 2023-01-06 06:03:52 +00:00
simon.chupin
35dda59209 tools: remove the dependency on the future package 2022-08-09 16:46:58 +02:00
Chen Yudong
d54e1e8379 CI: make sure that reading of the ipv4 address has finished 2022-07-15 14:21:39 +08:00
Chen Yudong
2f75733ad7 CI: Improve common test methods
also fix ota test cases
2022-07-15 14:21:34 +08:00
Chen Yudong
692fbc169c CI: use ssid password from stdin for pytest cases 2022-07-15 01:16:36 +08:00
Chen Yudong
472ac26712 CI: update test cases to use different environment variables
change test environments
optimize asio udp server test
fix icmp echo test case
use ethernet_router env to run iperf test cases
2022-07-15 01:16:35 +08:00
Fu Hanxi
c0568611dd docs: changes docs supported targets tables 2022-07-14 08:26:32 +08:00
Harshit Malpani
83ace52a36 http examples pytest migration 2022-06-03 16:00:52 +05:30
Michael (XIAO Xufeng)
f7be540222 ci: partially enable example build for esp32c2 2022-06-02 14:17:31 +08:00
Djordje Nedic
facab8c5a7 tools: Increase the minimal supported CMake version to 3.16
This updates the minimal supported version of CMake to 3.16, which in turn enables us to use more CMake features and have a cleaner build system.
This is the version that provides most new features and also the one we use in our latest docker image for CI.
2022-06-01 06:35:02 +00:00
Harshit Malpani
2c56c6cad8 Updated coding style and added error logs 2022-05-11 08:58:01 +00:00
Nathan Phillips
e8e63a06e8 Don't ignore return value of httpd_stop 2022-05-11 08:58:01 +00:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Harshit Malpani
294b805f31 docs: Updated protocols/http* examples READMEs 2021-09-13 09:55:19 +05:30
Shubham Kulkarni
0a395134d4 Split example_tests with Example_WIFI tag group into Example_OTA and Example_Protocols 2021-04-15 04:00:06 +00:00
mjcross
03901946ba Explain how to fix 'httpd_parse: header too long'
Because this is the 'simple' server example, it is probably where users will start out to understand the HTTP Server API; and also where they might come if they are having problems.
So I think it is useful to explain to users what to do if they see "httpd_parse: parse_block: request URI/header too long", which can easily happen if they submit a POST from an HTML form (for example). That certainly would have helped me!

Merges https://github.com/espressif/esp-idf/pull/6547

Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
2021-03-04 04:08:47 +00:00
Fu Hanxi
fc7b962e54 bugfix: fix http_server example sdkconfig file name 2021-02-22 15:50:52 +08:00
Liu Han
94512a76b7 example/http_server: add basic authenticated example to HTTP server
Closes https://github.com/espressif/esp-idf/issues/5646
2021-02-10 05:23:01 +00:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Shubham Kulkarni
59869bf610 http_server example: Add example test which opens multiple connections 2021-01-15 05:53:41 +00:00
He Yin Ling
a908174c06 test: remove fake binary size check in example test:
the binary size check in example test was removed long time ago. Now we
have updated ttfw_idf to raise exception when performance standard is
not found. These fake performance check will be regarded as error.
Remove them now.
2020-11-24 17:53:33 +08:00
Chen Yu Dong
454edcc0a8 ci: all jobs use python3 by default 2020-11-19 03:27:58 +00:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
sU8U7SfkcwTJVH7PjaVmej7D
6673407f98 httpd_resp_send: use HTTPD_RESP_USE_STRLEN when possible 2020-07-13 05:34:56 +00:00
Roland Dobai
15884eccf2 Add multi-target support for performance tests 2020-03-09 13:41:56 +01:00
Roland Dobai
5c0cd9417d Docs: Encourage to used Python 3 2020-02-24 12:55:55 +01:00
David Cermak
31b2702387 esp_netif, examples: esp_netif_init() moved into ESP_ERROR_CHECK()
esp_netif_init() returns standard esp_err_t error code (unlike tcpip_adapter init), so shall be checked for the return value
Also to make the initialization code more consistent.
2019-12-17 09:07:49 +01:00
He Yin Ling
c906e2afee test: update example and unit tests with new import roles:
tiny_test_fw is a python package now. import it using normal way.
2019-12-07 10:34:54 +08:00