corsairofficial / cue-sdk Goto Github PK
View Code? Open in Web Editor NEWCorsair iCUE SDK
Home Page: https://corsairofficial.github.io/cue-sdk/
Corsair iCUE SDK
Home Page: https://corsairofficial.github.io/cue-sdk/
Hi Corsair & Co,
I have noticed the following issues controlling the M800(C) mouse pad (latest firmware v1.02.50) using the latest CUE SDK v3.0.301 + the latest iCUE version 3.25.60, running on Windows 10:
Thanks for making the SDK available; keep up the good work!
BR//KHH (@xoblite)
PS. "CUE SDK" and "iCUE SDK" are used interchangeably across the Corsair forums and here on GitHub; which one is the correct one to refer to if/when so applicable? (i.e. respecting any trademarks etc)
The Commander Pro supports Fan Control via iCUE but the SDK not.
Is it possible to add support to read/write the Fan speed.
Same for the temperature sensors.
When will the SDK update to have support for the K60 RGB Pro that was released last October?
Hi Corsair & Co,
I have noticed the following issues controlling the M800(C) mouse pad (latest firmware v1.02.50) using the latest CUE SDK v3.0.301 (CUESDK_2013.dll) + the latest iCUE version 3.25.60, running on Windows 10:
Thanks for making the SDK available; keep up the good work!
BR//KHH (@xoblite)
It would be really useful for a similar SDK to be provided for PSUs. There is this great LINK but no way to capture the data.
As of 6-Sep 2023, the current version of the iCUE SDK package is 4.0.48. The included PDF documentation says that there should be an examples folder in this archive with a sample project, but this folder does not exist. If this was removed intentionally, the document should be updated to reflect that (and it should also be included in the release notes). The better solution would be to add the sample project back to the distributed SDK package, as documented.
I use the wallpaperengine beta which uses the newest SDK version v3.0.355. It only controlls 4 and a half LL120 and the strips on the same Node pro second channel arent controlled. Everytime the same leds. Sometimes it works after a restart. Sometimes not.
Greetings,
I've been hard at work trying to figure out why when I'm using the open source project Artemis 2 (which in turn is using cue-sdk 4) it always ends up freezing my Corsair LEDs. It generally takes 2-5 hours and with a 100% chance of happening at least relatively close to those estimations.
I can start with my build:
ROG Strix z790 E-Gaming
i9 13900k
Zotac RTX 4090 Trinity OC Edition
4x Corsair Dominator 16GB 6000 MHz (64GB total)
Corsair Elite H150i LCD AIO
1200 W PSU
ThermalTake View 71 case
1x LL140 Corsair fan
The AIO and the LL140 fan is plugged in to the included Commander Core controller I received with the AIO. Up until today I've made sure to plug the included usb header splitter directly into the motherboard. Starting today I'm testing having them plugged in to my NZXT internal usb hub which now contains all 4 of my usb header connections.
Getting to the issue!
Using iCue alone seems to work fine in terms of nothing freezing or such, however I decided to install Open RGB (instead of Armoury Crate) for my ASUS motherboard and install Artemis 2 for the increased options of making dynamic effects and later hopefully game integrations. The issue is that using Artemis it seems to play fine until eventually after a few hours the LEDs freeze. I've tried debugging to the best of my abilities and have been in touch with the Artemis crew.
It looks like the thread they use for updating the LEDs gets forever stuck in the cue sdk once CorsairSetLedColors()
has been called. Out of all my sessions it only ever seems to be the "Commander CORE" device that it gets stuck with (hence my recent desperate test of switching the usb headers for it). In my everlong quest of finding a good repro it has been incredibly hard to find anything relatable to this freezing event. Artemis has sometimes managed to print out exception logs saying "DeviceNotFound" as I believe a CorsairError but it eventually gets stuck anyway but might give you a better idea of what could possibly lead to some times returning "DeviceNotFound" before getting stuck while other times just getting stuck without the error returned.
Event viewer in Windows shows nothing consistent happening during a freeze (sometimes I can see a power state change in what could be close to the issue happening but other times none at all). I've set my Power Management settings to High Performance (using Windows 11 Pro), have disabled Sleep and have set my monitors to turn off after 1 hour. In device manager I've unticked every single device's "Allow Windows to turn off this device to save power". I've examined countless iCue and Artemis logs with only the aforementioned occasional "DeviceNotFound" exception as the only log indicating something has gone wrong at all.
I will add that I've noticed a few more people popping up with the same freezing issues (in Artemis) which I think I heard is most likely connected to the move to the new cue sdk 4.
If you could take a look or grant your thoughts that would be greatly appreciated. I am also willing (and hopefully able ^^) to help provide you with any thing I can that might be of use. I've ran out of options and there's not much more the Artemis devs can do unless there are some prerequisites of calling CorsairSetLedColors()
continuously that they/I don't know about.
Thank you in advance and for getting through my wall of text!
I was trying the sample project events_example, but I can't seem to see any events printed to the console when disconnecting multiple Corsair devices.
iCUE version: 4.30.162
Devices tested:
Virtuoso SE
DarkCore Pro SE
K63 Wireless
Is there any chance to get this updated?
Where are the difficulties on that (i am genuinely curious)?
Hey guys,
i am using the k57 (mostly in wireless mode).
For the lightning, i use the Software Aurora
This works fine. I can pass Razer game effects etc to my keyboard via the icue-sdk.
BUT ONLY when i attach the cable.
As soon as i go wireless, the lightning stops. And i'm pretty sure its not the a 3rd-Party error, because the preview of my keyboard in icue is still getting lightning updates, but the actual keyboard does not.
for clarification: the attached screenshot shows both the aurora and icue with the correct lightning, the keyboard itself stays black.
(PS: i am not on the most recent version of icue, because these versions dont find my keyboard at all. but thats another issue i guess)
Hey,
we're currently seeing an issue with the channel-data reported for the Commander CORE with a pump and two 8-led-fans attached.
Reading the data for the device yields the following:
### Commander CORE ###
ledCount: 37
Channels:
Type: Invalid
ledCount: 8
Type: Invalid
ledCount: 8
Type: Invalid
ledCount: 8
---------------------------------
CustomDeviceChannel1Led1
CustomDeviceChannel1Led2
CustomDeviceChannel1Led3
CustomDeviceChannel1Led4
CustomDeviceChannel1Led5
CustomDeviceChannel1Led6
CustomDeviceChannel1Led7
CustomDeviceChannel1Led8
CustomDeviceChannel1Led9
CustomDeviceChannel1Led10
CustomDeviceChannel1Led11
CustomDeviceChannel1Led12
CustomDeviceChannel1Led13
CustomDeviceChannel1Led14
CustomDeviceChannel1Led15
CustomDeviceChannel1Led16
CustomDeviceChannel1Led17
CustomDeviceChannel1Led18
CustomDeviceChannel1Led19
CustomDeviceChannel1Led20
CustomDeviceChannel1Led21
CustomDeviceChannel1Led43
CustomDeviceChannel1Led44
CustomDeviceChannel1Led45
CustomDeviceChannel1Led46
CustomDeviceChannel1Led47
CustomDeviceChannel1Led48
CustomDeviceChannel1Led49
CustomDeviceChannel1Led50
CustomDeviceChannel1Led85
CustomDeviceChannel1Led86
CustomDeviceChannel1Led87
CustomDeviceChannel1Led88
CustomDeviceChannel1Led89
CustomDeviceChannel1Led90
CustomDeviceChannel1Led91
CustomDeviceChannel1Led92
The overall led-count and the led ids reported are correct, but the led-counts for each channels aren't since the first channel (the pump) consists of 21 leds.
This causes our mapping to take 24 (3*8) leds into account instead of the expected 37 (and the grouping is a mess).
The code extracting this data uses CorsairGetDeviceInfo
to get the CorsairChannelsInfo and CorsairGetLedPositionsByDeviceIndex
to get the actual leds.
The test was done using iCUE v. 4.17.244 and the latest as well as the previous SDK.
Error opening examples in VS2019
C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj : warning : The build tools for v141 cannot be found. Install v141 to build using the v141 build tools.
C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj : warning : Platform 'Win32' referenced in the project file 'properties_example' cannot be found.
C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj : warning : Platform 'x64' referenced in the project file 'properties_example' cannot be found.
error : Designtime build failed for project 'C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj' configuration 'Debug|x64'. IntelliSense might be unavailable.
Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
error : Designtime build failed for project 'C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj' configuration 'Debug|x64'. IntelliSense might be unavailable.
Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
error : Designtime build failed for project 'C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj' configuration 'Debug|x64'. IntelliSense might be unavailable.
Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
error : Designtime build failed for project 'C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj' configuration 'Debug|x64'. IntelliSense might be unavailable.
Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
error : Designtime build failed for project 'C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj' configuration 'Debug|x64'. IntelliSense might be unavailable.
Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
error : Designtime build failed for project 'C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj' configuration 'Debug|x64'. IntelliSense might be unavailable.
Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
error : Designtime build failed for project 'C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj' configuration 'Debug|x64'. IntelliSense might be unavailable.
Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
error : Designtime build failed for project 'C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj' configuration 'Debug|x64'. IntelliSense might be unavailable.
Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
error : Designtime build failed for project 'C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj' configuration 'Debug|x64'. IntelliSense might be unavailable.
Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
error : Designtime build failed for project 'C:\Projects\iCueSDK\cue-sdk-master\cue-sdk-master\src\examples\properties_example\properties_example\properties_example.vcxproj' configuration 'Debug|x64'. IntelliSense might be unavailable.
Set environment variable TRACEDESIGNTIME = true and restart Visual Studio to investigate.
Neither the dev page [1] nor SDK [2] mention the Nexus. Does or will it get support?
[1] https://www.corsair.com/ca/en/icue-dev
[2] https://corsairofficial.github.io/cue-sdk/
See subject - support for K60 RGB PRO keyboards still seems to be missing as of late December 2021 (? and/or iCUE maybe doesn't like having more than one keyboard connected at the same time?).
BR//Karl aka qwilk/@xoblite
With the current version, turning on an SDK-enabled app (e.g. Wallpaper Engine) disables all lighting on my Corsair One i164.
Hi Corsair & Co,
I am working on an SDK client application for Windows 10, using the default shared access mode (i.e. no CorsairRequestControl
/ CorsairReleaseControl
needed), which will typically be running for longer periods of time.
As this topic is not currently [or at least not explicitly] covered by the documentation, do you happen to have any recommendations with regards to what actions to perform when the system is e.g. resuming from sleep/hibernation? Should I perform a new CorsairPerformProtocolHandshake
then for example? Anything else one should be aware of?
Thanks for making the SDK available; keep up the good work!
BR//KHH (@xoblite)
How about a wrapper or package for .Net guys?
I am running the latest SDK version. I have an h100i and an Asus motherboard, both which show up in iCue. I have a program using the SDK running in the background, when I lock my PC (win+L). While in the lock screen, my cooler goes into its hardware lighting mode.
Upon logging back in, the lighting goes back to software mode. All the lights on the water cooler turn off, while the lights on the motherboard remain unchanged. With the program still active, I cannot change the lights within iCue, until I close my program (as my program is running in exclusive mode). Upon restarting my program, CorsairGetDeviceCount returns 0, and CorsairGetDeviceInfo does not return any info for my two devices.
Upon quitting out of iCue (not restarting the service or disabling/enabling plugins) and reopening, CorsairGetDeviceCount returns 2, as expected, and CorsairGetDeviceInfo retrieves both devices as expected.
Hello,
is there a way to get Temperature data out of any device? Or the RPM from a Fan?
Thanks
When I use the Windows + L shortcut to lock my computer, and leave it idle for a minute or two, I've noticed that the keyboard backlight turns off. However, the issue arises when attempting to reactivate the backlight upon unlocking the computer. The backlight fails to turn back on, persisting until i reopen the iCue.
Keyboard:K95
system: Windows 11 64-bit (Version 23H2) OS build 22631.2715
CPU:AMD Ryzen 9 5900X 12-Core Processor
GPU: RTX 4070TI
The current SDK version doesn't support the Dark Core RGB Pro mouse.
Could it be added?
The resulting issue is that iCUE SDK won't initialize when I use the Dark Core (wired or wireless) while I also use a perfectly compatible K95 keyboard. Would it be possible to at least ignore the unsupported devices to let the SDK initialize with the other compatible devices in iCUE?
Is this SDK able to work with Lighting NODE Core? The docs only mention Pro.
Hey all,
is it possible to create custom webviews or to write a program which can interact with the LCD screen on corsair coolers by any chance?
As I understand it the firmware simply sends each frame to the device over USB, but I am unaware of the specifics.
I could not find any high level API to interact with the screen, other than iCUE which only allows GIFs or static images.
As title.
Please create an official Java wrapper we need that one!!!
I recently started using a software called Artemis, (to control both my Razer and Corsair periphs) unfortunately it would seem that the logo on the Strafe Mk2 isn't exposed by the sdk, and therefore cannot be controlled by Artemis.
Would it be possible to amend the logo to the sdk?
Hi Corsair & Co,
I'm aware that the K55 keyboard (latest firmware v30.08) is not (yet?) a supported device according to https://corsairofficial.github.io/cue-sdk/#supported-devices, but using the latest CUE SDK v3.0.301 (+ the latest iCUE version 3.25.60, running on Windows 10), it is reported as having 3 LEDs (i.e. zones) available, even though it's not yet controllable (or rather, you can send it the regular colour setting commands etc, but nothing happens when you do so). Would love to see the SDK support also entry level devices like these though - any LED is better than no LED after all! :)
Thanks for making the SDK available; keep up the good work!
BR//KHH (@xoblite)
When selecting SP PRO Fan, QL Fan or Hydro X in the Lighting setup of a LNP in iCUE, the cue-sdk report CCDT_Invalid
as CorsairChannelDeviceType
when calling CorsairGetDeviceInfo
.
It appears to me that the vengeance rgb pro is not working on my machine. I've setup a simple controller for all of my corsair devices, (keyboard, pump, ram, mouse). Everything seems to work just fine, full control, with CorsairSetLedsColorsBufferByDeviceIndex
and CorsairSetLedsColorsFlushBufferAsync
, except for the Vengeance RGB Pro as nothing happens to the device.
When using CorsairGetDeviceInfo
and CorsairGetLedPositionsByDeviceIndex
it seems like the modules and the leds have been detected just fine for all of the devices including Vengeance. I see valid leds from CLDRAM_1 -> CLDRAM_10 (600 -> 609) for that device index.
I've also tried the not recommended way of excluding the "device index" function variant. Is there anything special I need to do for the Vengeance?
Happens consistently, all the time.
iCUE SDK v4.0.48
C# wrapper that handles the sdk:
https://github.com/Aytackydln/RGB.NET/blob/1d2605748297b2a2b9c6acaba7aa9c055a945e3d/RGB.NET.Devices.Corsair/Native/_CUESDK.cs
I know you can convert a KeyName into a ID, but is there a way to get all KeyNames for each device
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.