From 4ece183a5c12889d99a606dc3fd53f90b90007e6 Mon Sep 17 00:00:00 2001 From: Mathieu Carbou Date: Mon, 20 Jan 2025 15:25:05 +0100 Subject: [PATCH] Prepare move to https://github.com/organizations/ESP32Async --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- README.ESP32Async.md | 62 +++++++++++++++++++++++++++ README.md | 63 +--------------------------- library.json | 16 +++---- library.properties | 7 ++-- src/AsyncTCP.h | 2 +- 6 files changed, 76 insertions(+), 76 deletions(-) create mode 100644 README.ESP32Async.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 8e2c31c..935eb4f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -9,7 +9,7 @@ assignees: '' **Please make sure to go through the recommendations before opening a bug report:** -[https://github.com/mathieucarbou/AsyncTCP?tab=readme-ov-file#important-recommendations](https://github.com/mathieucarbou/AsyncTCP?tab=readme-ov-file#important-recommendations) +[https://github.com/ESP32Async/AsyncTCP?tab=readme-ov-file#important-recommendations](https://github.com/ESP32Async/AsyncTCP?tab=readme-ov-file#important-recommendations) **Description** diff --git a/README.ESP32Async.md b/README.ESP32Async.md new file mode 100644 index 0000000..f0510fd --- /dev/null +++ b/README.ESP32Async.md @@ -0,0 +1,62 @@ +# AsyncTCP + +[![License: LGPL 3.0](https://img.shields.io/badge/License-LGPL%203.0-yellow.svg)](https://opensource.org/license/lgpl-3-0/) +[![Continuous Integration](https://github.com/ESP32Async/AsyncTCP/actions/workflows/ci.yml/badge.svg)](https://github.com/ESP32Async/AsyncTCP/actions/workflows/ci.yml) +[![PlatformIO Registry](https://badges.registry.platformio.org/packages/ESP32Async/library/AsyncTCP.svg)](https://registry.platformio.org/libraries/ESP32Async/AsyncTCP) + +Discord Server: [https://discord.gg/X7zpGdyUcY](https://discord.gg/X7zpGdyUcY) + +### Async TCP Library for ESP32 Arduino + +This is a fully asynchronous TCP library, aimed at enabling trouble-free, multi-connection network environment for Espressif's ESP32 MCUs. + +This library is the base for [ESPAsyncWebServer](https://github.com/ESP32Async/ESPAsyncWebServer) + +## AsyncClient and AsyncServer + +The base classes on which everything else is built. They expose all possible scenarios, but are really raw and require more skills to use. + +## Changes in this fork + +- Based on [ESPHome fork](https://github.com/esphome/AsyncTCP) + +- `library.properties` for Arduino IDE users +- Add `CONFIG_ASYNC_TCP_MAX_ACK_TIME` +- Add `CONFIG_ASYNC_TCP_PRIORITY` +- Add `CONFIG_ASYNC_TCP_QUEUE_SIZE` +- Add `setKeepAlive()` +- Arduino 3 / ESP-IDF 5 compatibility +- Better CI +- Better example +- Customizable macros +- Fix for "Required to lock TCPIP core functionality". Ref: https://github.com/ESP32Async/AsyncTCP/issues/27 and https://github.com/espressif/arduino-esp32/issues/10526 +- Fix for "ack timeout 4" client disconnects. +- Fix from https://github.com/me-no-dev/AsyncTCP/pull/173 (partially applied) +- Fix from https://github.com/me-no-dev/AsyncTCP/pull/184 +- IPv6 +- LIBRETINY support +- LibreTuya +- Reduce logging of non critical messages +- Use IPADDR6_INIT() macro to set connecting IPv6 address +- xTaskCreateUniversal function + +## Coordinates + +``` +ESP32Async/AsyncTCP @ ^3.3.2 +``` + +## Important recommendations + +Most of the crashes are caused by improper configuration of the library for the project. +Here are some recommendations to avoid them. + +I personally use the following configuration in my projects: + +```c++ + -D CONFIG_ASYNC_TCP_MAX_ACK_TIME=5000 // (keep default) + -D CONFIG_ASYNC_TCP_PRIORITY=10 // (keep default) + -D CONFIG_ASYNC_TCP_QUEUE_SIZE=64 // (keep default) + -D CONFIG_ASYNC_TCP_RUNNING_CORE=1 // force async_tcp task to be on same core as the app (default is core 0) + -D CONFIG_ASYNC_TCP_STACK_SIZE=4096 // reduce the stack size (default is 16K) +``` diff --git a/README.md b/README.md index 5e14ef0..c36f757 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,3 @@ -# AsyncTCP +![https://avatars.githubusercontent.com/u/195753706?s=96&v=4](https://avatars.githubusercontent.com/u/195753706?s=96&v=4) -[![License: LGPL 3.0](https://img.shields.io/badge/License-LGPL%203.0-yellow.svg)](https://opensource.org/license/lgpl-3-0/) -[![Continuous Integration](https://github.com/mathieucarbou/AsyncTCP/actions/workflows/ci.yml/badge.svg)](https://github.com/mathieucarbou/AsyncTCP/actions/workflows/ci.yml) -[![PlatformIO Registry](https://badges.registry.platformio.org/packages/mathieucarbou/library/AsyncTCP.svg)](https://registry.platformio.org/libraries/mathieucarbou/AsyncTCP) - -A fork of the [AsyncTCP](https://github.com/me-no-dev/AsyncTCP) library by [@me-no-dev](https://github.com/me-no-dev). - -### Async TCP Library for ESP32 Arduino - -This is a fully asynchronous TCP library, aimed at enabling trouble-free, multi-connection network environment for Espressif's ESP32 MCUs. - -This library is the base for [ESPAsyncWebServer](https://github.com/mathieucarbou/ESPAsyncWebServer) - -## AsyncClient and AsyncServer - -The base classes on which everything else is built. They expose all possible scenarios, but are really raw and require more skills to use. - -## Changes in this fork - -- Based on [ESPHome fork](https://github.com/esphome/AsyncTCP) - -- `library.properties` for Arduino IDE users -- Add `CONFIG_ASYNC_TCP_MAX_ACK_TIME` -- Add `CONFIG_ASYNC_TCP_PRIORITY` -- Add `CONFIG_ASYNC_TCP_QUEUE_SIZE` -- Add `setKeepAlive()` -- Arduino 3 / ESP-IDF 5 compatibility -- Better CI -- Better example -- Customizable macros -- Fix for "Required to lock TCPIP core functionality". Ref: https://github.com/mathieucarbou/AsyncTCP/issues/27 and https://github.com/espressif/arduino-esp32/issues/10526 -- Fix for "ack timeout 4" client disconnects. -- Fix from https://github.com/me-no-dev/AsyncTCP/pull/173 (partially applied) -- Fix from https://github.com/me-no-dev/AsyncTCP/pull/184 -- IPv6 -- LIBRETINY support -- LibreTuya -- Reduce logging of non critical messages -- Use IPADDR6_INIT() macro to set connecting IPv6 address -- xTaskCreateUniversal function - -## Coordinates - -``` -mathieucarbou/AsyncTCP @ ^3.3.2 -``` - -## Important recommendations - -Most of the crashes are caused by improper configuration of the library for the project. -Here are some recommendations to avoid them. - -I personally use the following configuration in my projects: - -```c++ - -D CONFIG_ASYNC_TCP_MAX_ACK_TIME=5000 // (keep default) - -D CONFIG_ASYNC_TCP_PRIORITY=10 // (keep default) - -D CONFIG_ASYNC_TCP_QUEUE_SIZE=64 // (keep default) - -D CONFIG_ASYNC_TCP_RUNNING_CORE=1 // force async_tcp task to be on same core as the app (default is core 0) - -D CONFIG_ASYNC_TCP_STACK_SIZE=4096 // reduce the stack size (default is 16K) -``` +# Project moved to [ESP32Async](https://github.com/organizations/ESP32Async) organization at [https://github.com/ESP32Async/AsyncTCP](https://github.com/ESP32Async/AsyncTCP) diff --git a/library.json b/library.json index 1e5f045..7e41f19 100644 --- a/library.json +++ b/library.json @@ -5,17 +5,13 @@ "keywords": "async,tcp", "repository": { "type": "git", - "url": "https://github.com/mathieucarbou/AsyncTCP.git" + "url": "https://github.com/ESP32Async/AsyncTCP.git" + }, + "authors": + { + "name": "ESP32Async", + "maintainer": true }, - "authors": [ - { - "name": "Hristo Gochkov" - }, - { - "name": "Mathieu Carbou", - "maintainer": true - } - ], "license": "LGPL-3.0", "frameworks": "arduino", "platforms": [ diff --git a/library.properties b/library.properties index 23e10ab..6bde633 100644 --- a/library.properties +++ b/library.properties @@ -1,10 +1,11 @@ name=Async TCP includes=AsyncTCP.h version=3.3.2 -author=Me-No-Dev -maintainer=Mathieu Carbou +author=ESP32Async +maintainer=ESP32Async sentence=Async TCP Library for ESP32 paragraph=Async TCP Library for ESP32 category=Other -url=https://github.com/mathieucarbou/AsyncTCP.git +url=https://github.com/ESP32Async/AsyncTCP.git architectures=* +license=LGPL-3.0 diff --git a/src/AsyncTCP.h b/src/AsyncTCP.h index 762b1b3..431785f 100644 --- a/src/AsyncTCP.h +++ b/src/AsyncTCP.h @@ -26,7 +26,7 @@ #define ASYNCTCP_VERSION_MAJOR 3 #define ASYNCTCP_VERSION_MINOR 3 #define ASYNCTCP_VERSION_REVISION 2 -#define ASYNCTCP_FORK_mathieucarbou +#define ASYNCTCP_FORK_ESP32Async #include "IPAddress.h" #if ESP_IDF_VERSION_MAJOR < 5