gfduszynski / cm-rgb

Control your Wraith Prism RGB on Linux, Mac OS and Windows
MIT License
207 stars 11 forks source link

Feature request: Other ring led options #10

Closed Unprocessable closed 4 years ago

Unprocessable commented 4 years ago

Hey man, thanks for writing the code for this. I was actually looking into creating something similar. Turns out I don't have to! I hate that my Corsair ICUE schemes didn't sync with my prism fan, so now I can write some code to do the changes for me while switching profiles. It works great in Windows 10 as a standard user, even though you apparently wrote it for Linux. Awesome work!

I have two questions: 1) How did you figure out what to send and reverse engineer this? 2) Do you plan on adding the CoolerMaster software rainbow, chase, bounce, morse code and colour cycle modes?

I could implement something similar by sending the correct data to the LEDs, however it might already be built-in. Do you know if the firmware supports it or if it is part of the CM software instead?

gfduszynski commented 4 years ago

Hi, thank you for kind words :)

  1. It was actually quite simple, albeit time consuming. Idea is to monitor USB communication (https://desowin.org/usbpcap/ or similar tool) while using the original app. Then analyze what changes in the message payload when you select different modes like breathe or static etc. End result is a list of messages that need to be sent to the controller to mimic original software behavior.
  2. I could add those, I have figured our most of them. However I've decided to only ship modes that can have color configured to keep it simple. Adam Honse from OpenRGB has brilliant wiki describing messages in use (not all of them) https://gitlab.com/CalcProgrammer1/OpenRGB/-/wikis/AMD-Wraith-Prism

Btw. all those modes are built in into the controller so kudos to Cooler Master for not having to run the app continuously to have the RGB work.

GeorgievAtWork commented 4 years ago

Hello, I just got your code and I want to say that it's pretty fascinating what you did. Primarily I needed it so I can start a script on windows startup that would set my Wraith Prism to the desired color, because MSI Mystic Light interferes with it greatly. I just wanted to know if it's possible to use ring rainbow animation with this? Since this is the only thing I can't manage to set and I don't want another GUI to set, but a simple command. Thank you in advance!

gfduszynski commented 4 years ago

Hi, Thank you for your kind words. It's possible to set rainbow mode, but it would require slight a modification. I'm currently quite busy, and it will take me some time to add, however if you know a little bit of python I could explain how it could be done assuming you are interested.

gfduszynski commented 4 years ago

Thee is now 'rainbow' and 'cycle' support for the ring in the main branch. Build and readme update will follow soon.

unf commented 4 years ago

@gfduszynski Thanks, cool, great job:

cm-rgb-cli set logo --mode=static --color=#FFFFFF fan --mode static ring --mode=rainbow save

Brings exactly the default initial behaviour, colors, as if somebody would connect AMD Wraith Prism to an RGB capable mainboard with the RGB connector.

The default behaviour, colors, without RGB connector is that new rainbow mode on ring and a synchronous rainbow mode of logo & fan.

Using pip[3] I still get cm-rgb v0.1.0, w/o any of these updates ... ?

gfduszynski commented 4 years ago

Yes, I have a rough week and were not able to update the readme and release yet :/ I'll add reset to default option based on your settings 👍

gfduszynski commented 4 years ago

v0.2.0 is now available. Readme/Wiki are still in progress.