Files
libretiny/docs/project-structure.md
2022-06-02 22:22:19 +02:00

1.9 KiB

Project structure

arduino/
├─ <family name>/               Arduino Core for specific SoC
│  ├─ cores/                        Wiring core files
│  ├─ libraries/                    Supported built-in family libraries
├─ libretuya/
│  ├─ api/                      Library interfaces
│  ├─ common/                   Units common to all families
│  ├─ compat/                   Fixes for compatibility with ESP32 framework
│  ├─ core/                     LibreTuya API for Arduino cores
│  ├─ libraries/                Built-in family-independent libraries
boards/
├─ <board name>/                Board-specific code
│  ├─ variant.cpp                   Arduino variant initialization
│  ├─ variant.h                     Arduino variant pin configs
├─ <board name>.json            PlatformIO board description
builder/
├─ frameworks/                  Framework builders for PlatformIO
│  ├─ <family name>-sdk.py          Vanilla SDK build system
│  ├─ <family name>-arduino.py      Arduino Core build system
├─ arduino-common.py            Builder to provide ArduinoCore-API and LibreTuya APIs
├─ main.py                      Main PlatformIO builder
├─ utils.py                     SCons utils used during the build
docs/                           Project documentation, guides, tips, etc.
platform/
├─ <family name>/               Family-specific configurations
│  ├─ bin/                          Binary blobs (bootloaders, etc.)
│  ├─ fixups/                       Code fix-ups to replace SDK parts
│  ├─ ld/                           Linker scripts
│  ├─ openocd/                      OpenOCD configuration files
tools/
├─ <tool name>/                 Tools used during the build
families.json                   List of supported device families
platform.json                   PlatformIO manifest
platform.py                     Custom PlatformIO script