From 86e50be5240e3888bf16ba1ec7f0a54543921ec8 Mon Sep 17 00:00:00 2001 From: Chris Spegal Date: Wed, 17 Feb 2021 14:23:22 -0500 Subject: [PATCH] Add support for TinyUSB --- .github/workflows/lint.yml | 4 +- .github/workflows/push.yml | 55 ++++++++++-- README.md | 45 ++++++++-- .../AdditionalFeatures/AdditionalFeatures.ino | 6 +- .../AmbientBacklight/AmbientBacklight.ino | 6 +- examples/CommanderPRO/CommanderPRO.ino | 9 +- examples/DebugSketch/DebugSketch.ino | 8 +- examples/DeviceIDTool/DeviceIDTool.ino | 20 ++--- .../HoodLoader2UnoMegaController.ino | 6 +- examples/LS100/LS100.ino | 6 +- examples/LT100/LT100.ino | 6 +- .../LightingNodeCORE/LightingNodeCORE.ino | 6 +- examples/LightingNodePRO/LightingNodePRO.ino | 6 +- examples/MultipleFans/MultipleFans.ino | 6 +- examples/NoEEPROM/NoEEPROM.ino | 45 ++++++++++ examples/NonAddressable/NonAddressable.ino | 6 +- examples/RepeatAndScale/RepeatAndScale.ino | 6 +- .../SingleStripLightingNodePRO.ino | 6 +- examples/TinyUSB/TinyUSB.ino | 48 +++++++++++ .../TransformLLFansFormatToStrip.ino | 6 +- examples/UnitTests/UnitTests.ino | 34 ++++---- examples/UnitTests2/UnitTests2.ino | 6 +- extra/images/board-wiring-pico.jpg | Bin 0 -> 99100 bytes extra/images/select-board-pico.png | Bin 0 -> 182319 bytes keywords.txt | 1 + library.properties | 2 +- src/CLPAdditionalFeatures.cpp | 4 +- src/CLPUtils.cpp | 12 +-- src/CLPUtils.h | 7 +- src/CorsairLightingFirmware.cpp | 49 +++-------- src/CorsairLightingFirmware.h | 54 +++++++----- src/CorsairLightingFirmwareStorageEEPROM.cpp | 29 +++++++ src/CorsairLightingFirmwareStorageEEPROM.h | 32 +++++++ src/CorsairLightingFirmwareStorageStatic.cpp | 23 +++++ src/CorsairLightingFirmwareStorageStatic.h | 28 ++++++ src/CorsairLightingProtocol.h | 5 ++ src/CorsairLightingProtocolConstants.h | 28 ++++++ src/CorsairLightingProtocolController.cpp | 2 + src/CorsairLightingProtocolController.h | 2 + src/CorsairLightingProtocolSerial.cpp | 2 +- src/CorsairLightingProtocolTinyUSBHID.cpp | 80 ++++++++++++++++++ src/CorsairLightingProtocolTinyUSBHID.h | 47 ++++++++++ src/FastLEDController.cpp | 47 +++++----- src/FastLEDController.h | 33 +++----- src/FastLEDControllerStorage.h | 24 ++++++ src/FastLEDControllerStorageEEPROM.cpp | 37 ++++++++ src/FastLEDControllerStorageEEPROM.h | 38 +++++++++ src/RawHID.cpp | 8 +- src/RawHID.h | 5 +- 49 files changed, 744 insertions(+), 201 deletions(-) create mode 100644 examples/NoEEPROM/NoEEPROM.ino create mode 100644 examples/TinyUSB/TinyUSB.ino create mode 100644 extra/images/board-wiring-pico.jpg create mode 100644 extra/images/select-board-pico.png create mode 100644 src/CorsairLightingFirmwareStorageEEPROM.cpp create mode 100644 src/CorsairLightingFirmwareStorageEEPROM.h create mode 100644 src/CorsairLightingFirmwareStorageStatic.cpp create mode 100644 src/CorsairLightingFirmwareStorageStatic.h create mode 100644 src/CorsairLightingProtocolTinyUSBHID.cpp create mode 100644 src/CorsairLightingProtocolTinyUSBHID.h create mode 100644 src/FastLEDControllerStorage.h create mode 100644 src/FastLEDControllerStorageEEPROM.cpp create mode 100644 src/FastLEDControllerStorageEEPROM.h diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 88790066..fff292a4 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,13 +9,13 @@ jobs: steps: - uses: actions/checkout@v2 - name: Check src format - uses: DoozyX/clang-format-lint-action@v0.12 + uses: DoozyX/clang-format-lint-action@v0.13 with: source: './src' extensions: 'h,cpp' clangFormatVersion: 9 - name: Check examples format - uses: DoozyX/clang-format-lint-action@v0.12 + uses: DoozyX/clang-format-lint-action@v0.13 with: source: './examples' extensions: 'h,cpp,ino' diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 050f723e..b5382329 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -17,11 +17,11 @@ jobs: - name: Build for ${{ matrix.board }} uses: ArminJo/arduino-test-compile@v3 with: - cli-version: 0.14.0 + cli-version: 0.18.3 arduino-board-fqbn: ${{ matrix.board }} platform-url: https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json,https://raw.githubusercontent.com/Legion2/CorsairLightingProtocolBoards/master/package_Legion2_CorsairLightingProtocolBoards_index.json - arduino-platform: arduino:avr@1.8.3,SparkFun:avr@1.1.13,Legion2:avr@0.2.0 - required-libraries: FastLED@3.3.3 + arduino-platform: arduino:avr@1.8.3,SparkFun:avr@1.1.13,Legion2:avr@0.3.1 + required-libraries: FastLED@3.5 sketch-names: LightingNodePRO.ino, SingleStripLightingNodePRO.ino, CommanderPRO.ino, @@ -35,7 +35,8 @@ jobs: AdditionalFeatures.ino, AmbientBacklight.ino, MultipleFans.ino, - DebugSketch.ino + DebugSketch.ino, + NoEEPROM.ino build-properties: '{"DebugSketch": "-DDEBUG -DVERBOSE -DPRINT_COMMAND=true -DPRINT_RESPONSE=true -DPRINT_LOOP=true -DPRINT_UPDATE=true"}' testUnoMega: name: Test Arduino Uno/Mega sketches for Board ${{ matrix.board }} @@ -48,10 +49,10 @@ jobs: - name: Build for ${{ matrix.board }} uses: ArminJo/arduino-test-compile@v3 with: - cli-version: 0.14.0 + cli-version: 0.18.3 arduino-board-fqbn: ${{ matrix.board }} arduino-platform: arduino:avr@1.8.3 - required-libraries: FastLED@3.3.3 + required-libraries: FastLED@3.5 sketch-names: HoodLoader2UnoMegaController.ino test16u2: name: Test 16u2 sketch for Board ${{ matrix.board }} @@ -64,9 +65,45 @@ jobs: - name: Build for ${{ matrix.board }} uses: ArminJo/arduino-test-compile@v3 with: - cli-version: 0.14.0 + cli-version: 0.18.3 arduino-board-fqbn: ${{ matrix.board }} platform-url: https://raw.githubusercontent.com/NicoHood/HoodLoader2/master/package_NicoHood_HoodLoader2_index.json,https://raw.githubusercontent.com/Legion2/CorsairLightingProtocolBoards/master/package_Legion2_CorsairLightingProtocolBoards_index.json - arduino-platform: arduino:avr@1.8.3,HoodLoader2:avr@2.0.5,Legion2:avr@0.2.0 - required-libraries: FastLED@3.3.3 + arduino-platform: arduino:avr@1.8.3,HoodLoader2:avr@2.0.5,Legion2:avr@0.3.1 + required-libraries: FastLED@3.5 sketch-names: HoodLoader2CLPBridge.ino + testAdafruitM0: + name: Test for Board ${{ matrix.board }} + runs-on: ubuntu-latest + strategy: + matrix: + board: + [ + "adafruit:samd:adafruit_feather_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_feather_m0_express:usbstack=tinyusb", + "adafruit:samd:adafruit_metro_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_circuitplayground_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_gemma_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_trinket_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_qtpy_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_neotrinkey_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_rotarytrinkey_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_neokeytrinkey_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_slidetrinkey_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_proxlighttrinkey_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_itsybitsy_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_pirkey:usbstack=tinyusb", + "adafruit:samd:adafruit_hallowing:usbstack=tinyusb", + "adafruit:samd:adafruit_crickit_m0:usbstack=tinyusb", + "adafruit:samd:adafruit_blm_badge:usbstack=tinyusb" + ] + steps: + - uses: actions/checkout@v2 + - name: Build for ${{ matrix.board }} + uses: ArminJo/arduino-test-compile@v3 + with: + cli-version: 0.18.3 + arduino-board-fqbn: ${{ matrix.board }} + platform-url: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json + arduino-platform: adafruit:samd@1.7.8 + required-libraries: FastLED@3.5,Adafruit_TinyUSB_Library@1.9.2 + sketch-names: TinyUSB.ino diff --git a/README.md b/README.md index d818c973..43bf304a 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ _This is not an official corsair project._ * Control LEDs with the [Corsair iCUE software](https://www.corsair.com/icue). * [Support common LED chipsets](https://github.com/FastLED/FastLED/wiki/Overview#chipsets). (e.g. WS2812B, WS2801) * Support [FastLED](http://fastled.io/). -* Supported platform: Arduino AVR +* Supported platforms: Arduino AVR, [TinyUSB supported cores](https://github.com/adafruit/Adafruit_TinyUSB_Arduino#supported-cores) * Hardware Lighting mode. * Use multiple devices at the same time. * Repeat or scale LED channels to arbitrary size. @@ -33,14 +33,19 @@ This project provides example sketches for easy use with Arduino IDE. - [Requirements](#requirements) - [Install the libraries](#install-the-libraries) -- [Create a Lighting Node PRO](#create-a-lighting-node-pro) +- [Create a Lighting Node PRO with AVR](#create-a-lighting-node-pro-with-avr) +- [Create a Lighting Node PRO with TinyUSB](#create-a-lighting-node-pro-for-a-raspberry-pi-pico-with-tinyusb) - [Use the Lighting Node PRO](#use-the-lighting-node-pro) ## Requirements The library is compatible with all boards using the MCU ATmega32U4. This includes **Arduino Leonardo**, **SparkFun Pro Micro**, **Arduino Micro**, and **Adafruit 32u4 AVR Boards**. It also supports the Arduino Uno and Arduino Mega, **but** this requires the [HoodLoader2](https://github.com/NicoHood/HoodLoader2) bootloader, see [this wiki](https://github.com/Legion2/CorsairLightingProtocol/wiki/How-to-use-on-Arduino-Uno-and-Arduino-Mega) for more details. -It is **not** compatible with ATmega328 (Arduino Nano), STM8S103F3, teensy, ESP8266 and ESP32 see [list of architecture/platform](https://github.com/Legion2/CorsairLightingProtocol/issues?q=is%3Aissue+label%3Aarchitecture%2Fplatform) for a detailed description why they are not supported. + +In addition, any board compatible with **Adafruit TinyUSB for Arduino** is also supported without the use of custom board definitions. Be sure to define USE_TINYUSB, which is done automatically when using a supported core and selecting TinyUSB for the USB Stack. See the TinyUSB example for implementation details. + +It is **not** compatible with ATmega328 (Arduino Nano), STM8S103F3, teensy, or ESP8266 see [list of architecture/platform](https://github.com/Legion2/CorsairLightingProtocol/issues?q=is%3Aissue+label%3Aarchitecture%2Fplatform) for a detailed description why they are not supported. + In the rest of the documentation "Arduino" is used as a synonym for all supported boards regardless of the manufacturer. When you have problems with a board not listed here, please open an [Issue](https://github.com/Legion2/CorsairLightingProtocol/issues). @@ -51,8 +56,9 @@ Open the Library-Manager in Arduino IDE via Tools->Manage Libraries... Search for "Corsair Lighting Protocol" and install the Corsair Lighting Protocol library. This library also requires the [FastLED](http://fastled.io/) library. Search for "FastLED" in the Library-Manager and install the FastLED library. +If using TinyUSB, also install the latest "Adafruit TinyUSB Library" as it supersedes some of the core versions. -## Create a Lighting Node PRO +## Create a Lighting Node PRO with AVR This guide will teach you how to create a Lighting Node PRO with an Arduino Leonardo compatible board. If you have an Arduino Uno or Mega, see the [other guide](https://github.com/Legion2/CorsairLightingProtocol/wiki/How-to-use-on-Arduino-Uno-and-Arduino-Mega). @@ -70,7 +76,7 @@ If you have an Arduino Uno or Mega, see the [other guide](https://github.com/Leg ![upload sketch](extra/images/upload-sketch.png) 1. Do the wiring. - For more information on [how to wire the leds](https://github.com/FastLED/FastLED/wiki/Wiring-leds) and [how to set up the LEDs in the code](https://github.com/FastLED/FastLED/wiki/Basic-usage#setting-up-the-leds) see the links. + For more information on [how to wire the LEDs](https://github.com/FastLED/FastLED/wiki/Wiring-leds) and [how to set up the LEDs in the code](https://github.com/FastLED/FastLED/wiki/Basic-usage#setting-up-the-leds) see the links. ![the wiring](extra/images/board-wiring.jpg) 1. Verify your device works as expected. @@ -80,6 +86,31 @@ If you have an Arduino Uno or Mega, see the [other guide](https://github.com/Leg > If you have any problem during setup you may find the solution in the [Troubleshooting section](https://github.com/Legion2/CorsairLightingProtocol/wiki/Troubleshooting). +## Create a Lighting Node PRO for a Raspberry Pi Pico with TinyUSB + +This guide will teach you how to create a Lighting Node PRO with a Raspberry Pi Pico. + +**Note:** FastLED currently does not support the RP2040 natively. You must manually merge support by modifying your library to include the [6 RP2040 platform files](https://github.com/FastLED/FastLED/pull/1261/files#diff-fda1710ad90fcc4b2f07be21a834da7d24b00008867655232c84fb0369cfc74b) in the FastLED/src/platforms/arm/rp2040 folder and `#elif defined(ARDUINO_ARCH_RP2040)` / `#include` statements in [led_sysdefs.h](https://github.com/FastLED/FastLED/pull/1261/files#diff-95f6b43a0e6b0e58988e1be3bc6415ded5284082a4f2ce2aaa90f5931d4194af) and [platforms.h](https://github.com/FastLED/FastLED/pull/1261/files#diff-255ea38a6573ed237ea1fe164d5e87ca46811eef21ba6e2cef120fda47c6e62f). + +1. Install the [Raspberry Pi Pico Arduino core](https://github.com/earlephilhower/arduino-pico#installing-via-arduino-boards-manager). + +1. Open the example "TinyUSB", you can find it in Arduino IDE in the File menu->Examples->Corsair Lighting Protocol->TinyUSB. + If you can't open the LightingNodePRO example the Corsair Lighting Protocol library is not installed correctly. + +1. Select the Raspberry Pi Pico as shown in the screenshot below. Be sure to select the "Adafruit TinyUSB" USB Stack. + + ![select Raspberry Pi Pico](extra/images/select-board-pico.png) +1. Upload the "TinyUSB" sketch to your Pico. + +1. Do the wiring. + For more information on [how to wire the LEDs](https://github.com/FastLED/FastLED/wiki/Wiring-leds) and [how to set up the LEDs in the code](https://github.com/FastLED/FastLED/wiki/Basic-usage#setting-up-the-leds) see the links. + + ![the wiring](extra/images/board-wiring-pico.jpg) +1. Verify your device works as expected. + Open the Windows settings->devices->Other devices. + Somewhere in the list of devices, there should be a device called "Lighting Node PRO". +1. Now open [iCUE](https://www.corsair.com/icue) there you should see the "Lighting Node PRO". + ## Use the Lighting Node PRO ![iCUE RGB Strip example](extra/images/iCUE.jpg) @@ -121,7 +152,7 @@ The Serial Number MAY only consist of HEX characters (0-9 and A-F). The DeviceID can be set with the `setDeviceID` function of `CorsairLightingFirmware`. ```C++ void setup() { - byte deviceId[4] = { 0x9A, 0xDA, 0xA7, 0x8E }; + DeviceID deviceId = { 0x9A, 0xDA, 0xA7, 0x8E }; firmware.setDeviceID(deviceId); ... } @@ -173,7 +204,7 @@ ledController.onUpdateHook(0, []() { The [Hardware Lighting mode](https://forum.corsair.com/v3/showthread.php?t=182874) can be configured in iCUE. It allows you the set lighting effects that will be active when iCUE **is not** running. This is the case when the PC is off, in sleep mode, booting or the user is logged out. -So if you want to have lighing effects in all these situations, use the Hardware Lighting mode. +So if you want to have lighting effects in all these situations, use the Hardware Lighting mode. If you don't want it, configure a static black color. # License diff --git a/examples/AdditionalFeatures/AdditionalFeatures.ino b/examples/AdditionalFeatures/AdditionalFeatures.ino index 77b8af60..191b934e 100644 --- a/examples/AdditionalFeatures/AdditionalFeatures.ino +++ b/examples/AdditionalFeatures/AdditionalFeatures.ino @@ -25,8 +25,10 @@ CRGB ledsChannel2[60]; // Define a custom SerialNumber for the device const char mySerialNumber[] PROGMEM = "202B6949A967"; -CorsairLightingFirmware firmware = corsairLightingNodePROFirmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); // Set the SerialNumber here CorsairLightingProtocolHID cHID(&cLP, mySerialNumber); diff --git a/examples/AmbientBacklight/AmbientBacklight.ino b/examples/AmbientBacklight/AmbientBacklight.ino index 93fedd65..bc31ecba 100644 --- a/examples/AmbientBacklight/AmbientBacklight.ino +++ b/examples/AmbientBacklight/AmbientBacklight.ino @@ -23,8 +23,10 @@ CRGB ledsChannel1[84]; CRGB ledsChannel2[105]; -CorsairLightingFirmware firmware = corsairLS100Firmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_SMART_LIGHTING_CONTROLLER, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/CommanderPRO/CommanderPRO.ino b/examples/CommanderPRO/CommanderPRO.ino index 9ebff631..f3429488 100644 --- a/examples/CommanderPRO/CommanderPRO.ino +++ b/examples/CommanderPRO/CommanderPRO.ino @@ -33,11 +33,12 @@ #define CHANNEL_LED_COUNT 96 -CorsairLightingFirmware firmware = corsairCommanderPROFirmware(); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_COMMANDER_PRO, &firmwareStorage); ThermistorTemperatureController temperatureController; -FastLEDController ledController(&temperatureController, true); -SimpleFanController fanController(&temperatureController, FAN_UPDATE_RATE, - EEPROM_ADDRESS + ledController.getEEPROMSize()); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); +SimpleFanController fanController(&temperatureController, FAN_UPDATE_RATE, EEPROM_ADDRESS + storage.getEEPROMSize()); CorsairLightingProtocolController cLP(&ledController, &temperatureController, &fanController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/DebugSketch/DebugSketch.ino b/examples/DebugSketch/DebugSketch.ino index 1a7281df..9cf56657 100644 --- a/examples/DebugSketch/DebugSketch.ino +++ b/examples/DebugSketch/DebugSketch.ino @@ -21,8 +21,10 @@ #define DATA_PIN_CHANNEL_1 2 #define DATA_PIN_CHANNEL_2 3 -CorsairLightingFirmware firmware = corsairLightingNodePROFirmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cLPS(&cLP); @@ -60,7 +62,7 @@ void loop() { void processCommand(String& cmd) { if (cmd == F("print DeviceID")) { - byte deviceId[4]; + DeviceID deviceId; firmware.getDeviceID(deviceId); CLP::printDeviceID(deviceId); Serial.println(); diff --git a/examples/DeviceIDTool/DeviceIDTool.ino b/examples/DeviceIDTool/DeviceIDTool.ino index 5d8aac87..0e9ac201 100644 --- a/examples/DeviceIDTool/DeviceIDTool.ino +++ b/examples/DeviceIDTool/DeviceIDTool.ino @@ -17,15 +17,15 @@ // UPLOAD THIS TO THE ARDUINO AND OPEN SERIAL MONITOR WITH BOUDRATE 115200 // #include -#include +#include -#define EEPROM_ADDRESS_DEVICE_ID 0 +CorsairLightingFirmwareStorageEEPROM firmwareStorage; void setup() { Serial.begin(115200); Serial.setTimeout(100); - uint8_t deviceID[4]; - EEPROM.get(EEPROM_ADDRESS_DEVICE_ID, deviceID); + DeviceID deviceID; + firmwareStorage.loadDeviceID(deviceID); while (!Serial) { ; // wait for serial port to connect. Needed for native USB @@ -47,12 +47,12 @@ void loop() { Serial.println(F("Do not forget the leading zeroes!")); Serial.println(); } else { - uint8_t newDeviceID[4]; + DeviceID newDeviceID; - newDeviceID[0] = strtol(&inputString[0], nullptr, 16); - newDeviceID[1] = strtol(&inputString[3], nullptr, 16); - newDeviceID[2] = strtol(&inputString[6], nullptr, 16); - newDeviceID[3] = strtol(&inputString[9], nullptr, 16); + newDeviceID.data[0] = strtol(&inputString[0], nullptr, 16); + newDeviceID.data[1] = strtol(&inputString[3], nullptr, 16); + newDeviceID.data[2] = strtol(&inputString[6], nullptr, 16); + newDeviceID.data[3] = strtol(&inputString[9], nullptr, 16); Serial.println(F("Set DeviceID to: ")); CLP::printDeviceID(newDeviceID); Serial.println(); @@ -66,7 +66,7 @@ void loop() { F("This is a special DeviceID, it will reset the device and then generate a new DeviceID!")); } Serial.println(); - EEPROM.put(EEPROM_ADDRESS_DEVICE_ID, newDeviceID); + firmwareStorage.saveDeviceID(newDeviceID); } } } \ No newline at end of file diff --git a/examples/HoodLoader2UnoMegaController/HoodLoader2UnoMegaController.ino b/examples/HoodLoader2UnoMegaController/HoodLoader2UnoMegaController.ino index a3331fe3..cbbb0b00 100644 --- a/examples/HoodLoader2UnoMegaController/HoodLoader2UnoMegaController.ino +++ b/examples/HoodLoader2UnoMegaController/HoodLoader2UnoMegaController.ino @@ -23,8 +23,10 @@ #define DATA_PIN_CHANNEL_1 2 #define DATA_PIN_CHANNEL_2 3 -CorsairLightingFirmware firmware = corsairLightingNodePROFirmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolSerial cLPS(&cLP); diff --git a/examples/LS100/LS100.ino b/examples/LS100/LS100.ino index 415f22c8..c4444408 100644 --- a/examples/LS100/LS100.ino +++ b/examples/LS100/LS100.ino @@ -26,8 +26,10 @@ CRGB ledsChannel1[135]; CRGB ledsChannel2[54]; -CorsairLightingFirmware firmware = corsairLS100Firmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_SMART_LIGHTING_CONTROLLER, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/LT100/LT100.ino b/examples/LT100/LT100.ino index bcb04981..81235090 100644 --- a/examples/LT100/LT100.ino +++ b/examples/LT100/LT100.ino @@ -20,8 +20,10 @@ CRGB ledsChannel1[108]; -CorsairLightingFirmware firmware = corsairLT100Firmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_SMART_LIGHTING_TOWERS, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/LightingNodeCORE/LightingNodeCORE.ino b/examples/LightingNodeCORE/LightingNodeCORE.ino index 04e3f888..0dd5bb64 100644 --- a/examples/LightingNodeCORE/LightingNodeCORE.ino +++ b/examples/LightingNodeCORE/LightingNodeCORE.ino @@ -20,8 +20,10 @@ CRGB ledsChannel1[204]; -CorsairLightingFirmware firmware = corsairLightingNodeCOREFirmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_CORE, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/LightingNodePRO/LightingNodePRO.ino b/examples/LightingNodePRO/LightingNodePRO.ino index 040f49f3..6891b88b 100644 --- a/examples/LightingNodePRO/LightingNodePRO.ino +++ b/examples/LightingNodePRO/LightingNodePRO.ino @@ -22,8 +22,10 @@ CRGB ledsChannel1[96]; CRGB ledsChannel2[96]; -CorsairLightingFirmware firmware = corsairLightingNodePROFirmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/MultipleFans/MultipleFans.ino b/examples/MultipleFans/MultipleFans.ino index f06dba51..1e1132ec 100644 --- a/examples/MultipleFans/MultipleFans.ino +++ b/examples/MultipleFans/MultipleFans.ino @@ -29,8 +29,10 @@ CRGB ledsChannel1[96]; CRGB ledsChannel2[96]; -CorsairLightingFirmware firmware = corsairLightingNodePROFirmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/NoEEPROM/NoEEPROM.ino b/examples/NoEEPROM/NoEEPROM.ino new file mode 100644 index 00000000..1135392b --- /dev/null +++ b/examples/NoEEPROM/NoEEPROM.ino @@ -0,0 +1,45 @@ +/* + Copyright 2021 Leon Kiefer + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +#include +#include + +#define DATA_PIN_CHANNEL_1 2 +#define DATA_PIN_CHANNEL_2 3 + +CRGB ledsChannel1[96]; +CRGB ledsChannel2[96]; + +DeviceID deviceID = {0x9A, 0xDA, 0xA7, 0x8E}; +CorsairLightingFirmwareStorageStatic firmwareStorage(deviceID); +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDController ledController(nullptr); +CorsairLightingProtocolController cLP(&ledController, &firmware); +CorsairLightingProtocolHID cHID(&cLP); + +void setup() { + FastLED.addLeds(ledsChannel1, 96); + FastLED.addLeds(ledsChannel2, 96); + ledController.addLEDs(0, ledsChannel1, 96); + ledController.addLEDs(1, ledsChannel2, 96); +} + +void loop() { + cHID.update(); + + if (ledController.updateLEDs()) { + FastLED.show(); + } +} diff --git a/examples/NonAddressable/NonAddressable.ino b/examples/NonAddressable/NonAddressable.ino index 0c960c6c..17c0466f 100644 --- a/examples/NonAddressable/NonAddressable.ino +++ b/examples/NonAddressable/NonAddressable.ino @@ -22,8 +22,10 @@ #define GREEN_PIN 5 #define BLUE_PIN 6 -CorsairLightingFirmware firmware = corsairLightingNodePROFirmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/RepeatAndScale/RepeatAndScale.ino b/examples/RepeatAndScale/RepeatAndScale.ino index c227b642..5814bed8 100644 --- a/examples/RepeatAndScale/RepeatAndScale.ino +++ b/examples/RepeatAndScale/RepeatAndScale.ino @@ -22,8 +22,10 @@ CRGB ledsChannel1[100]; CRGB ledsChannel2[144]; -CorsairLightingFirmware firmware = corsairLightingNodePROFirmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/SingleStripLightingNodePRO/SingleStripLightingNodePRO.ino b/examples/SingleStripLightingNodePRO/SingleStripLightingNodePRO.ino index 94a3086b..15fc8ef9 100644 --- a/examples/SingleStripLightingNodePRO/SingleStripLightingNodePRO.ino +++ b/examples/SingleStripLightingNodePRO/SingleStripLightingNodePRO.ino @@ -27,8 +27,10 @@ // In this example we use only one pin where both channel are connected in series. #define DATA_PIN 2 -CorsairLightingFirmware firmware = corsairLightingNodePROFirmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/TinyUSB/TinyUSB.ino b/examples/TinyUSB/TinyUSB.ino new file mode 100644 index 00000000..556dccc5 --- /dev/null +++ b/examples/TinyUSB/TinyUSB.ino @@ -0,0 +1,48 @@ +/* + Copyright 2021 Leon Kiefer + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +#include +#include + +#define DATA_PIN_CHANNEL_1 2 +#define DATA_PIN_CHANNEL_2 3 + +CRGB ledsChannel1[96]; +CRGB ledsChannel2[96]; + +// Most ARM devices do not contain an EEPROM; we will use static storage for the Device ID +DeviceID deviceID = {0x9A, 0xDA, 0xA7, 0x8E}; +CorsairLightingFirmwareStorageStatic firmwareStorage(deviceID); +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDController ledController(nullptr); +CorsairLightingProtocolController cLP(&ledController, &firmware); +CorsairLightingProtocolTinyUSBHID cHID(&cLP); + +void setup() { + cHID.setup(); + + FastLED.addLeds(ledsChannel1, 96); + FastLED.addLeds(ledsChannel2, 96); + ledController.addLEDs(0, ledsChannel1, 96); + ledController.addLEDs(1, ledsChannel2, 96); +} + +void loop() { + cHID.update(); + + if (ledController.updateLEDs()) { + FastLED.show(); + } +} diff --git a/examples/TransformLLFansFormatToStrip/TransformLLFansFormatToStrip.ino b/examples/TransformLLFansFormatToStrip/TransformLLFansFormatToStrip.ino index 2f284b0b..49e7851b 100644 --- a/examples/TransformLLFansFormatToStrip/TransformLLFansFormatToStrip.ino +++ b/examples/TransformLLFansFormatToStrip/TransformLLFansFormatToStrip.ino @@ -22,8 +22,10 @@ CRGB ledsChannel1[96]; CRGB ledsChannel2[60]; -CorsairLightingFirmware firmware = corsairLightingNodePROFirmware(); -FastLEDController ledController(true); +CorsairLightingFirmwareStorageEEPROM firmwareStorage; +CorsairLightingFirmware firmware(CORSAIR_LIGHTING_NODE_PRO, &firmwareStorage); +FastLEDControllerStorageEEPROM storage; +FastLEDController ledController(&storage); CorsairLightingProtocolController cLP(&ledController, &firmware); CorsairLightingProtocolHID cHID(&cLP); diff --git a/examples/UnitTests/UnitTests.ino b/examples/UnitTests/UnitTests.ino index 463b7768..096386aa 100644 --- a/examples/UnitTests/UnitTests.ino +++ b/examples/UnitTests/UnitTests.ino @@ -37,7 +37,7 @@ protected: test(getLEDs) { CRGB leds[10]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); ledController.addLEDs(0, leds, 10); assertEqual(ledController.getLEDs(0), leds); assertEqual(ledController.getLEDs(1), nullptr); @@ -45,7 +45,7 @@ test(getLEDs) { testF(FastLEDControllerTest, simpleScaleUp) { CRGB leds[20]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 20, CRGB::Black); ledController.addLEDs(0, leds, 10); @@ -57,7 +57,7 @@ testF(FastLEDControllerTest, simpleScaleUp) { testF(FastLEDControllerTest, simpleScaleDown) { CRGB leds[20]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 20, CRGB::Black); ledController.addLEDs(0, leds, 20); @@ -70,7 +70,7 @@ testF(FastLEDControllerTest, simpleScaleDown) { testF(FastLEDControllerTest, simpleScaleDownBoundaries) { CRGB leds[20]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 20, CRGB::Black); ledController.addLEDs(0, leds, 20); @@ -85,7 +85,7 @@ testF(FastLEDControllerTest, simpleScaleDownBoundaries) { testF(FastLEDControllerTest, simpleScaleIdentity) { CRGB leds[20]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 20, CRGB::Black); ledController.addLEDs(0, leds, 10); @@ -98,7 +98,7 @@ testF(FastLEDControllerTest, simpleScaleIdentity) { testF(FastLEDControllerTest, scaleLongStrip) { CRGB leds[41]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 41, CRGB::Black); ledController.addLEDs(0, leds, 27); @@ -110,7 +110,7 @@ testF(FastLEDControllerTest, scaleLongStrip) { testF(FastLEDControllerTest, LT100) { CRGB leds[30]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 30, CRGB::Black); ledController.addLEDs(0, leds, 30); @@ -125,7 +125,7 @@ testF(FastLEDControllerTest, LT100) { testF(FastLEDControllerTest, singleSegmentScaleUp) { CRGB leds[20]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 20, CRGB::Black); ledController.addLEDs(0, leds, 10); @@ -138,7 +138,7 @@ testF(FastLEDControllerTest, singleSegmentScaleUp) { testF(FastLEDControllerTest, multiScaleUp) { CRGB leds[30]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 30, CRGB::Black); ledController.addLEDs(0, leds, 10); @@ -152,7 +152,7 @@ testF(FastLEDControllerTest, multiScaleUp) { testF(FastLEDControllerTest, multiScaleDown) { CRGB leds[30]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 30, CRGB::Black); ledController.addLEDs(0, leds, 30); @@ -166,7 +166,7 @@ testF(FastLEDControllerTest, multiScaleDown) { testF(FastLEDControllerTest, singleSegmentScaleDown) { CRGB leds[20]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 20, CRGB::Black); ledController.addLEDs(0, leds, 20); @@ -180,7 +180,7 @@ testF(FastLEDControllerTest, singleSegmentScaleDown) { testF(FastLEDControllerTest, SegmentScaleOverlap) { CRGB leds[15]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 15, CRGB::Black); ledController.addLEDs(0, leds, 15); @@ -194,7 +194,7 @@ testF(FastLEDControllerTest, SegmentScaleOverlap) { testF(FastLEDControllerTest, SegmentScaleOverlapInverted) { CRGB leds[15]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 15, CRGB::Black); ledController.addLEDs(0, leds, 15); @@ -208,7 +208,7 @@ testF(FastLEDControllerTest, SegmentScaleOverlapInverted) { testF(FastLEDControllerTest, SegmentScaleMix) { CRGB leds[30]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 30, CRGB::Black); ledController.addLEDs(0, leds, 30); @@ -225,7 +225,7 @@ testF(FastLEDControllerTest, SegmentScaleMix) { testF(FastLEDControllerTest, SegmentScaleMixInverted) { CRGB leds[30]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 30, CRGB::Black); ledController.addLEDs(0, leds, 25); @@ -242,7 +242,7 @@ testF(FastLEDControllerTest, SegmentScaleMixInverted) { testF(FastLEDControllerTest, SegmentScaleMonitor) { CRGB leds[130]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 130, CRGB::Black); ledController.addLEDs(0, leds, 84); @@ -261,7 +261,7 @@ testF(FastLEDControllerTest, SegmentScaleMonitor) { testF(FastLEDControllerTest, SegmentScaleLongStrip) { CRGB leds[41]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 41, CRGB::Black); ledController.addLEDs(0, leds, 27); diff --git a/examples/UnitTests2/UnitTests2.ino b/examples/UnitTests2/UnitTests2.ino index 76c683e6..6dd35c77 100644 --- a/examples/UnitTests2/UnitTests2.ino +++ b/examples/UnitTests2/UnitTests2.ino @@ -38,7 +38,7 @@ protected: class TestFastLEDController : public FastLEDController { public: - TestFastLEDController() : FastLEDController(false) { + TestFastLEDController() : FastLEDController(nullptr) { } void setLastUpdate(unsigned long time) { @@ -55,7 +55,7 @@ public: test(getLEDs) { CRGB leds[10]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); ledController.addLEDs(0, leds, 10); assertEqual(ledController.getLEDs(0), leds); assertEqual(ledController.getLEDs(1), nullptr); @@ -63,7 +63,7 @@ test(getLEDs) { testF(FastLEDControllerTest, simpleScaleUp) { CRGB leds[20]; - FastLEDController ledController(false); + FastLEDController ledController(nullptr); fill_solid(leds, 20, CRGB::Black); ledController.addLEDs(0, leds, 20); diff --git a/extra/images/board-wiring-pico.jpg b/extra/images/board-wiring-pico.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a89eeb499cdf3ca9a3847bb9c2fcbc7b14775d7 GIT binary patch literal 99100 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⁡#)-4h$T*2VPeW@<GISD;h~$wY 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�zP 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 literal 0 HcmV?d00001 diff --git a/extra/images/select-board-pico.png b/extra/images/select-board-pico.png new file mode 100644 index 0000000000000000000000000000000000000000..cd7074e35bc873138739fd1a3a2e15fd77ab35cf GIT binary patch literal 182319 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 literal 0 HcmV?d00001 diff --git a/keywords.txt b/keywords.txt index 8f0d66f7..e370f4c5 100644 --- a/keywords.txt +++ b/keywords.txt @@ -11,6 +11,7 @@ LEDController KEYWORD1 FastLEDController KEYWORD1 CorsairLightingProtocolController KEYWORD1 CorsairLightingProtocolHID KEYWORD1 +CorsairLightingProtocolTinyUSBHID KEYWORD1 CorsairLightingProtocolSerial KEYWORD1 CorsairLightingProtocolResponse KEYWORD1 CorsairLightingFirmware KEYWORD1 diff --git a/library.properties b/library.properties index 42785776..b5b7b336 100644 --- a/library.properties +++ b/library.properties @@ -6,6 +6,6 @@ sentence=Control LED strips via USB from a PC. paragraph=The library mimics Corsair LED Controller devices and can be controlled via USB in iCUE. category=Device Control url=https://github.com/Legion2/CorsairLightingProtocol -architectures=avr +architectures=avr,samd includes=CorsairLightingProtocol.h depends=FastLED diff --git a/src/CLPAdditionalFeatures.cpp b/src/CLPAdditionalFeatures.cpp index f180c218..7d3191dc 100644 --- a/src/CLPAdditionalFeatures.cpp +++ b/src/CLPAdditionalFeatures.cpp @@ -18,12 +18,12 @@ #include "CLPUtils.h" bool CLP::shouldReset(const CorsairLightingFirmware* firmware) { - byte deviceId[4]; + DeviceID deviceId; firmware->getDeviceID(deviceId); return CLP::isResetID(deviceId); } void CLP::reset(CorsairLightingFirmware* firmware) { - byte deviceId[4] = {0x00}; + DeviceID deviceId = {0x00}; firmware->setDeviceID(deviceId); } diff --git a/src/CLPUtils.cpp b/src/CLPUtils.cpp index e4fb6a8e..1f72bef2 100644 --- a/src/CLPUtils.cpp +++ b/src/CLPUtils.cpp @@ -33,16 +33,18 @@ void CLP::disableBuildInLEDs() { #endif } -bool CLP::isNullID(const uint8_t* deviceId) { return !(deviceId[0] | deviceId[1] | deviceId[2] | deviceId[3]); } +bool CLP::isNullID(const DeviceID& deviceId) { + return !(deviceId.data[0] | deviceId.data[1] | deviceId.data[2] | deviceId.data[3]); +} -bool CLP::isResetID(const uint8_t* deviceId) { - return deviceId[0] == 0xFF && deviceId[1] == 0xFF && deviceId[2] == 0xFF && deviceId[3] == 0xFF; +bool CLP::isResetID(const DeviceID& deviceId) { + return deviceId.data[0] == 0xFF && deviceId.data[1] == 0xFF && deviceId.data[2] == 0xFF && deviceId.data[3] == 0xFF; } -void CLP::printDeviceID(const uint8_t* deviceId) { +void CLP::printDeviceID(const DeviceID& deviceId) { char tmp[16]; for (size_t i = 0; i < 4; i++) { - sprintf(tmp, "%.2X", deviceId[i]); + sprintf(tmp, "%.2X", deviceId.data[i]); Serial.print(tmp); if (i < 3) Serial.print(F(" ")); } diff --git a/src/CLPUtils.h b/src/CLPUtils.h index 005d0f3e..9188ae7d 100644 --- a/src/CLPUtils.h +++ b/src/CLPUtils.h @@ -16,6 +16,7 @@ #pragma once #include "Arduino.h" +#include "CorsairLightingFirmware.h" #define toBigEndian(a) highByte(a), lowByte(a) @@ -41,14 +42,14 @@ inline uint8_t convert255To100(uint8_t value) { return value / 2.5546875f; } * * @param deviceId the device id to check */ -bool isNullID(const uint8_t* deviceId); +bool isNullID(const DeviceID& deviceId); /** * Check if a device id is the special reset id (FF FF FF FF). * * @param deviceId the device id to check */ -bool isResetID(const uint8_t* deviceId); +bool isResetID(const DeviceID& deviceId); /** * This will disable the RX and TX built in LEDs on Arduino Leonardo, Micro and Pro Micro. @@ -60,7 +61,7 @@ void disableBuildInLEDs(); * * @param deviceId the device id to print */ -void printDeviceID(const uint8_t* deviceId); +void printDeviceID(const DeviceID& deviceId); /* * Measure and print the framerate at the given interval in milliseconds. The higher this value the more precise the diff --git a/src/CorsairLightingFirmware.cpp b/src/CorsairLightingFirmware.cpp index ea9c4f53..69a15fbd 100644 --- a/src/CorsairLightingFirmware.cpp +++ b/src/CorsairLightingFirmware.cpp @@ -15,18 +15,12 @@ */ #include "CorsairLightingFirmware.h" -#include - const uint8_t bootloader_version[] PROGMEM = {0x00, 0x02}; -const uint8_t corsairLightingNodePROFirmwareVersion[FIRMWARE_VERSION_SIZE] PROGMEM = {0x00, 0x0A, 0x04}; - -const uint8_t corsairCommanderPROFirmwareVersion[FIRMWARE_VERSION_SIZE] PROGMEM = {0x00, 0x09, 0xD4}; - -const uint8_t corsairLT100FirmwareVersion[FIRMWARE_VERSION_SIZE] PROGMEM = {0x01, 0x01, 0x38}; - -CorsairLightingFirmware::CorsairLightingFirmware(const uint8_t* firmwareVersion) : firmwareVersion(firmwareVersion) { - EEPROM.get(EEPROM_ADDRESS_DEVICE_ID, deviceId); +CorsairLightingFirmware::CorsairLightingFirmware(corsair_product_enum_t product, + CorsairLightingFirmwareStorage* storage) + : storage(storage), product(product) { + storage->loadDeviceID(deviceId); } void CorsairLightingFirmware::handleFirmwareCommand(const Command& command, @@ -38,16 +32,17 @@ void CorsairLightingFirmware::handleFirmwareCommand(const Command& command, break; } case READ_FIRMWARE_VERSION: { - response->send_P(firmwareVersion, FIRMWARE_VERSION_SIZE); + response->send_P(firmwareVersions[product], FIRMWARE_VERSION_SIZE); break; } case READ_DEVICE_ID: { - response->send(deviceId, sizeof(deviceId)); + response->send(deviceId.data, sizeof(deviceId)); break; } case WRITE_DEVICE_ID: { - setDeviceID(command.data); - response->send(deviceId, sizeof(deviceId)); + DeviceID deviceID = {command.data[0], command.data[1], command.data[2], command.data[3]}; + setDeviceID(deviceID); + response->send(deviceId.data, sizeof(deviceId)); break; } case READ_BOOTLOADER_VERSION: { @@ -60,31 +55,15 @@ void CorsairLightingFirmware::handleFirmwareCommand(const Command& command, } } -void CorsairLightingFirmware::getDeviceID(uint8_t* deviceID) const { memcpy(deviceID, deviceId, sizeof(deviceId)); } +void CorsairLightingFirmware::getDeviceID(DeviceID& deviceID) const { deviceID = deviceId; } -void CorsairLightingFirmware::setDeviceID(const uint8_t* deviceID) { - memcpy(deviceId, deviceID, sizeof(deviceId)); - EEPROM.put(EEPROM_ADDRESS_DEVICE_ID, deviceId); +void CorsairLightingFirmware::setDeviceID(const DeviceID& deviceID) { + deviceId = deviceID; + storage->saveDeviceID(deviceID); } uint8_t CorsairLightingFirmware::getStatus() { return status; } void CorsairLightingFirmware::setStatus(uint8_t a_status) { status = a_status; } -CorsairLightingFirmware corsairLightingNodePROFirmware() { - return CorsairLightingFirmware(corsairLightingNodePROFirmwareVersion); -} - -CorsairLightingFirmware corsairLightingNodeCOREFirmware() { - return CorsairLightingFirmware(corsairLightingNodePROFirmwareVersion); -} - -CorsairLightingFirmware corsairLS100Firmware() { - return CorsairLightingFirmware(corsairLightingNodePROFirmwareVersion); -} - -CorsairLightingFirmware corsairCommanderPROFirmware() { - return CorsairLightingFirmware(corsairCommanderPROFirmwareVersion); -} - -CorsairLightingFirmware corsairLT100Firmware() { return CorsairLightingFirmware(corsairLT100FirmwareVersion); } +uint8_t CorsairLightingFirmware::getProduct() { return product; } diff --git a/src/CorsairLightingFirmware.h b/src/CorsairLightingFirmware.h index ac2e2a2b..7135a630 100644 --- a/src/CorsairLightingFirmware.h +++ b/src/CorsairLightingFirmware.h @@ -19,38 +19,50 @@ #include "CorsairLightingProtocolConstants.h" #include "CorsairLightingProtocolResponse.h" -#ifndef EEPROM_ADDRESS_DEVICE_ID -#define EEPROM_ADDRESS_DEVICE_ID 0 -#endif +#define FIRMWARE_VERSION_SIZE 3 -#define PROTOCOL_STATUS_OK 0x00 -#define PROTOCOL_STATUS_ERROR 0xFF +const uint8_t corsairLightingNodePROFirmwareVersion[FIRMWARE_VERSION_SIZE] PROGMEM = {0x00, 0x0A, 0x04}; -#define FIRMWARE_VERSION_SIZE 3 +#define corsairLightingNodeCOREFirmwareVersion corsairLightingNodePROFirmwareVersion + +#define corsairLS100FirmwareVersion corsairLightingNodePROFirmwareVersion + +const uint8_t corsairCommanderPROFirmwareVersion[FIRMWARE_VERSION_SIZE] PROGMEM = {0x00, 0x09, 0xD4}; + +const uint8_t corsairLT100FirmwareVersion[FIRMWARE_VERSION_SIZE] PROGMEM = {0x01, 0x01, 0x38}; + +const uint8_t* const firmwareVersions[] PROGMEM = { + corsairLightingNodePROFirmwareVersion, corsairCommanderPROFirmwareVersion, corsairLightingNodeCOREFirmwareVersion, + corsairLS100FirmwareVersion, corsairLT100FirmwareVersion}; + +struct DeviceID { + uint8_t data[4]; +}; + +/** + * Interface to store the device id + */ +class CorsairLightingFirmwareStorage { +public: + virtual void loadDeviceID(DeviceID& deviceID) const = 0; + virtual void saveDeviceID(const DeviceID& deviceID) = 0; +}; class CorsairLightingFirmware { public: - CorsairLightingFirmware(const uint8_t* firmwareVersion); + CorsairLightingFirmware(corsair_product_enum_t product, CorsairLightingFirmwareStorage* storage); void handleFirmwareCommand(const Command& command, const CorsairLightingProtocolResponse* response); - void getDeviceID(uint8_t* deviceID) const; - void setDeviceID(const uint8_t* deviceID); + void getDeviceID(DeviceID& deviceID) const; + void setDeviceID(const DeviceID& deviceID); uint8_t getStatus(); void setStatus(uint8_t status); + uint8_t getProduct(); protected: - const uint8_t* firmwareVersion; - uint8_t deviceId[4]; + CorsairLightingFirmwareStorage* const storage; + const corsair_product_enum_t product; + DeviceID deviceId; private: uint8_t status = PROTOCOL_STATUS_OK; }; - -CorsairLightingFirmware corsairLightingNodePROFirmware(); - -CorsairLightingFirmware corsairLightingNodeCOREFirmware(); - -CorsairLightingFirmware corsairLS100Firmware(); - -CorsairLightingFirmware corsairCommanderPROFirmware(); - -CorsairLightingFirmware corsairLT100Firmware(); diff --git a/src/CorsairLightingFirmwareStorageEEPROM.cpp b/src/CorsairLightingFirmwareStorageEEPROM.cpp new file mode 100644 index 00000000..e45e21e8 --- /dev/null +++ b/src/CorsairLightingFirmwareStorageEEPROM.cpp @@ -0,0 +1,29 @@ +/* + Copyright 2021 Leon Kiefer + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +#include "CorsairLightingFirmwareStorageEEPROM.h" + +#if defined(ARDUINO_ARCH_AVR) + +#include + +void CorsairLightingFirmwareStorageEEPROM::loadDeviceID(DeviceID& deviceID) const { + EEPROM.get(EEPROM_ADDRESS_DEVICE_ID, deviceID); +} +void CorsairLightingFirmwareStorageEEPROM::saveDeviceID(const DeviceID& deviceID) { + EEPROM.put(EEPROM_ADDRESS_DEVICE_ID, deviceID); +} + +#endif diff --git a/src/CorsairLightingFirmwareStorageEEPROM.h b/src/CorsairLightingFirmwareStorageEEPROM.h new file mode 100644 index 00000000..66074162 --- /dev/null +++ b/src/CorsairLightingFirmwareStorageEEPROM.h @@ -0,0 +1,32 @@ +/* + Copyright 2021 Leon Kiefer + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +#pragma once + +#if defined(ARDUINO_ARCH_AVR) + +#include "CorsairLightingFirmware.h" + +#ifndef EEPROM_ADDRESS_DEVICE_ID +#define EEPROM_ADDRESS_DEVICE_ID 0 +#endif + +class CorsairLightingFirmwareStorageEEPROM : public CorsairLightingFirmwareStorage { +public: + virtual void loadDeviceID(DeviceID& deviceID) const override; + virtual void saveDeviceID(const DeviceID& deviceID) override; +}; + +#endif diff --git a/src/CorsairLightingFirmwareStorageStatic.cpp b/src/CorsairLightingFirmwareStorageStatic.cpp new file mode 100644 index 00000000..f80e7ac5 --- /dev/null +++ b/src/CorsairLightingFirmwareStorageStatic.cpp @@ -0,0 +1,23 @@ +/* + Copyright 2021 Leon Kiefer + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +#include "CorsairLightingFirmwareStorageStatic.h" + +CorsairLightingFirmwareStorageStatic::CorsairLightingFirmwareStorageStatic(DeviceID& deviceID) : deviceID(deviceID) {} + +void CorsairLightingFirmwareStorageStatic::loadDeviceID(DeviceID& deviceID) const { deviceID = this->deviceID; } +void CorsairLightingFirmwareStorageStatic::saveDeviceID(const DeviceID& deviceID) { + // DeviceID can not be updated +} diff --git a/src/CorsairLightingFirmwareStorageStatic.h b/src/CorsairLightingFirmwareStorageStatic.h new file mode 100644 index 00000000..e3c8f983 --- /dev/null +++ b/src/CorsairLightingFirmwareStorageStatic.h @@ -0,0 +1,28 @@ +/* + Copyright 2021 Leon Kiefer + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +#pragma once + +#include "CorsairLightingFirmware.h" + +class CorsairLightingFirmwareStorageStatic : public CorsairLightingFirmwareStorage { +private: + const DeviceID deviceID; + +public: + CorsairLightingFirmwareStorageStatic(DeviceID& deviceID); + virtual void loadDeviceID(DeviceID& deviceID) const override; + virtual void saveDeviceID(const DeviceID& deviceID) override; +}; diff --git a/src/CorsairLightingProtocol.h b/src/CorsairLightingProtocol.h index 0374bce1..5733881e 100644 --- a/src/CorsairLightingProtocol.h +++ b/src/CorsairLightingProtocol.h @@ -22,13 +22,18 @@ #include "CLPAdditionalFeatures.h" #include "CLPUtils.h" #include "CorsairLightingFirmware.h" +#include "CorsairLightingFirmwareStorageEEPROM.h" +#include "CorsairLightingFirmwareStorageStatic.h" #include "CorsairLightingProtocolConstants.h" #include "CorsairLightingProtocolController.h" +#include "CorsairLightingProtocolTinyUSBHID.h" #include "CorsairLightingProtocolHID.h" #include "CorsairLightingProtocolResponse.h" #include "CorsairLightingProtocolSerial.h" #include "FanController.h" #include "FastLEDController.h" +#include "FastLEDControllerStorage.h" +#include "FastLEDControllerStorageEEPROM.h" #include "FastLEDControllerUtils.h" #include "IFanController.h" #include "ILEDController.h" diff --git a/src/CorsairLightingProtocolConstants.h b/src/CorsairLightingProtocolConstants.h index ef50fb7b..c037c2ea 100644 --- a/src/CorsairLightingProtocolConstants.h +++ b/src/CorsairLightingProtocolConstants.h @@ -60,6 +60,34 @@ #define PROTOCOL_RESPONSE_OK 0x00 #define PROTOCOL_RESPONSE_ERROR 0x01 +#define PROTOCOL_STATUS_OK 0x00 +#define PROTOCOL_STATUS_ERROR 0xFF + +#ifndef SERIAL_NUMBER +#define SERIAL_NUMBER "FB66DF55421900F5" +#endif + +#define CORSAIR_MANUFACTURER "Corsair" +#define CORSAIR_VID 0x1B1C +#define CORSAIR_LNP_PRODUCT "Lighting Node PRO" +#define CORSAIR_LNP_PID 0x0C0B +#define CORSAIR_CP_PRODUCT "Commander PRO" +#define CORSAIR_CP_PID 0x0C10 +#define CORSAIR_LNC_PRODUCT "Lighting Node CORE" +#define CORSAIR_LNC_PID 0x0C1A +#define CORSAIR_SLC_PRODUCT "Smart Lighting Controller" +#define CORSAIR_SLC_PID 0x0C1E +#define CORSAIR_SLT_PRODUCT "Smart Lighting Towers" +#define CORSAIR_SLT_PID 0x0C23 + +typedef enum +{ + CORSAIR_LIGHTING_NODE_PRO = 0, + CORSAIR_COMMANDER_PRO, + CORSAIR_LIGHTING_NODE_CORE, + CORSAIR_SMART_LIGHTING_CONTROLLER, + CORSAIR_SMART_LIGHTING_TOWERS +}corsair_product_enum_t; struct Command { union { diff --git a/src/CorsairLightingProtocolController.cpp b/src/CorsairLightingProtocolController.cpp index 3f4de55e..7da95368 100644 --- a/src/CorsairLightingProtocolController.cpp +++ b/src/CorsairLightingProtocolController.cpp @@ -55,3 +55,5 @@ void CorsairLightingProtocolController::handleCommand(const Command& command, response->sendError(); } } + +CorsairLightingFirmware* CorsairLightingProtocolController::getFirmware(void) { return corsairLightingFirmware; } \ No newline at end of file diff --git a/src/CorsairLightingProtocolController.h b/src/CorsairLightingProtocolController.h index a05c9412..ee279d41 100644 --- a/src/CorsairLightingProtocolController.h +++ b/src/CorsairLightingProtocolController.h @@ -58,6 +58,8 @@ class CorsairLightingProtocolController { */ void handleCommand(const Command& command, CorsairLightingProtocolResponse* response); + CorsairLightingFirmware* getFirmware(void); + private: CorsairLightingFirmware* const corsairLightingFirmware; ILEDController* const ledController; diff --git a/src/CorsairLightingProtocolSerial.cpp b/src/CorsairLightingProtocolSerial.cpp index d7c9d00a..878b3647 100644 --- a/src/CorsairLightingProtocolSerial.cpp +++ b/src/CorsairLightingProtocolSerial.cpp @@ -45,7 +45,7 @@ bool CorsairLightingProtocolSerial::handleSerial() { delayMicroseconds(100); if (Serial.available()) { - size_t read = Serial.readBytes(rawCommand, sizeof(rawCommand)); + size_t read = Serial.readBytes((char*)rawCommand, sizeof(rawCommand)); if (read == sizeof(rawCommand)) { return true; } else { diff --git a/src/CorsairLightingProtocolTinyUSBHID.cpp b/src/CorsairLightingProtocolTinyUSBHID.cpp new file mode 100644 index 00000000..56d96748 --- /dev/null +++ b/src/CorsairLightingProtocolTinyUSBHID.cpp @@ -0,0 +1,80 @@ +#include "CorsairLightingProtocolTinyUSBHID.h" + +#if defined(USE_TINYUSB) + +const char* corsairProducts[] = {CORSAIR_LNP_PRODUCT, CORSAIR_CP_PRODUCT, CORSAIR_LNC_PRODUCT, CORSAIR_SLC_PRODUCT, + CORSAIR_SLT_PRODUCT}; +const int corsairPIDs[] = {CORSAIR_LNP_PID, CORSAIR_CP_PID, CORSAIR_LNC_PID, CORSAIR_SLC_PID, CORSAIR_SLT_PID}; + +Command CorsairLightingProtocolTinyUSBHID::command; +int CorsairLightingProtocolTinyUSBHID::newData; + +/* clang-format off */ +uint8_t const hid_report[] = {HID_USAGE_PAGE_N (HID_USAGE_PAGE_VENDOR | 0xC0, 2), + HID_USAGE_N (0x0C00, 2), + HID_COLLECTION (HID_COLLECTION_APPLICATION ), + HID_REPORT_SIZE (8 ), + HID_LOGICAL_MIN (0x00 ), + HID_LOGICAL_MAX_N(0xff, 2), + HID_REPORT_COUNT (RESPONSE_SIZE ), + HID_USAGE (0x01 ), + HID_INPUT (HID_DATA | HID_VARIABLE | HID_ABSOLUTE), + HID_REPORT_COUNT (COMMAND_SIZE ), + HID_USAGE (0x02 ), + HID_OUTPUT (HID_DATA | HID_VARIABLE | HID_ABSOLUTE), + HID_COLLECTION_END}; +/* clang-format on */ + +Adafruit_USBD_HID usb_hid(hid_report, sizeof(hid_report), HID_ITF_PROTOCOL_NONE, 10, true); + +uint16_t get_report_callback(uint8_t report_id, hid_report_type_t report_type, uint8_t* buffer, uint16_t reqlen) { + (void)report_id; + (void)report_type; + (void)buffer; + (void)reqlen; + return 0; +} + +void set_report_callback(uint8_t report_id, hid_report_type_t report_type, uint8_t const* buffer, uint16_t bufsize) { + (void)report_id; + (void)report_type; + + if (bufsize <= sizeof(Command)) { + memcpy(&CorsairLightingProtocolTinyUSBHID::command.raw, buffer, bufsize); + CorsairLightingProtocolTinyUSBHID::newData = 1; + } +} + +CorsairLightingProtocolTinyUSBHID::CorsairLightingProtocolTinyUSBHID(CorsairLightingProtocolController* controller) + : controller(controller), serialNumber(SERIAL_NUMBER) {} + +CorsairLightingProtocolTinyUSBHID::CorsairLightingProtocolTinyUSBHID(CorsairLightingProtocolController* controller, + const char* serialNumber) + : controller(controller), serialNumber(serialNumber) {} + +void CorsairLightingProtocolTinyUSBHID::setup() { + Serial.end(); + + TinyUSBDevice.setManufacturerDescriptor(CORSAIR_MANUFACTURER); + TinyUSBDevice.setProductDescriptor(corsairProducts[controller->getFirmware()->getProduct()]); + TinyUSBDevice.setID(CORSAIR_VID, corsairPIDs[controller->getFirmware()->getProduct()]); + TinyUSBDevice.setSerialDescriptor(serialNumber); + + usb_hid.setReportCallback(get_report_callback, set_report_callback); + usb_hid.begin(); + + while (!TinyUSBDevice.mounted()) delay(1); +} + +void CorsairLightingProtocolTinyUSBHID::update(void) { + if (newData) { + controller->handleCommand(command, this); + newData = 0; + } +} + +void CorsairLightingProtocolTinyUSBHID::sendX(const uint8_t* data, const size_t x) const { + usb_hid.sendReport(0, data, x); +} + +#endif \ No newline at end of file diff --git a/src/CorsairLightingProtocolTinyUSBHID.h b/src/CorsairLightingProtocolTinyUSBHID.h new file mode 100644 index 00000000..21c4666e --- /dev/null +++ b/src/CorsairLightingProtocolTinyUSBHID.h @@ -0,0 +1,47 @@ +#pragma once + +#include "Arduino.h" +#include "CorsairLightingProtocolConstants.h" +#include "CorsairLightingProtocolController.h" +#include "CorsairLightingProtocolResponse.h" + +#if defined(USE_TINYUSB) + +#include "Adafruit_TinyUSB.h" + +class CorsairLightingProtocolTinyUSBHID : CorsairLightingProtocolResponse { +public: + /** + * Create a new adapter for CorsairLightingProtocolController using the default Serial Number. + * + * @param controller the CorsairLightingProtocolController + */ + CorsairLightingProtocolTinyUSBHID(CorsairLightingProtocolController* controller); + /** + * Create a new adapter for CorsairLightingProtocolController using the given Serial Number for the usb interface. + * + * @param controller the CorsairLightingProtocolController + * @param serialNumber the Serial Number used for the USB interface + */ + CorsairLightingProtocolTinyUSBHID(CorsairLightingProtocolController* controller, const char* serialNumber); + /** + * Setup the TinyUSB HID connection. + * This function must be called in setup. + */ + void setup(); + /** + * Read commands form HID interface and pass them to the contoller. This function must be called in loop. + */ + void update(void); + + static Command command; + + static int newData; + +protected: + CorsairLightingProtocolController* const controller; + const char* serialNumber; + void sendX(const uint8_t* data, const size_t x) const override; +}; + +#endif \ No newline at end of file diff --git a/src/FastLEDController.cpp b/src/FastLEDController.cpp index 97d41e5c..f6ef75d4 100644 --- a/src/FastLEDController.cpp +++ b/src/FastLEDController.cpp @@ -15,12 +15,13 @@ */ #include "FastLEDController.h" -#include - -FastLEDController::FastLEDController(bool useEEPROM) : temperatureController(nullptr), useEEPROM(useEEPROM) { load(); } +FastLEDController::FastLEDController(FastLEDControllerStorage* storage) + : temperatureController(nullptr), storage(storage) { + load(); +} -FastLEDController::FastLEDController(TemperatureController* temperatureController, bool useEEPROM) - : temperatureController(temperatureController), useEEPROM(useEEPROM) { +FastLEDController::FastLEDController(TemperatureController* temperatureController, FastLEDControllerStorage* storage) + : temperatureController(temperatureController), storage(storage) { load(); } @@ -455,34 +456,36 @@ bool FastLEDController::updateLEDs() { return anyUpdate; } -size_t FastLEDController::getEEPROMSize() { return sizeof(channels); } - void FastLEDController::onUpdateHook(uint8_t channel, void (*callback)(void)) { channelData[channel].onUpdateCallback = callback; } bool FastLEDController::load() { - if (useEEPROM) { - EEPROM.get(EEPROM_ADDRESS, channels); - for (LEDChannel& channel : channels) { - if (!isValidLEDChannel(channel)) { - channel = LEDChannel(); - } + if (storage == nullptr) { + return false; + } + + for (int i = 0; i < CHANNEL_NUM; i++) { + storage->load(i, channels[i]); + } + + for (LEDChannel& channel : channels) { + if (!isValidLEDChannel(channel)) { + channel = LEDChannel(); } - return true; } - return false; + return true; } bool FastLEDController::save() { - if (useEEPROM) { -#ifdef DEBUG - Serial.println(F("Save to EEPROM.")); -#endif - EEPROM.put(EEPROM_ADDRESS, channels); - return true; + if (storage == nullptr) { + return false; } - return false; + + for (int i = 0; i < CHANNEL_NUM; i++) { + storage->save(i, channels[i]); + } + return true; } void FastLEDController::triggerLEDUpdate() { trigger_update = true; } diff --git a/src/FastLEDController.h b/src/FastLEDController.h index df2c9ec1..77f066a9 100644 --- a/src/FastLEDController.h +++ b/src/FastLEDController.h @@ -18,13 +18,10 @@ #include #include "Arduino.h" +#include "FastLEDControllerStorage.h" #include "LEDController.h" #include "TemperatureController.h" -#ifndef EEPROM_ADDRESS -#define EEPROM_ADDRESS 4 -#endif - #ifndef LED_CONTROLLER_TIMEOUT #define LED_CONTROLLER_TIMEOUT 30000 #endif @@ -57,22 +54,22 @@ class FastLEDController : public LEDController { public: /** - * Create a new FastLEDController and specify if the EEPROM of the Arduino should be used. See the other contructor - * for more details. + * Create a new FastLEDController and specify which storage should be used. The EEPROM of the Arduino can be used as + * Storage. See the other contructor for more details. * - * @param useEEPROM specify if the EEPROM should be used + * @param storage specify the storage which should be used, e.g. EEPROM */ - FastLEDController(bool useEEPROM); + FastLEDController(FastLEDControllerStorage* storage); /** - * Create a new FastLEDController and specify if the EEPROM of the Arduino should be used to store persistent - * information like the Hardware Lighting. If enabled, the hardware lighting configured in iCUE works without a USB - * connection and even after a restart of the Arduino. Also the the TemperatureController used for temperature - * related lighting can be passed here. + * Create a new FastLEDController and specify which storage should be used. If the EEPROM of the Arduino should be + * used to store persistent information like the Hardware Lighting use {@code FastLEDControllerStorageEEPROM}. If + * enabled, the hardware lighting configured in iCUE works without a USB connection and even after a restart of the + * Arduino. Also the the TemperatureController used for temperature related lighting can be passed here. * * @param temperatureController used for temperature based lighting - * @param useEEPROM specify if the EEPROM should be used + * @param storage specify the storage which should be used, e.g. EEPROM */ - FastLEDController(TemperatureController* temperatureController, bool useEEPROM); + FastLEDController(TemperatureController* temperatureController, FastLEDControllerStorage* storage); ~FastLEDController(); /** * Add a LED array on a channel with a given length. The length define how many LEDs iCUE can control. The actual @@ -106,12 +103,6 @@ class FastLEDController : public LEDController { * @return true if the LED data of a channel was updated, false otherwise */ virtual bool updateLEDs(); - /** - * Get the total size of all data stored in EEPROM by this LEDController. - * - * @return the size in bytes - */ - virtual size_t getEEPROMSize(); /** * Register an update hook, which is executed after a channel has been updated. This can be used to apply * transforamtions to the channel before the data is displayed by FastLED. @@ -123,6 +114,7 @@ class FastLEDController : public LEDController { protected: TemperatureController* const temperatureController; + FastLEDControllerStorage* const storage; bool trigger_update = false; @@ -168,7 +160,6 @@ class FastLEDController : public LEDController { bool renderSequential(ChannelData& channelData, LEDGroup& group, int groupLedCount); bool renderRainbow(ChannelData& channelData, LEDGroup& group, int groupLedCount); - const bool useEEPROM; bool load() override; bool save() override; diff --git a/src/FastLEDControllerStorage.h b/src/FastLEDControllerStorage.h new file mode 100644 index 00000000..366458cc --- /dev/null +++ b/src/FastLEDControllerStorage.h @@ -0,0 +1,24 @@ +/* + Copyright 2021 Leon Kiefer + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +#pragma once + +#include "LEDController.h" + +class FastLEDControllerStorage { +public: + virtual bool load(const int index, LEDChannel& channel) = 0; + virtual bool save(const int index, const LEDChannel& channel) = 0; +}; diff --git a/src/FastLEDControllerStorageEEPROM.cpp b/src/FastLEDControllerStorageEEPROM.cpp new file mode 100644 index 00000000..2ab8572e --- /dev/null +++ b/src/FastLEDControllerStorageEEPROM.cpp @@ -0,0 +1,37 @@ +/* + Copyright 2021 Leon Kiefer + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +#include "FastLEDControllerStorageEEPROM.h" + +#if defined(ARDUINO_ARCH_AVR) + +#include + +bool FastLEDControllerStorageEEPROM::load(const int index, LEDChannel& channel) { + EEPROM.get(EEPROM_ADDRESS + (sizeof(LEDChannel) * index), channel); + return true; +} + +bool FastLEDControllerStorageEEPROM::save(const int index, const LEDChannel& channel) { +#ifdef DEBUG + Serial.println(F("Save to EEPROM.")); +#endif + EEPROM.put(EEPROM_ADDRESS + (sizeof(LEDChannel) * index), channel); + return true; +} + +size_t FastLEDControllerStorageEEPROM::getEEPROMSize() { return sizeof(LEDChannel) * CHANNEL_NUM; } + +#endif diff --git a/src/FastLEDControllerStorageEEPROM.h b/src/FastLEDControllerStorageEEPROM.h new file mode 100644 index 00000000..a50a8ff1 --- /dev/null +++ b/src/FastLEDControllerStorageEEPROM.h @@ -0,0 +1,38 @@ +/* + Copyright 2021 Leon Kiefer + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +#pragma once + +#if defined(ARDUINO_ARCH_AVR) + +#include "FastLEDControllerStorage.h" + +#ifndef EEPROM_ADDRESS +#define EEPROM_ADDRESS 4 +#endif + +class FastLEDControllerStorageEEPROM : public FastLEDControllerStorage { +public: + virtual bool load(const int index, LEDChannel& channel) override; + virtual bool save(const int index, const LEDChannel& channel) override; + /** + * Get the total size of all data stored in EEPROM by this LEDController. + * + * @return the size in bytes + */ + virtual size_t getEEPROMSize(); +}; + +#endif diff --git a/src/RawHID.cpp b/src/RawHID.cpp index efe991df..e7537c03 100644 --- a/src/RawHID.cpp +++ b/src/RawHID.cpp @@ -2,17 +2,14 @@ Copyright (c) 2014-2015 NicoHood modified by Leon Kiefer See the readme for credit to other people. - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -49,9 +46,6 @@ static const uint8_t _hidReportDescriptorRawHID[] PROGMEM = { 0xC0 /* end collection */ }; /* clang-format on */ -#ifndef SERIAL_NUMBER -#define SERIAL_NUMBER "FB66DF55421900F5" -#endif const char defaultSerialNumber[] PROGMEM = SERIAL_NUMBER; @@ -173,4 +167,4 @@ uint8_t CLP::RawHID_::getShortName(char* name) { namespace CLP { RawHID_ RawHID; } -#endif +#endif \ No newline at end of file diff --git a/src/RawHID.h b/src/RawHID.h index 2cb0b87d..4f964bb6 100644 --- a/src/RawHID.h +++ b/src/RawHID.h @@ -2,17 +2,14 @@ Copyright (c) 2014-2015 NicoHood modified by Leon Kiefer See the readme for credit to other people. - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -165,4 +162,4 @@ class RawHID_ : public PluggableUSBModule, public Stream { }; extern RawHID_ RawHID; } // namespace CLP -#endif +#endif \ No newline at end of file