Legion2 / CorsairLightingProtocol

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

ESP32 probably won't work, needs verified #273

Open Spegs21 opened 2 years ago

Spegs21 commented 2 years ago

Per Adafruit TinyUSB Arduino library readme:

ESP32 port relies on Espressif's esp32-hal-tinyusb.c for building usb descriptors which requires all descriptors must be specified in usb objects declaration i.e constructors. Therefore all descriptor-related fields must be part of object declaration and descriptor-related API have no effect afterwards for this port.

The TinyUSB implementation sets some of this info in the begin() call. We probably need Corsair Lighting Protocol Boards support for ESP32.

cnn123666 commented 2 years ago

@Spegs21 I have found other problems. You can only use a maximum of 7 pins on the Pico, any more will cause the light to flash

Spegs21 commented 2 years ago

@cnn123666 This issue is for the ESP32. It's not related to the Pico. Anyway, there are only so many PIO resources on the Pico. The FastLED implementation uses PIO. If you exhaust the resources its not going to work correctly. This is a FastLED problem.

trailhead commented 1 year ago

It should be noted that only the S2 and S3 boards would work anyway. The WROOM and WROVER modules use a USB to Serial IC that will not do HID.