diff --git a/.doxygen/Doxyfile b/.doxygen/Doxyfile index 8c2830c25..b75471e98 100644 --- a/.doxygen/Doxyfile +++ b/.doxygen/Doxyfile @@ -871,7 +871,7 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = ../ESPixelStick +INPUT = ../src ../include # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8613b7264..e88f7bb63 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,7 +1,7 @@ name: ESPixelStick CI on: [push, pull_request, workflow_dispatch] env: - VERSION_BASE: '4.0' + VERSION_BASE: "4.0" jobs: firmware: strategy: @@ -148,7 +148,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: "3.10" - name: Install PlatformIO run: | @@ -199,7 +199,7 @@ jobs: # Install Node - uses: actions/setup-node@v4 with: - node-version: '20' + node-version: "20" - run: npm install # Build and move the web pages @@ -210,7 +210,7 @@ jobs: if [ -z "$ESPS_RELEASE" ]; then gulp ci fi - mv ESPixelStick/data/* dist/fs + mv data/* dist/fs - name: Set release archive filename run: | diff --git a/.gitignore b/.gitignore index e41e563e0..9bfd226cf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,12 @@ /debug/ /firmware/ -/ESPixelStick/ESPixelStick.ino.cpp /.doxygen/doc/ -/.pio/ /.vscode/ !/.vscode/extensions.json /dist/*.html /node_modules/ -/ESPixelStick/data +/data +/.pio __pycache__ platformio_user.ini secrets.h diff --git a/README.md b/README.md index 6c9c6c608..3b8cff213 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,23 @@ The recommended way to build ESPixelStick is with PlatformIO. Building from the - In the same status bar, click ☑️ to compile or ➡️ to compile and upload. - To build and upload the filesystem, click on the PlatformIO icon on the left bar, then click on _Project Tasks->Platform->Upload Filesystem Image_. Note that before the filesystem is built, the web pages **must** be processed. Instructions for processing the web pages are in the html [README](html/README.md). +## Directory Structure + +ESPixelStick is now a PlatformIO project and follows the standard PlatformIO directory structure. All code should be in the releveant `src` and `include` sub-directories. Within each you will find the follwing directories: + +- `input` - Show input modules should reside here and inherit from `c_InputCommon` as defined in `InputCommon.hpp`. +- `ouput` - Show output modules should reside here and inherit from `c_OutputCommon` as defined in `OutputCommon.hpp`. +- `service` - Auxiliary services should reside here. These include non-show critical input mechansims like FPP discovery / configuration mechanisms. + +You'll want to refer to `src/input/InputMgr.cpp` and `src/output/OutputMgr.cpp` for adding modules to the system. + +Other notable directories: + +- `dist` - These are the files used for creating the binary distributions. Updated binaries for flashing, ESPSFlashTool and `firmware.json` should all be updated here. +- `html` - All frontend / web related code, refer to the html [README](html/README.md) for details. +- `SupportingDocs` - Datasheets and protocol formats related to this project. +- `tools` = Misc tools related to this project. + ## Supported Inputs and Outputs Details on the supported input protocols and outputs can be found in the [wiki](https://github.com/forkineye/ESPixelStick/wiki/Supported-Inputs-and-Outputs). diff --git a/SupportingDocs/Supported Pixel Protocols for PixLite Pixel Controllers.html b/SupportingDocs/Supported Pixel Protocols for PixLite Pixel Controllers.html deleted file mode 100644 index e1d5d0ea9..000000000 --- a/SupportingDocs/Supported Pixel Protocols for PixLite Pixel Controllers.html +++ /dev/null @@ -1,1139 +0,0 @@ - - -
- - - - - - -Click on the name of each protocol for more information and specifications.
-- | PixLite Mk1 | -PixLite Mk2 | -PixLite Mk3 | -Clock Type | -Resolution | -RGB | -RGBW | -
---|---|---|---|---|---|---|---|
APA102 | -- | - | - | Clocked | -8 bits | -- | - |
APA102C | -- | - | - | Clocked | -8 bits | -- | - |
APA104 | -- | - | - | Data Only | -8 bits | -- | - |
APA109 | -- | - | - | Data Only | -8 bits | -- | - |
CS8812 | -- | - | - | Data Only | -8 bits | -- | - |
DMX512 | -- | - | - | Data Only | -8 bits | -- | - |
GS8202 | -- | - | - | Data Only | -8 bits | -- | - |
GS8206 | -- | - | - | Data Only | -8 bits | -- | - |
GS8208 | -- | - | - | Data Only | -8 bits | -- | - |
HD107S | -- | - | - | Clocked | -8 bits | -- | - |
LPD6803 | -- | - | - | Clocked | -5 bits | -- | - |
LPD8806 | -- | - | - | Clocked | -8 bits | -- | - |
MBI6020 | -- | - | - | Clocked | -10 bits | -- | - |
MY9221 | -- | - | - | Clocked | -16 bits | -- | - |
MY9231 | -- | - | - | Clocked | -16 bits | -- | - |
MY9291 | -- | - | - | Clocked | -16 bits | -- | - |
P9813 | -- | - | - | Clocked | -8 bits | -- | - |
QED3001 | -- | - | - | Data Only | -12 bits | -- | - |
SK6812 | -- | - | - | Data Only | -8 bits | -- | - |
SK6813 | -- | - | - | Data Only | -8 bits | -- | - |
SK6818 | -- | - | - | Data Only | -8 bits | -- | - |
SK6822 | -- | - | - | Data Only | -8 bits | -- | - |
SK9822 | -- | - | - | Clocked | -8 bits | -- | - |
SM16511 | -- | - | - | *Addressable* | -8 bits | -- | - |
SM16703 | -- | - | - | Data Only | -8 bits | -- | - |
SM16704 | -- | - | - | Data Only | -8 bits | -- | - |
SM16712 | -- | - | - | Data Only | -8 bits | -- | - |
SM16714 | -- | - | - | Data Only | -8 bits | -- | - |
SM16716 | -- | - | - | Clocked | -8 bits | -- | - |
TLS3001 | -- | - | - | Data Only | -12 bits | -- | - |
TM1803 | -- | - | - | Data Only | -8 bits | -- | - |
TM1804 | -- | - | - | Data Only | -8 bits | -- | - |
TM1809 | -- | - | - | Data Only | -8 bits | -- | - |
TM1814 | -- | - | - | Data Only | -8 bits | -- | - |
TM1829 | -- | - | - | Data Only | -8 bits | -- | - |
TM1914 | -- | - | - | Data Only | -8 bits | -- | - |
UCS512B | -- | - | - | Data Only | -8 bits | -- | - |
UCS1903 | -- | - | - | Data Only | -8 bits | -- | - |
UCS1904 | -- | - | - | Data Only | -8 bits | -- | - |
UCS2903 | -- | - | - | Data Only | -8 bits | -- | - |
UCS2904 | -- | - | - | Data Only | -8 bits | -- | - |
UCS8903 | -- | - | - | Data Only | -16 bits | -- | - |
UCS8904 | -- | - | - | Data Only | -16 bits | -- | - |
UCS9812 | -- | - | - | Data Only | -16 bits | -- | - |
WS2801 | -- | - | - | Clocked | -8 bits | -- | - |
WS2811 | -- | - | - | Data Only | -8 bits | -- | - |
WS2811 V1.4 | -- | - | - | Data Only | -8 bits | -- | - |
WS2812 | -- | - | - | Data Only | -8 bits | -- | - |
WS2812b | -- | - | - | Data Only | -8 bits | -- | - |
WS2813 | -- | - | - | Data Only | -8 bits | -- | - |
WS2814 | -- | - | - | Data Only | -8 bits | -- | - |
WS2815 | -- | - | - | Data Only | -8 bits | -- | - |
WS2818 | -- | - | - | Data Only | -8 bits | -- | - |