|
1 | | -# Development Setup Guide |
| 1 | +# async-tcp-tests |
2 | 2 |
|
3 | | -This project uses arduino-pico core for debugging RP2040-based Arduino Pico programs with local modifications. |
| 3 | +This repository was initially set as a testbed for debugging and validating fixes for two bugs in the Raspberry Pi Pico SDK. Over time, it evolved into a dedicated environment for developing and testing the async-tcp library. |
4 | 4 |
|
5 | | -## Prerequisites |
| 5 | +## Current Purpose |
6 | 6 |
|
7 | | -- [Arduino Pico](https://github.com/earlephilhower/arduino-pico) core |
8 | | -- [PlatformIO](https://platformio.org/) |
9 | | -- CMSIS-DAP compatible debug probe |
| 7 | +The repository is now focused on testing and demonstrating the async-tcp library, which provides an event-driven, thread-safe TCP client abstraction for the RP2040 platform using async_context and lwIP. |
10 | 8 |
|
11 | | -## Setup Process |
| 9 | +## Quick Start |
12 | 10 |
|
13 | | -1. Clone those repositories: |
| 11 | +To evaluate or build this project: |
14 | 12 |
|
15 | | -```bash |
16 | | -git clone https://github.com/schkovich/arduino-pico.git |
17 | | -cd arduino-pico |
18 | | -git checkout execute_sync_2433 |
19 | | -git submodule update --init |
20 | | -cd .. |
21 | | -git clone [email protected]:schkovich/pico-sdk-tests.git |
22 | | -cd pico-sdk-tests |
23 | | -``` |
| 13 | +1. **Clone this repository:** |
24 | 14 |
|
25 | | -## Project Structure |
| 15 | + ```sh |
| 16 | + git clone https://github.com/schkovich/async-tcp-tests.git |
| 17 | + cd async-tcp-tests |
| 18 | + ``` |
26 | 19 |
|
27 | | -```plaintext |
| 20 | +2. **Initialise and update submodules:** |
28 | 21 |
|
29 | | -├── arduino-pico # Forked arduino-pico core |
30 | | -├── pico-sdk-tests |
31 | | -│ ├── lib |
32 | | -│ ├── .pio # PlatformIO build directory |
33 | | -│ ├── scripts # Debug scripts |
34 | | -│ └── src |
35 | | -``` |
| 22 | + ```sh |
| 23 | + git submodule update --init --recursive |
| 24 | + ``` |
36 | 25 |
|
37 | | -## Project configuration |
38 | | - |
39 | | -The arduino-pico core is configured |
40 | | -in [platformio.ini](https://docs.platformio.org/en/latest/projectconf/index.html#platformio-ini-project-configuration-file) |
41 | | -via [platform_package](https://docs.platformio.org/en/latest/projectconf/sections/env/options/platform/platform_packages.html#platform-packages) |
42 | | -option, pointing to |
43 | | -the [local folder](https://docs.platformio.org/en/latest/core/userguide/pkg/cmd_install.html#local-folder) and “Symbolic |
44 | | -Link” feature: |
45 | | - |
46 | | -```ini |
47 | | -[env:debug] |
48 | | -board = nanorp2040connect |
49 | | -framework = arduino |
50 | | -platform = https://github.com/maxgerhardt/platform-raspberrypi.git |
51 | | -board_build.core = earlephilhower |
52 | | -platform_packages = |
53 | | - framework-arduinopico@symlink://../arduino-pico |
54 | | -``` |
| 26 | +3. **Build and monitor with PlatformIO:** |
55 | 27 |
|
56 | | -## Building Core Components |
| 28 | + ```sh |
| 29 | + pio run |
| 30 | + pio device monitor |
| 31 | + ``` |
57 | 32 |
|
58 | | -The pico-sdk build process: |
| 33 | + For instructions on using async-tcp in a new project, see the [async-tcp README](lib/async-tcp/README.md). |
59 | 34 |
|
60 | | -1. Compiles core SDK libraries |
61 | | -2. Generates boot stage 2 code for different flash chips |
62 | | -3. Produces required build artifacts for both RP2040 and RP2350 |
| 35 | +## Project Structure |
63 | 36 |
|
64 | | -For detailed build steps, |
65 | | -see [make-libpico.sh](https://github.com/schkovich/arduino-pico/blob/execute-sync%407c51742/tools/libpico/make-libpico.sh) |
66 | | -in the arduino-pico core. |
| 37 | +```plaintext |
| 38 | +├── lib |
| 39 | +│ └── async-tcp # async-tcp library as a submodule |
| 40 | +├── scripts # Debug scripts |
| 41 | +├── src # Application source code |
| 42 | +└── docs # Documentation |
| 43 | +``` |
67 | 44 |
|
68 | | -### Development Workflow |
| 45 | +## Notes |
| 46 | +- The repo was formerly named `pico-sdk-tests`. |
| 47 | +- The original pico-sdk bugfixes are now upstream and no longer require local patching. |
| 48 | +- The async-tcp library is under active development and testing here. |
69 | 49 |
|
70 | | -- Pico SDK and async_context are pre-built statically linked to the project |
71 | | -- The project is built using [PlatformIO](https://docs.platformio.org/en/latest/core/index.html) |
72 | | -- Debug using CMSIS-DAP probe |
| 50 | +For more details, see The [Application Workflow](docs/workflow.md). |
0 commit comments