Skip to content

85 support for asus aura using asus aura sdk #184

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

avinashraja98
Copy link
Contributor

I was able to use the Asus Aura SDK to support the Asus ROG STRIX Z270I motherboard and other boards compatible with the asus aura sdk.

Check out the demo at:
https://www.youtube.com/watch?v=aAeZ5SI4cSc
Sorry for the potato quality.

Notes:
After building, add the AURA_SDK.dll to your debug folder.
When using Asus Aura Sync software set all lights to static before opening this program.
I own the Asus ROG STRIX Z270I and I kept it in my mind when developing this.
I am pretty new to open source development with GitHub, so please forgive me if I am doing anything wrong.

@CalcProgrammer1
Copy link
Owner

I've been busy with personal life and with work, so I haven't had much time to keep up with Keyboard Visualizer lately. This looks great from your video so I'll definitely take a look. I want it to support the G.Skill Trident Z RGB as well, but I don't know if Aura SDK supports that yet. My reverse engineered implementation works, but only for my particular board and requires the kind of low level access I'd rather not be using so I really hope to transition to the SDK.

@CalcProgrammer1
Copy link
Owner

I just looked at the Asus Aura SDK FAQ on the SDK site and there is mention of Dram functions for Aura compatible DRAM modules, though the functions listed in the FAQ aren't in the AuraLightingSDK.h file. I'm going to try manually adding these functions and see if the DLL actually implements them.

@CalcProgrammer1
Copy link
Owner

Looks like these functions are not implemented in the current AURA_SDK.dll :(

I'm rearranging your code a bit to make it more efficient. Your implementation looks up the DLL addresses, queries the motherboard LED count, allocates memory, does the LED output, and frees memory every cycle through SetLEDs, which is called at a frequent rate. Moving the setup stuff (get function addresses, query motherboard LED count, allocate memory) to the Initialize function should cut down on CPU usage significantly, especially the memory operations. The memory can be freed in the destructor. I'm going to leave the DRAM calls in but commented out, since it looks like this functionality is being planned if it's in the SDK FAQ.

@CalcProgrammer1
Copy link
Owner

I copied your branch to my repository and committed my changes on top. I plan to add a bit more before I close this issue - the ability to configure the direction of the LEDs and/or use single color mode at least. On my X370 Prime Pro the pattern is backwards to how I had it in the reverse engineered version so it would be best to make this configurable.

@CalcProgrammer1
Copy link
Owner

Commits have been cherry-picked into the master branch. Closing pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants