Legion2 / CorsairLightingProtocol

Control LEDs connected to an Arduino with iCUE, create an unofficial Corsair iCUE compatible Arduino LED controller.
Apache License 2.0
516 stars 64 forks source link

Is there a 256 leds limit? #338

Closed HasseM closed 1 year ago

HasseM commented 1 year ago

Edit: found out my own mistake and removed the details here in my question!

Answer: no there is no limit but make sure your for loops use 16 bit vars and not uint8_t......

HasseM commented 1 year ago

Still there seems to be an issue with more then 255 leds. I have 806 leds and only 38 are received from iCue. 806 = 0011 0010 0110 38 = 0010 0110

It seems that they are not copied from usb to ledChannel0[] array. So probably an uint8_t there somewhere.

Edit: owwww, it seems the whole FastLedController class is based on uint8_t for the size....... it already fails on AddLeds. A rather big update to fix it.....

Legion2 commented 1 year ago

Which type of hardware do you use, normally the memory only allows for a total of around 400 LEDs. You can not add that much LEDs via addLeds because iCUE does not support that much leds. You can add for example 135 LEDs, which maps to the maximum which is possible with iCUE LS100 Controller. Then you can scale that to a bigger LED array with the scale functions see https://github.com/Legion2/CorsairLightingProtocol#repeat-or-scale-led-channels

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.