The Corsair User Forums  

Go Back   The Corsair User Forums > Corsair Enthusiasts Section > System Builds, Modding, Custom Components, and Picture Gallery

Notices

Reply
 
Thread Tools Search this Thread Display Modes
  #226  
Old 02-18-2018, 05:03 PM
kubdotnet kubdotnet is offline
Registered User
kubdotnet's PC Specs
 
Join Date: Oct 2017
Posts: 18
POST ID # = 941222
kubdotnet Reputation: 10
Default

Good news everyone! (World of Warcraft Putricide quote)

I managed to add support for multiple ports; every command (load settings, save settings, stage-to-live) and every effect are now sent through selected port(s) (feedbacks are welcome).

- Port(s) selection has moved from Settings to the main window to easily switch between them
- Added new fan's settings introduced by Charixfox for the current effects (I've not yet looked inside the firmware to catch stripe's new features )

Quote:
Originally Posted by Charixfox View Post
Awesome! Thank you for the PC-side support!

If you'd like to coordinate on control schemes with the Firmware, let me know. Also, if there are any questions about the new features, let me know. The "Set a setting group all at once" may be useful to you.
the next weeks I'll be away for work, when I come back I'll try to implement the new features for the strips and the "group settings" feature; if there is something unclear I will come back to ask you

Thank you for your work!
Attached Files
File Type: zip LedControllerEngine-1.1.zip (2.49 MB, 139 views)
Reply With Quote


  #227  
Old 02-18-2018, 08:12 PM
Charixfox Charixfox is offline
Doer of Things and Stuff
Charixfox's PC Specs
 
Join Date: Oct 2015
Posts: 254
POST ID # = 941260
Charixfox Reputation: 19
Default

Have a good work-ation!

I'll see if I can get HID-based comms working Just In Case and I'll see about updating the led strip mode documentation.

The "set a group of settings at once" feature is a comm improvement.
Instead of doing:
>1.0.1>1.1.2>1.2.0>1.3.1>1.4.64>1.5.28>1.6.2>1.7.60
to set everything on fan one, instead you can can just:
&1.1.2.0.1.64.28.2.60

I'm working out several improvements, including dynamic setting of the fans, fan types, and so on, so stand by for a long wait before possible exciting news. :)
Reply With Quote


  #228  
Old 02-24-2018, 01:45 AM
ProwlerON ProwlerON is offline
Registered User
 
Join Date: Aug 2017
Posts: 7
POST ID # = 942010
ProwlerON Reputation: 10
Default

Quote:
Originally Posted by kubdotnet View Post
Good news everyone! (World of Warcraft Putricide quote)

I managed to add support for multiple ports; every command (load settings, save settings, stage-to-live) and every effect are now sent through selected port(s) (feedbacks are welcome).

- Port(s) selection has moved from Settings to the main window to easily switch between them
- Added new fan's settings introduced by Charixfox for the current effects (I've not yet looked inside the firmware to catch stripe's new features )



the next weeks I'll be away for work, when I come back I'll try to implement the new features for the strips and the "group settings" feature; if there is something unclear I will come back to ask you

Thank you for your work!
I gave the new version a try, it did not show any features. So I don't know if I missed something. The 1.0 version opens fine.
Reply With Quote


  #229  
Old 02-24-2018, 06:04 AM
kubdotnet kubdotnet is offline
Registered User
kubdotnet's PC Specs
 
Join Date: Oct 2017
Posts: 18
POST ID # = 942024
kubdotnet Reputation: 10
Default

Quote:
Originally Posted by ProwlerON View Post
I gave the new version a try, it did not show any features. So I don't know if I missed something. The 1.0 version opens fine.
Could be something related to the saved settings, please try to rename the file %appdata%\LedControllerEngine\settings.json (by default c:\Users\<name>\AppData\Roaming\LedControllerEngine\settings.json) into settings.json.backup and re-open the new version. I'll do some debugging asap.
Reply With Quote


  #230  
Old 02-28-2018, 08:11 PM
ProwlerON ProwlerON is offline
Registered User
 
Join Date: Aug 2017
Posts: 7
POST ID # = 942686
ProwlerON Reputation: 10
Default Test version 1.1 GUI

I did remove the setting.json file, and could not get anything images of fans or the list of modes on the left.

So I tried it on another computer and everything came up fine. Further investigations is the machine I tried it on had no COM ports. I went back to my PC disabled all the COM ports and everything came up correctly.

It looks like it is in the detecting COM port when the app launches that the problem occurs.

Hope it helps! Thanks again.

Quote:
Originally Posted by kubdotnet View Post
Could be something related to the saved settings, please try to rename the file %appdata%\LedControllerEngine\settings.json (by default c:\Users\<name>\AppData\Roaming\LedControllerEngine\settings.json) into settings.json.backup and re-open the new version. I'll do some debugging asap.
Reply With Quote


  #231  
Old 03-01-2018, 09:19 AM
solarity solarity is offline
CORSAIR Beta Team
solarity's PC Specs
 
Join Date: Mar 2017
Location: Rochester, NY
Posts: 747
POST ID # = 942739
solarity Reputation: 33
Default

Quote:
Originally Posted by Charixfox View Post
Correct! I wasn't too impressed by aurora capability from the motherboards, so I skipped plugging anything into it. If you jump the header into the correct pins on the fan, you should be good to go though.

Let me know how that works. I honestly can't guess whether the data stream would be intact when parallel.
I got it working with Gigabyte Fusion, I am impressed as it looks far better than I thought it would. You are still not going to get as much customization out of it, compared to something custom like building your own light controller. You are really limited by the software you use. Though at the same time, you can connect it to your system w/o the Lighting Node Pro and it is a lot less effort and the cost is only yanking a couple old 2pin connectors from an old computer case and splicing them together. I created a video of the different modes.

Reply With Quote


  #232  
Old 03-01-2018, 07:24 PM
Charixfox Charixfox is offline
Doer of Things and Stuff
Charixfox's PC Specs
 
Join Date: Oct 2015
Posts: 254
POST ID # = 942845
Charixfox Reputation: 19
Default

READ IF YOU LOADED THE 0.2.1.3 FIRMWARE

The 0.2.1.3 firmware caused a bug with the Arduino bootloader and will require some extra action to recover. The firmware will work, but upgrades and changes are kind of broken.

NOTE: 2.1.3 may cause the controller to not respond properly to soft resets to bootloader. This applies to Leonardo type ATMega32u* controllers only, like the Pro Micro and Beetle. If you are unable to upload this new version because you went to 2.1.3, there are two options to recover it: 1: Send an initial soft reset just before the upload starts. The double soft reset corrects the issue and properly enters bootloader. This can be done by opening the com port at 1200 baud and closing it. For example, on Windows in the command prompt:

mode COM6 BAUD=1200 parity=N data=8 stop=1

Replace COM6 with the com port of the Arduino.

Timing is important, as the second reset from the Arduino IDE must reeach the Arduino after it finished the first reset (about 500ms) and before 3 seconds after the first reset.

2: You can do a hardware or double-soft reset to put it into the bootloader and use avrdude to send the firmware.

You MUST know the port the Ardiono Bootloader will be on. It is NOT the same com port as the normal run port. You can find out in Windows by watching Computer Management in the Ports section of Device Manager for the proper port number.

To do this, you must compile and SAVE the firmware (You can do this by pressing Ctrl-Alt-S on Windows IDE). On Windows, the firmware will be saved under Documents\Arduino(Your Sketch)\sketchname.ino.board.hex. For example:

C:/Users/kit/Documents/Arduino/HD120_Controller/HD120_Controller.ino.leonardo.hex

DO NOT use the one that mentions "boot" in the filename.

On Windows in a command prompt, change directory to:

C:\Program Files (x86)\Arduino\hardware\tools\avr\bin

And run a command similar to:

avrdude -v -C../etc/avrdude.conf -patmega32u4 -cavr109 -PCOM9 -b57600 -D -V -Uflash:w:C:/Users/kit/Documents/Arduino/HD120_Controller/HD120_Controller.ino.leonardo.hex:i

Replace only the location and name of the .hex file and the COM port number with information appropropriate to your computer.

You can do a hardware reset by temporarily connecting the RST pin to ground. You can use the mode command above twice to force a soft reset.

I will work on a more user-friendly way to fix this in the near future if I am able to.

Let me know if you have any questions or trouble upgrading to 0.2.2.0 and I will do what I can to assist.
Reply With Quote


  #233  
Old 03-03-2018, 09:13 AM
kubdotnet kubdotnet is offline
Registered User
kubdotnet's PC Specs
 
Join Date: Oct 2017
Posts: 18
POST ID # = 943054
kubdotnet Reputation: 10
Default

Quote:
Originally Posted by ProwlerON View Post
I did remove the setting.json file, and could not get anything images of fans or the list of modes on the left.

So I tried it on another computer and everything came up fine. Further investigations is the machine I tried it on had no COM ports. I went back to my PC disabled all the COM ports and everything came up correctly.

It looks like it is in the detecting COM port when the app launches that the problem occurs.

Hope it helps! Thanks again.
Thank you for your infos, I'll do some investigation in that direction.
Reply With Quote


  #234  
Old 03-26-2018, 09:48 AM
solarity solarity is offline
CORSAIR Beta Team
solarity's PC Specs
 
Join Date: Mar 2017
Location: Rochester, NY
Posts: 747
POST ID # = 946600
solarity Reputation: 33
Default

Quote:
Intermediate electronics knowledge will help with some of this. I personally will always advocate that you follow spec on load. There are some ways to massage spec, but they usually aren't simple.

Then, let's start at the beginning...

The reason I recommend the Leonardo is because
- Serial handling is on-chip so has a larger hardware buffer
-- Which means that comms from the computer don't get broken by LED display cycles
- It supports HID, which will be in use in the firmware I write
- It's small
- It's very inexpensive
- It has a lot of RAM and Flash for its size and cost

You can use the Mega, but it will not work well with the existing current firmware or at all with the future HID-based firmware, so you would need to write your own code for it and worry about comms with the board.

Arduino is a combination of electrical stuff and C++ coding of firmware. Shell and Perl can be a boon (The music sync video is a shell script sending commands to the controller), but won't help with the firmware side.

Differences between "Digital" and "Analog" LEDs...
Digital = 5V power and 5V data signal, with each unit being individually-addressable (like each LED on an HD RGB fan)
Analog = 12V power and PWM (Pulse Width Modulation)

The Arduino runs at 5V (or SOMETIMES 3.3). Pi runs at 3.3V. To control a digital LED set, the controller needs to send signals across one or two lines when it wants to make changes and the LED handler does everything from there. To control analog, the controller needs to send three lines of constant PWM data to something that will handle the speed while bumping the voltage up to 12V, keeping in mind that a level shifter can't handle that much current.

Controlling digital devices...
Depends on the device, its communication method, whether the controller can handle that method, and suchnot. Would not be able to use the firmware I provided stock, so you'd have to get coding.

Have enough IO...
Just controlling analog will be a challenge due to the voltage considerations. Beyond that, it's how many pins you can come up with. Even "analog" LEDs are really digital output (PWM) for example. To an Arduino, "Analog" output is based on voltage level.

Power...
The controller power is one consideration, true. Pi will have a potential for some issues with "standard" libraries for WS2812 LEDs since those are one-wire and require precise timing to do things. When the Pi changes threads or gets interrupts, the data stream is paused and then the LEDs get the wrong data or latch and won't necessarily be what you want.

The LED sets should absolutely have their own power links though. And on the lines of power, you can nab 5, 12 and 3.3 from SATA power connectors.

When you say "I want a dozen different channels", it's better to evaluate whether you really want a dozen different channels (physical wires) or a dozen different virtual groups (Like the individual fans can be controlled separately). Digitally-addressed LEDs are all in serial generally.

In general, doing things with analog strips is a pain. Plan the project well first either way.
I actually went ahead and got a Leonardo, Raspberry Pi 3 B+, breadboard, and etc. I want to tinker around with both of them. It seems like the PI is a tinker tool that can operate on it's own, while it seem the Arduino needs to work with a system. I also picked up some of these, as I know I will need 3 PWM signals/LED cluster I want to control: https://www.amazon.com/gp/product/B0...?ie=UTF8&psc=1

I am aware the difference between addressable and analog LEDs as well as some come in 5v, while others run on 12v. My first goal is to control some 5v Analog RGBs inside of some hard line fittings:

http://community.thermaltake.com/ind...rician-needed/

These are using a small PCB that fits around a hard line fitting. They use something smaller than the standard 5050, these look like 1616 RGB LEDs. There is also 18 330ohm resistors around the board. I would like to control these with the Leonardo. I have some in some instances where some people use 3x PWM channels to control the Red, Green, and Blue. Though some instances they use a Mosfet, while other times they use just a resistor. As the LEDs I am trying to light up already have a bunch of resistors, I think the 5v is all I really need is a 5v coming into each cluster w/ 3xPWM for each RGB cluster I want to light up. I want to make it so I can control different RGB clusters on different logical channels. I have a total of 6 RGB fittings, so I think I need 6RGB Fittings x 3PWM Signals = 18 Total PWM signals. I also might want to control 12v LED Strips as well, though I think I would need to use Mosfets for that:

RGB w/ Mosfets:
https://learn.adafruit.com/rgb-led-strips/usage
RGB w/ Resistors:
https://learn.adafruit.com/adafruit-...-leds/overview

I plan to add the HD-120 control for my fans as well, though at this time I already control them via the MB. The TT RGB Fittings are manually controlled and very annoying.
Reply With Quote


  #235  
Old 03-26-2018, 02:34 PM
Charixfox Charixfox is offline
Doer of Things and Stuff
Charixfox's PC Specs
 
Join Date: Oct 2015
Posts: 254
POST ID # = 946649
Charixfox Reputation: 19
Default

Quote:
Originally Posted by solarity View Post
I actually went ahead and got a Leonardo, Raspberry Pi 3 B+, breadboard, and etc. I want to tinker around with both of them. It seems like the PI is a tinker tool that can operate on it's own, while it seem the Arduino needs to work with a system. I also picked up some of these, as I know I will need 3 PWM signals/LED cluster I want to control: https://www.amazon.com/gp/product/B0...?ie=UTF8&psc=1

I am aware the difference between addressable and analog LEDs as well as some come in 5v, while others run on 12v. My first goal is to control some 5v Analog RGBs inside of some hard line fittings:

http://community.thermaltake.com/ind...rician-needed/

These are using a small PCB that fits around a hard line fitting. They use something smaller than the standard 5050, these look like 1616 RGB LEDs. There is also 18 330ohm resistors around the board. I would like to control these with the Leonardo. I have some in some instances where some people use 3x PWM channels to control the Red, Green, and Blue. Though some instances they use a Mosfet, while other times they use just a resistor. As the LEDs I am trying to light up already have a bunch of resistors, I think the 5v is all I really need is a 5v coming into each cluster w/ 3xPWM for each RGB cluster I want to light up. I want to make it so I can control different RGB clusters on different logical channels. I have a total of 6 RGB fittings, so I think I need 6RGB Fittings x 3PWM Signals = 18 Total PWM signals. I also might want to control 12v LED Strips as well, though I think I would need to use Mosfets for that:

RGB w/ Mosfets:
https://learn.adafruit.com/rgb-led-strips/usage
RGB w/ Resistors:
https://learn.adafruit.com/adafruit-...-leds/overview

I plan to add the HD-120 control for my fans as well, though at this time I already control them via the MB. The TT RGB Fittings are manually controlled and very annoying.
The fact that TT (or anybody else) is using analog LEDs is sooooo annoying in this day and age. Either way, you are far ahead in knowledge compared to many folks, so you have an excellent head start. And there can never be enough prototype boards. ;) I tested my theories on a Mega before moving to the Pro Micro (Leonardo) for size reasons and control reasons.

Other than the mosfet being a thing if the current would otherwise be too much for the thermal fuse on the controller, it looks like you primarily have things under control.

Test all the things and see what you can get working successfully.
Reply With Quote


  #236  
Old 03-26-2018, 10:22 PM
Charixfox Charixfox is offline
Doer of Things and Stuff
Charixfox's PC Specs
 
Join Date: Oct 2015
Posts: 254
POST ID # = 946703
Charixfox Reputation: 19
Default

The time has come to ask whether this project still has value to others, so in the thread at http://forum.corsair.com/forums/showthread.php?t=176109 I have done so.

Feedback appreciated!
Reply With Quote


  #237  
Old 04-20-2018, 06:55 PM
ProwlerON ProwlerON is offline
Registered User
 
Join Date: Aug 2017
Posts: 7
POST ID # = 951320
ProwlerON Reputation: 10
Default

Quote:
Originally Posted by kubdotnet View Post
Thank you for your infos, I'll do some investigation in that direction.

kubdotnet,

Did you get a chance to look into the multiple port issue?

Thanks,

ProwlerON
Reply With Quote


  #238  
Old 05-01-2018, 08:53 PM
ychro ychro is offline
Registered User
 
Join Date: May 2018
Posts: 2
POST ID # = 952996
ychro Reputation: 10
Default

I am having some issues with getting this to run on an esp8266. I have a few of these lying around and i thought they would be good chips for this project. I run into HID errors or eeprom errors (see below).

Errors i get:

Using Arduino Uno R3 - error: #error HID Project can only be used with an USB MCU.
Using Huzzah(ESP8266) - fatal error: avr/eeprom.h: No such file or directory

Is there are easy workaround for the ESP8266, a compatible library i can download?

If I need to switch, is the arduino pro micro the best bet? (I am trying to go as small as possible, and with micro usb interface)

Last edited by ychro; 05-01-2018 at 08:58 PM.
Reply With Quote


  #239  
Old 05-01-2018, 09:33 PM
Charixfox Charixfox is offline
Doer of Things and Stuff
Charixfox's PC Specs
 
Join Date: Oct 2015
Posts: 254
POST ID # = 952998
Charixfox Reputation: 19
Default

Quote:
Originally Posted by ychro View Post
I am having some issues with getting this to run on an esp8266. I have a few of these lying around and i thought they would be good chips for this project. I think the main issue is that there are some HID issues so it wont compile.

Is there are easy workaround for the ESP8266, a compatible library i can download?

If I need to switch is the arduino pro micro the best bet? (I am trying to go as small as possible)
Pretty much any version of a "Leonardo", such as the Pro Micro or the Beetle, as well as several variations on that with an ATMega 32U4. The 32U4 has built in USB handling which allows it to work with the HID.

Hmmm... An ESP8266 has a few considerations...
It runs at a 3.3v logic level, which is a little bit of a problem.
Signalling to the LEDs is run by interrupts so some things can cause unexpected and unwanted behavior from the LEDs.

I don't think the HID library would work on the ESP at all, so that would have to be torn out and all that benefit removed.

The 3.3v logic level is not sufficient to signal the LEDs running at 5v. The LEDs detect high signal at 70% of VCC, which is 3.5v. So you'd have to have a logic level shifter or you'd need to drop the voltage driving the LEDs, which is non-trivial. You can pull SOME 3.3V off SATA power connectors, but the hub is hard-wired to snag the 5v. There are some other cheats like the sacrificial LED, but that has more complex wiring.

The fact that LED signalling I think uses bit banging makes communications with the system a potential challenge without having LED updates collide with comms.

At the same time, I can see a potential benefit to using an ESP8266:
Web-based control from its own wifi network. Phone app anybody? <.< ^.^;
Reply With Quote


  #240  
Old 05-02-2018, 12:31 AM
ychro ychro is offline
Registered User
 
Join Date: May 2018
Posts: 2
POST ID # = 953006
ychro Reputation: 10
Default

Ill probably just pick up a pro micro then.

Another cool feature might be bluetooth control, with the feather bluetooth version.

https://www.adafruit.com/product/2829
Reply With Quote


Reply

Tags
hd120 rgb

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:50 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.