58494cd0a7
Move ftpSrv.handleFTP() from Arduino loop() into a dedicated FreeRTOS task pinned to core 0, leaving core 1 free for LVGL display updates. FTP callbacks now only set volatile flags (ftp_ui_dirty, ftp_sd_dirty) which the main loop polls to safely update UI and NeoPixel from core 1. This eliminates the 20-second PASV data connection timeouts caused by handleFTP() competing with display.update() for CPU time. Also fix pre-existing BLACK constant build error in display_manager.cpp.
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into the executable file.
The source code of each library should be placed in a separate directory
("lib/your_library_name/[Code]").
For example, see the structure of the following example libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional. for custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
Example contents of `src/main.c` using Foo and Bar:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
The PlatformIO Library Dependency Finder will find automatically dependent
libraries by scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html