`clock()`, which was used previously, behaves differently on various platform.
So switching to this lets us use a standard part of the language which
avoids this.
Signed-off-by: B Horn <b@horn.uk>
This adds support for the Blinkinlabs BlinkyTape controller, a
USB-powered digital LED strip controller. Devices are detected
automatically by scanning for their VID/PID, and connected to using
serial.
This code was tested in Windows.
Commit squashed and amended for code style and to fix Linux build by Adam Honse <calcprogrammer1@gmail.com>
+ Add full matrix map
+ Amend WootingKeyboardController::SendDirect to support extra keys
+ Adjust WootingKeyboardController::wooting_usb_send_buffer to support extra buffer
- 4 region keyboard LED controller (tried to keep controller generic
for other setups as well)
- Support for Static, Flashing, Morph, Spectrum Cycle, Rainbow Wave,
and Breathing modes
- Implemented rate limiting for sending reports since the controller
crashes if too many reports are sent too quickly. Also implemented
functionality to prevent sending frivolous update requests
- Implemented support for setting mode, color, tempo, and period
independently for each zone (not fully exposed in UI). Morph mode
exposes 2 colors per zone.
Commit amended for code style by Adam Honse <calcprogrammer1@gmail.com>
* Bumped profile version to 3
* Loading a v1/v2 profile onto a device with brightness will work
* Loading a v3 profile onto a device without brightness also works
* Add profile version parameter to Get/SetModeDescription
Commit amended for code style and to update versioning by Adam Honse <calcprogrammer1@gmail.com>
* Added DeviceHasBrightness() = false; to RGBController as overridable
* Added Brightness to Mode struct
* Added BrightnessSlider to the OpenRGBDevicePage ui and the supporting
code to pass to the RGBController
Commit amended for code style and to split API changes and controller changes out by Adam Honse
<calcprogrammer1@gmail.com>
* Supports configurable set palette
* Ability to add custom colours
* Can be resized and geometry changed at compile
Commit amended by Adam Honse <calcprogrammer1@gmail.com>
* Ability to add custom colors disabled for now
* Scaling by width, not height
* Fill rows first, then cols