forkineye / ESPixelStick

Firmware for the ESPixelStick
http://forkineye.com/
528 stars 169 forks source link

QuinLED-ESP32 or QuinLED-ESP32-AE+ Outputs #568

Closed onewithhammer closed 1 year ago

onewithhammer commented 1 year ago

--------- Instructions -------- Please provide answers directly below each section. --------- Instructions ---------

ESPixelStick Firmware Version 4.0-ci3138152858

Flashed using ESPSFlashTool with DIG-QUAD selected as hardware.

Hardware Version QuinLED-ESP32 or QuinLED-ESP32-AE+

Binary release or compiled yourself? Release

Describe the bug In earlier release (4.0-ci2756477305) the number of outputs was 6 outputs. This current version only has 5 outputs. Which is correct?

What about supporting the QuinLED-ESP32-AE+ which has 3 additional LED outputs on a DIG-QUAD?

Is this currently possible?

Please advise.

I thought the ESP-32 had a max of 6 outputs.

DIG-Quad-5
ravenridgelights-turtle commented 1 year ago

There is a new distro for 4.x that has support for the ae+ Martin has put together. Idk if I can post links here but you can get it in dr.zzs discord # led channel in the pins from Martin himself .. I'm not sure where else it's available

onewithhammer commented 1 year ago

I found the Distro.zip on dr.zzs discord #led channel. Is that the latest version for AE+? 4.0-ci1789220604

MartinMueller2003 commented 1 year ago

the link points to my latest compiled versions. I overwrite the old version of the zip file when a new set is created. So the dist.zip is always the most recent build.

onewithhammer commented 1 year ago

@MartinMueller2003 - Thanks for the info on your link. I have already downloaded and flashed a QuinLED-ESP32-AE+ and a QuinLED-ESP32.

The firmware - device config for QuinLED-ESP32 displays 5 outputs which is what I expect. 4 outputs and the 5th for relay.

The firmware - device config for QuinLED-ESP32-AE+ displays 6 outputs. 5 outputs and the 6th for relay. Shouldn't it display 8 outputs, 7 outputs and the 8th for relay? Am I missing something? How do you use all 7 LED channels on the AE+ ?

ravenridgelights-turtle commented 1 year ago

Mine most definitely displays 7led and one relay

On Wed, Oct 19, 2022, 10:46 PM Tony Keith @.***> wrote:

@MartinMueller2003 https://github.com/MartinMueller2003 - Thanks for the info on your link. I have already downloaded and flashed a QuinLED-ESP32-AE+ and a QuinLED-ESP32.

The firmware - device config for QuinLED-ESP32 displays 5 outputs which is what I expect. 4 outputs and the 5th for relay.

The firmware - device config for QuinLED-ESP32-AE+ displays 6 outputs. 5 outputs and the 6th for relay. Shouldn't it display 8 outputs, 7 outputs and the 8th for relay? Am I missing something? How do you use all 7 LED channels on the AE+ ?

— Reply to this email directly, view it on GitHub https://github.com/forkineye/ESPixelStick/issues/568#issuecomment-1284836856, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM6IRUYWORQLR4STRV5WHKTWECW7JANCNFSM6AAAAAARJUSE5A . You are receiving this because you commented.Message ID: @.***>

ravenridgelights-turtle commented 1 year ago

@MartinMueller2003 - Thanks for the info on your link. I have already downloaded and flashed a QuinLED-ESP32-AE+ and a QuinLED-ESP32.

The firmware - device config for QuinLED-ESP32 displays 5 outputs which is what I expect. 4 outputs and the 5th for relay.

The firmware - device config for QuinLED-ESP32-AE+ displays 6 outputs. 5 outputs and the 6th for relay. Shouldn't it display 8 outputs, 7 outputs and the 8th for relay? Am I missing something? How do you use all 7 LED channels on the AE+ ?

https://youtu.be/GkR-xJrUhvg

onewithhammer commented 1 year ago

@ravenridgelights-turtle - My mistake. You are correct. I was flashing with QUINLED UNO AE+ , NOT QUINLED QUAD AE+

onewithhammer commented 1 year ago

Last question - xLights only shows 6 outputs for the DIG-QUAD even with AE+ ?

ravenridgelights-turtle commented 1 year ago

That one I can't explain

On Wed, Oct 19, 2022, 11:36 PM Tony Keith @.***> wrote:

Last question - xLights only shows 6 outputs for the DIG-QUAD even with AE+ ?

— Reply to this email directly, view it on GitHub https://github.com/forkineye/ESPixelStick/issues/568#issuecomment-1284873149, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM6IRU2M7NO75RKEBNZE4JLWEC43TANCNFSM6AAAAAARJUSE5A . You are receiving this because you were mentioned.Message ID: @.***>

MartinMueller2003 commented 1 year ago

I have no control over how xLights determines how many ports are available. The config file contains all of the information needed to figure that out (that's how the browser UI does it). You would need to ask the question on an xLights forum.

onewithhammer commented 1 year ago

Thanks. I will ask the xLights developers. This issue can be closed.

patdelaney commented 1 year ago

Someone tell me what it should be and it can be added, it's just config file update. I'll send it to the developers.

What are the options that it should allow.

pat

On Wed, Oct 19, 2022 at 10:36 PM Tony Keith @.***> wrote:

Last question - xLights only shows 6 outputs for the DIG-QUAD even with AE+ ?

— Reply to this email directly, view it on GitHub https://github.com/forkineye/ESPixelStick/issues/568#issuecomment-1284873149, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6FEA7C4LMMGMS5DBY4YVLWEC43XANCNFSM6AAAAAARJUSE5A . You are receiving this because you are subscribed to this thread.Message ID: @.***>

MartinMueller2003 commented 1 year ago

Hi Pat. It is not that simple. The number of output ports and what they support is not controlled by a hardware platform type. You need to parse the config file and you will get all of the settings you need. The example below is for a 6 port implementation. The protocols supported on each port are listed in the port configuration.

{ "cmd": { "set": { "output": { "output_config": { "cfgver": 1, "MaxChannels": 9000, "channels": { "0": { "0": { "type": "Disabled" }, "1": { "type": "WS2811", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 16, "baudrate": 57600 }, "2": { "type": "GECE", "color_order": "rgb", "pixel_count": 63, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 16, "baudrate": 57600 }, "3": { "type": "DMX", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": "3", "baudrate": 57600, "data_pin": "16" }, "4": { "type": "Renard", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 16 }, "5": { "type": "Serial", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 16 }, "8": { "type": "UCS1903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 25, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 16, "baudrate": 57600 }, "9": { "type": "TM1814", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 500, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 16, "currentlimit": 50, "baudrate": 57600 }, "12": { "type": "GS8208", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 16, "baudrate": 57600 }, "13": { "type": "UCS8903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 30, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 16, "baudrate": 57600 }, "type": 3 }, "1": { "0": { "type": "Disabled" }, "1": { "type": "WS2811", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 32, "baudrate": 57600 }, "2": { "type": "GECE", "color_order": "rgb", "pixel_count": 63, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 32, "baudrate": 57600 }, "3": { "type": "DMX", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": "3", "baudrate": 57600, "data_pin": "32" }, "4": { "type": "Renard", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 32 }, "5": { "type": "Serial", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 32 }, "8": { "type": "UCS1903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 25, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 32, "baudrate": 57600 }, "9": { "type": "TM1814", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 500, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 32, "currentlimit": 50, "baudrate": 57600 }, "12": { "type": "GS8208", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 32, "baudrate": 57600 }, "13": { "type": "UCS8903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 30, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 32, "baudrate": 57600 }, "type": 3 }, "2": { "0": { "type": "Disabled" }, "1": { "type": "WS2811", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 33 }, "2": { "type": "GECE", "color_order": "rgb", "pixel_count": 63, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 33 }, "3": { "type": "DMX", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": "3", "baudrate": 250000, "data_pin": "33" }, "4": { "type": "Renard", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 33 }, "5": { "type": "Serial", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 33 }, "8": { "type": "UCS1903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 25, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 33 }, "9": { "type": "TM1814", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 500, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 33, "currentlimit": 50 }, "12": { "type": "GS8208", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 33 }, "13": { "type": "UCS8903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 30, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 33 }, "type": 3 }, "3": { "0": { "type": "Disabled" }, "1": { "type": "WS2811", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 4 }, "2": { "type": "GECE", "color_order": "rgb", "pixel_count": 63, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 4 }, "3": { "type": "DMX", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": "3", "baudrate": 250000, "data_pin": "4" }, "4": { "type": "Renard", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 4 }, "5": { "type": "Serial", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 4 }, "8": { "type": "UCS1903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 25, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 4 }, "9": { "type": "TM1814", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 500, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 4, "currentlimit": 50 }, "12": { "type": "GS8208", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 4 }, "13": { "type": "UCS8903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 30, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 4 }, "type": 3 }, "4": { "0": { "type": "Disabled" }, "1": { "type": "WS2811", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 12 }, "2": { "type": "GECE", "color_order": "rgb", "pixel_count": 63, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 12 }, "3": { "type": "DMX", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": "3", "baudrate": 250000, "data_pin": "12" }, "4": { "type": "Renard", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 12 }, "5": { "type": "Serial", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 12 }, "8": { "type": "UCS1903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 25, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 12 }, "9": { "type": "TM1814", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 500, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 12, "currentlimit": 50 }, "12": { "type": "GS8208", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 12 }, "13": { "type": "UCS8903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 30, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 12 }, "type": 3 }, "5": { "0": { "type": "Disabled" }, "1": { "type": "WS2811", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 2 }, "2": { "type": "GECE", "color_order": "rgb", "pixel_count": 63, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 2 }, "3": { "type": "DMX", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": "3", "baudrate": 250000, "data_pin": "2" }, "4": { "type": "Renard", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 2 }, "5": { "type": "Serial", "gen_ser_hdr": "", "gen_ser_ftr": "", "num_chan": 64, "baudrate": 57600, "data_pin": 2 }, "8": { "type": "UCS1903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 25, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 2 }, "9": { "type": "TM1814", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 500, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 2, "currentlimit": 50 }, "12": { "type": "GS8208", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 300, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 2 }, "13": { "type": "UCS8903", "color_order": "rgb", "pixel_count": 100, "group_size": 1, "zig_size": 0, "gamma": 1, "brightness": 100, "interframetime": 30, "prependnullcount": 0, "appendnullcount": 0, "data_pin": 2 }, "type": 3 } } } } } } }

brmeadows2841 commented 1 year ago

This shows GPIOS pins 16,32,33,4,12,2 as the pixel control pins. Can GPIO pins 14,15 or 13 also be used, without conflicts?

This would be 9 outputs on an ESP32. I assume the pixel limit would still be ~3000 across all ports.

MartinMueller2003 commented 1 year ago

You can but I have found that the ESP32 starts having issues when more than 8 pixel ports are in use.

FYI: The configuration above is a "Random" sampling of the configs that ESPixelStick V4 supports. At this time there are more than 20 supported hardware configs and the config is different for each of them. My UI code looks at the options in the file and uses that to create and populate the configuration choice lists. Nowhere is there the concept of "This platform type uses this fixed configuration".

brmeadows2841 commented 1 year ago

How do I change the UI to show the additional ports, from 6 to 8? Where is this configuration file located, do I change it before using Visual Studio to implement the image?

You can but I have found that the ESP32 starts having issues when more than 8 pixel ports are in use.

I will stay at eight for the maximum number of ports. Is this a timing issue, ram of some other type of problem?

FYI: The configuration above is a "Random" sampling of the configs that ESPixelStick V4 supports. At this time there are more than 20 supported hardware configs and the config is different for each of them. My UI code looks at the options in the file and uses that to create and populate the configuration choice lists. Nowhere is there the concept of "This platform type uses this fixed configuration".

MartinMueller2003 commented 1 year ago

You create a new platform definition in the platform directory, add it to the gpiodefs file. Add the new board type to the platformio.ini file. Do a build of your new platform and upload it to the ESP.

brmeadows2841 commented 1 year ago

Thank you.

MartinMueller2003 commented 1 year ago

Take a look at the DIG-Octa platform. It has 8 ports. It does not have PSRAM which is something you really should have.