Skip to content

Commit ebc2e53

Browse files
committed
Rename Physical Driver to Parallel LED Driver + migration
Docs ==== - Multiple updates
1 parent 014564c commit ebc2e53

File tree

21 files changed

+12696
-12745
lines changed

21 files changed

+12696
-12745
lines changed

docs/develop/development.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
* Want to make changes: fork the repo (see installation)and submit pull requests, see [creating-a-pull-request-from-a-fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork):
1616

17-
* Press Branches, press New Branch, give it a name e.g. background-script and press Create new Branch, click on background-script
17+
* Only branch from the main branch! Press Branches, press New Branch, give it a name e.g. background-script and press Create new Branch, click on background-script
1818

1919
<img width="90" src="https://github.com/user-attachments/assets/588d0854-bac1-4b70-8931-ba6db4c94248" />
2020

docs/develop/drivers.md

Lines changed: 0 additions & 100 deletions
This file was deleted.

docs/develop/installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ The development environment consists of
3838

3939
<img width="320" src="https://github.com/user-attachments/assets/74928dac-d59b-4489-b97b-759c6d792b77" />
4040

41-
* The main branch will be checked out per default. To run / test latest developments, switch to the dev branch
41+
* The main branch will be checked out per default. Latest development will be done in branches from main, merged back into main when done.
4242

4343
## Install and setup VSCode
4444

docs/develop/nodes.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,19 @@ A node implements the following (overloaded) functions:
6565

6666
### Initless drivers
6767

68-
Initless means there is no addLeds (like in FastLed) or initLed (like in physical and virtual driver):
68+
Initless means there is no addLeds (like in FastLed) or initLed (like in Parallel LED Driver):
6969

7070
* a Context (see below) will be set
7171
* Driver.show (see below) will use this context to set the right data to the right output.
7272
* The context can dynamically change without needing to reboot or recompile! e.g. changes in pin allocations, leds per pin, RGB or RGBW, or DMX lights like moving heads.
7373

74-
The Art-Net driver is currently working like this, to be added to physical and virtual driver and parallel IO (P4).
74+
The Art-Net driver is currently working like this, to be added to Parallel LED Driver and parallel IO (P4).
7575

7676
The advantages of dynamic context change are:
7777

7878
* No need to recompile any changed configs (e.g. colorOrder is fully flexible, not a setting in platformio.ini)
7979
* No need to restart while setting up a specific installation. Just change layouts until it works as intended.
80-
* Allows for a flexible mix of different outputs e.g. send the first 1024 leds to physical driver, next to virtual driver, next to spi, next to one Art-Net device, next to another Art-Net device.
80+
* Allows for a flexible mix of different outputs e.g. send the first 1024 leds to Parallel LED Driver, next to SPI, next to one Art-Net device, next to another Art-Net device.
8181

8282
#### Context
8383

docs/develop/standardsguidelines.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Part of submitting a change via a pull request is updated documentation. Functionality and documentation should be in one Pull Request
88
* Make minimal changes in upstream (Sveltekit) code, as we need to stay in sync as easy as possible. Add // 🌙 to show a change has been made.
99
* The main branch is the source to branch and merge to, no direct code commits to the main branch. As the main branch docs folder is the source for the website, doc changes can be made directly to main.
10-
* The dev branch is used for latest updates between releases. Optionally branch from dev if latest updates are needed for a change.
10+
* Branches from main are made for latest updates and merged back to main when done.
1111
* The src folder is for all MoonBase and MoonLight Nodes and Modules development. No need for UI changes as that is generated for Nodes and Modules. The lib folder is for upstream (Sveltekit). The interface folder is for UI, mainly Sveltekit and Modules and Nodes generic functions.
1212
* A pull request should contain compilable code and tested to not crash the system at minimal and support also boards without PSRAM, e.g. ESP32-D0. Code may be work in progress.
1313

docs/gettingstarted/installation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,11 @@ Keep this page visible until installation complete.
139139
!!! tip "Choose driver"
140140
FastLED driver is best to start with if you have a normal (ws2812) LED strip or panel.
141141

142-
Choose the Physical driver if you have more then 4 LED strips or panels or non standard LEDS (e.g. RGBW lights, curtains...). Other drivers (Virtual, Hub,) not supported yet.
142+
Choose the Parallel LED Driver if you have more then 4 LED strips or panels or non standard LEDS (e.g. RGBW lights, curtains...). Other drivers (Virtual, Hub,) not supported yet.
143143

144144
In some cases restart the device to make layout changes effective is needed.
145145

146-
For ESP32-P4-Nano, choose Physical driver, using the Parallel IO driver by @Troyhacks. Easy quick start: choose Pin 37 and connect a LED strip or panel as follows (Note: the pins on the board the jst connector is plugged in are in order +, Ground, Data !!! - Ignore the wire colors!):
146+
For ESP32-P4-Nano, choose Parallel LED Driver, using the Parallel IO driver by @Troyhacks. Easy quick start: choose Pin 37 and connect a LED strip or panel as follows (Note: the pins on the board the jst connector is plugged in are in order +, Ground, Data !!! - Ignore the wire colors!):
147147

148148
<img width="200" src="../../media/moonlight/esp32-p4-nano-quickstart.jpeg"/>
149149

docs/moonbase/inputoutput.md

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,48 @@
33
<img width="320" height="441" alt="io11" src="https://github.com/user-attachments/assets/b5452d8e-400c-4a72-a195-d5b7a7764407" />
44
<img width="320" height="77" alt="io22" src="https://github.com/user-attachments/assets/99fd135c-8d36-463b-ae3a-f06119cb8ccb" />
55

6-
Shows info about input / output devices, e.g. GPIO pins.
6+
Defines hardware specifics per ESP32 device 🆕
7+
Currently the following boards are defined. Not all are supported yet 🚧
8+
9+
<Image>
10+
11+
For each board the following presets are defined:
12+
13+
* Modded: if any change to the default preset is made.
14+
* Max Power: adjust the brightness to approach this max power, depending on the number of LEDs used.
15+
* Pins: This module is the central place to assign functionality to gpio pins. Other modules and nodes use the pin assignments made here.
716

817
* Per pin:
918
* GPIO = gpio_num;
10-
* PinInfo : pin assignments: currently only static 🚧
19+
* Usage: Can be updated, see below
1120
* Summary
1221
* Valid (✅)
1322
* Output (💡)
1423
* RTC (⏰);
1524
* Level (HIGH, LOW, N/A)
1625
* DriveCap (WEAK, STRONGER, MEDIUM, STRONGEST, N/A)
26+
27+
<image>
28+
29+
## Pin usage
30+
31+
* Supported
32+
* LEDs DIO 01 to 20
33+
* Voltage
34+
* Current
35+
* Infrared
36+
* Button On/Off
37+
* Planned soon
38+
* Battery
39+
* Relais brightness
40+
* DMX (in)
41+
* Planned later
42+
* I2S for microphone and line in
43+
* I2C
44+
45+
## Naming convention
46+
47+
- MCU: The ESP32 chip
48+
- MCU-Board: MCU on a PCB
49+
- Carrier Board: MCU-board + connectors...
50+
- Device: All of the above in a box

docs/moonlight/drivers.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The Drivers module defines layers and drivers.
88

99
* Layout 🚥: A layout (🚥) defines the positions of the lights to control. See [Layouts](https://moonmodules.org/MoonLight/moonlight/layouts/)
1010
* Driver ☸️: A driver is a link between MoonLight to hardware or the network. Drivers can both input data or output data. Examples:
11-
* LED drivers (FastLED, Physical and Virtual drivers, hub75 panels)
11+
* LED drivers (FastLED, Parallel LED Drivers, hub75 panels)
1212
* Light driver (Art-Net / DMX)
1313
* Audio driver
1414
* Sensor drivers (microphone, gyro, MIDI controller)
@@ -30,17 +30,20 @@ Want to add a Driver to MoonLight, see [develop](https://moonmodules.org/MoonLig
3030

3131
| Name | Preview | Controls | Remarks
3232
| ---- | ----- | ---- | ---- |
33-
| Physical LED Driver | <img width="100" src="https://github.com/user-attachments/assets/9cbe487e-f330-40a5-8b40-6663c83e5d90"/> | <img width="320" alt="Physical" src="https://github.com/user-attachments/assets/0c6f1543-623a-45bf-98d7-f5ddd072a1c6" /> | Drive multiple LED types, all devices including ESP32-P4(-nano) supported<br>Max Power and Light preset: See below<br>DMA buffer: set higher when LEDs flicker |
33+
| Parallel LED Driver | <img width="100" src="https://github.com/user-attachments/assets/9cbe487e-f330-40a5-8b40-6663c83e5d90"/> | <img width="320" alt="Parallel" src="https://github.com/user-attachments/assets/0c6f1543-623a-45bf-98d7-f5ddd072a1c6" /> | Drive multiple LED types, all devices including ESP32-P4(-nano) supported<br>Max Power and Light preset: See below<br>DMA buffer: set higher when LEDs flicker<br>Virtual LED Driver will be part of the Parallel LED driver.|
3434
| FastLED Driver | <img width="100" src="https://avatars.githubusercontent.com/u/5899270?s=48&v=4"/> | <img width="320" alt="FastLed" src="https://github.com/user-attachments/assets/d5ea1510-9766-4687-895a-b68c82575b8f" /> | Most used LED driver. Drive most common LEDs (WS2812).<br>Max Power: See below |
3535
| Art-Net | <img width="100" src="https://github.com/user-attachments/assets/9c65921c-64e9-4558-b6ef-aed2a163fd88"> | <img width="320" alt="Art-Net" src="https://github.com/user-attachments/assets/1428e990-daf7-43ba-9e50-667d51b456eb" /> | Drive LEDS and DMX lights over the network. See below |
3636
| AudioSync | <img width="100" src="https://github.com/user-attachments/assets/bfedf80b-6596-41e7-a563-ba7dd58cc476"/> | No controls | Listens to audio sent over the local network by WLED-AC or WLED-MM and allows audio reactive effects (♪ & ♫) to use audio data (volume and bands (FFT)) |
37-
| Virtual LED Driver | <img width="100" src="https://github.com/user-attachments/assets/98fb5010-7192-44db-a5c9-09602681ee15"/> | <img width="100" src="https://github.com/user-attachments/assets/c81d2f56-00d1-4424-a716-8e3c30e76636"/> | Driving max 120! outputs. E.g. 48 panels of 256 LEDs each run at 50-100 FPS using shift registers<br>Not implemented yet |
3837
| HUB75 Driver | <img width="100" src="https://github.com/user-attachments/assets/620f7c41-8078-4024-b2a0-39a7424f9678"/> | <img width="100" src="https://github.com/user-attachments/assets/4d386045-9526-4a5a-aa31-638058b31f32"/> | Drive HUB75 panels<br>Not implemented yet |
3938
| IR Driver 🆕🚧 | <img width="100" src="../../media/moonlight/IRDriver.jpeg"/> | | Receive IR commands and [Lights Control](https://moonmodules.org/MoonLight/moonlight/lightscontrol/) |
4039

40+
41+
Virtual LED Driver: Driving max 120! outputs. E.g. 48 panels of 256 LEDs each run at 50-100 FPS using shift registers. Not implemented yet
42+
<img width="100" src="https://github.com/user-attachments/assets/98fb5010-7192-44db-a5c9-09602681ee15"/><img width="100" src="https://github.com/user-attachments/assets/c81d2f56-00d1-4424-a716-8e3c30e76636"/>
43+
4144
### Max Power and Light Preset
4245

43-
* **Max Power**: max amount of power in watts to send to LEDs. Default 10: 5V * 2A = 10W (so it runs fine on USB)
46+
* **Max Power**: max amount of power in watts to send to LEDs. Default 10: 5V * 2A = 10W (so it runs fine on USB). 🆕: Moved to board presets in [Module IO](https://moonmodules.org/MoonLight/moonbase/inputoutput/).
4447

4548
* **Light preset**: Defines the channels per light and color order
4649

firmware/esp32-s3.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ build_flags =
1010
; -D ARDUINO_USB_MSC_ON_BOOT=0 ;Mass Storage Class, disable
1111
; -D ARDUINO_USB_DFU_ON_BOOT=0 ;download firmware update, disable
1212
; -D ML_LIVE_MAPPING
13-
; Do not use the following FastLED settings! As we use the better version of this in Physical driver
13+
; Do not use the following FastLED settings! As we use the better version of this in Parallel LED Driverer
1414
; -D FASTLED_USES_ESP32S3_I2S ; S3 boards use the I2S driver (RMT is not supporting more then 4 outputs)
1515
; -DCOLOR_ORDER_RGB=1 ; not working yet, see also https://github.com/FastLED/FastLED/issues/1966, should use ML_COLOR_ORDER / FastLED.addLeds(RGB_ORDER), workaround change #define COLOR_ORDER_RBG in driver.h
1616
lib_deps =

0 commit comments

Comments
 (0)