psieg / Lightpack

Lightpack and Prismatik open repository
GNU General Public License v3.0
1.57k stars 188 forks source link

Support multiple Adalight devices #280

Open Simonv92 opened 4 years ago

Simonv92 commented 4 years ago

Hi, Does this program works with multiple screen setup? Thank you! Simone

psieg commented 4 years ago

In general, yes. You'll have to provide more details for a more precise answer. Which OS, how many screens, which arrangement?

BlackX777 commented 4 years ago

I have Windows 10 and two Monitors with two times Adalight + Arduino Nano one for Gaming one for Movies with different LED Setups. Proplem is the Profiles don't change the SerialPort (COM3 & COM4) so I must everytime switch the main.conf . I use Prismatik (unofficial) 5.11.2.19 with added NvFBC support :P Running two different Instances at the same time also dont work respectively they use the same config. Is it possible to implement support for more Adalights?

with best regards Toni

gastonMM commented 4 years ago

any solution to have two screens? I have my PC monitor and the TV

BlackX777 commented 4 years ago

If you have two Devices plugged in You must run the Configuration Wizard to Change the COM port or edit it in the C:\Users\User\Prismatik\main.conf

When I want to change my monitor I have two different main.conf saved in subfolders. I swap the main.conf with the according to the monitor. Restart the Programm and change the Profile for the monitor.

The Device settings should stored and changed with the Profiles.

akincansenol commented 4 years ago

I also looking forward to using my multiple monitor setup with their adalight setup.

I was able to run two instances via shift+right click "Run as different user" on Windows 10 2004 but somehow it's not working now. When I try to run second instances on a different user, main prismatik user detail in task manager changes to another user. So there aren't two instances at the same time with this method now.

Attack44 commented 3 years ago

I don't use a multi monitor setup, but multiple instances for multiple devices / configs would be great.

polykoma commented 3 years ago

In general, yes. You'll have to provide more details for a more precise answer. Which OS, how many screens, which arrangement?

Hey buddy, great to see someone is here to improve Prismatik.

I also wanted to ask if you can enable Prismatik for multiple devices! I would donate you straight cash if you do so! @psieg

Im missing this feature for years. I use Ambibox on main screen and prismatik on second. But I got a 3 screen setup - and I hate one screen beeing dark.

(Config: LPD8806 Stripes behind all Screens with 88 LED Each / 3x Arduino uno / Ambibox on Main screen / Prismatik on Second / Third screen remains dark because unsupported yet)

Best Regards from Germany!

psieg commented 3 years ago

It's not obvious to me whether it would be better to be able to run multiple instances at the same time with different devices or be able to merge multiple devices into one. This is implemented for the original Lightpack hardware.

Multiple instances sounds inefficient, the advantage would be running different things (e.g. capture one one vs moodlight on the other). Is that something anyone here would want to do (rather than treating their 3 devices as one?)

BlackX777 commented 3 years ago

Mh maybe Multiple instances is easier to Develop. E.g you have different Monitors with other resolutions one 4:3 and so on. Also on modern Hardware where you have multiple Cores that won't be a problem?

polykoma commented 3 years ago

It's not obvious to me whether it would be better to be able to run multiple instances at the same time with different devices or be able to merge multiple devices into one. This is implemented for the original Lightpack hardware.

Multiple instances sounds inefficient, the advantage would be running different things (e.g. capture one one vs moodlight on the other). Is that something anyone here would want to do (rather than treating their 3 devices as one?)

Hey there, I'm a pretty long term Ambilight user meanwhile and from my POV it would be a lot simpler to just modify it to be able to run several instances with several unique config files. Actually till a certain windows update you could bypass it and were already able to run 2 instances of it. So its capable of it just needs some minor tweaks. Also in regards of usability and bugfixing sw/hw it would be great to have it separated. Thank you for looking into the issue ! Im dreaming about multi monitor capability since I build my first ambilight :)

zomfg commented 3 years ago

try re-running wizard on todays release to see if it fits some of your needs

polykoma commented 3 years ago

try re-running wizard on todays release to see if it fits some of your needs

Hey there :) Is your answer regarded to multi monitor setup? Then i have to check the release asap 👍

zomfg commented 3 years ago

it is

polykoma commented 3 years ago

Are you able to drive 3 different Arduinos COM3 COM5 an COM7 and have an individual setup with only one instance of prismatik? I still cant believe this works now. Im downloading it right now

zomfg commented 3 years ago

not exactly, this is still single device AND single mode (grab/lamp/sound), but you can setup individual displays (same time) so if you were using 3 arduinos to capture 3 displays, this should work with only 1 board (but rewiring is probably required)

technically this always worked, there was just no easy way to setup all displays

polykoma commented 3 years ago

Thats why I mention to just let us run several instances of prismatik. Each instance has its own config wizard and you setup each arduino behind each screen directly. That would be a blast. If you have a satelitte screen for example you run content on with separated ambilight. I got 3 screens with full plastered leds behind - each string individually wired to an arduino behind it. (1x prismatik 1x ambibox 1x nothing) Anyway I will probably have to rewire at least one setup and pull one arduino out from the not yet ambilight screen.

I just run through the new setup wizard and I cant finish it grafik

COM port ist correct. I did this setup 50 times in the past and somehow this occurs now

zomfg commented 3 years ago

it's a bug... see you in the next build... leaves you some time for wiring!

polykoma commented 3 years ago

Thank you very much kind Sir for answers and time! Gonna rewire meanwhile! Really happy to see (ambi)light at the end of the tunnel.(on all of my screens)

psieg commented 3 years ago

Oh. Sorry, multiscreen layouts (with a single device) have been working from the beginning. Sorry that that wasn't clear -.-

polykoma commented 3 years ago

Oh. Sorry, multiscreen layouts (with a single device) have been working from the beginning. Sorry that that wasn't clear -.-

So I basically just continue the led string with extension cables to the next monitors string? Before I rewire and maybe misundestood something. Can you please shortly confirm if below drawing would be working? Thank you so much! Unbe12312nannt

I cant imagine why I havent thought about this earlier. Damn! I basically have 2 leftover arduinos now because i had single ecosystem for each screen

psieg commented 3 years ago

I don't have such a setup running to be 100% sure, but yes it should. If your device is powerful enough for the 264 LEDs and bandwidth isn't an issue (I don't have experience with Adalight at all).

To be 100% sure about the Software side, you could set up a virtual device and arrange the zones as desired and make sure the everything works before changing your wiring.

polykoma commented 3 years ago

I need to wait till next build, current one has a bug in the setup manager as you saw above. I also need some time to put extra wires on to confirm if it would be able to work.

Also I have to mention I would only need 2 screen driven by prismatik (1 + 3) so 176 total which should be fine bandwidth size. Screen 2 stays separate and will be driven by ambibox on a separate arduino.

psieg commented 3 years ago

yes, try this: https://github.com/psieg/Lightpack/releases/tag/5.11.2.27

polykoma commented 3 years ago

Awesom! Setup manager works again! Thank you. Once I got my wiring correct I will give you feedback! Thanks a ton for figuring this out with me - basically an early christmas for me :) <3

Edit: I ran through the manager and yes theoretically all should work. Now time to rewire :))

burnbabyburn commented 3 years ago

thx for keeping prismatik alive! I am currently rebuilding my leds and i wanted to use multi mon setup too. IMHO: daisy chaining multiple monitors led strips is the worst possible solution. Some may get stuck with bandwith, other setups fail because they just rip off the cables while moving monitors. (dual monitor stand anyone?) Added cable length on the full path also won't make ws2812b happy. Wiring would be messy with a flying connection between monitors or more cable length so it would be nice if we could use multiple devices/instances in the future.

I've also linked a issue where someone is aksing for multiple udp output devices.

@polykoma hat es denn bei dir, so wie in der Zeichnung, geklappt stefan? / Did your drawing above work for you polykoma?

polykoma commented 3 years ago

I dont like the idea of daisy chaining and would love a standalone (1x arduino per screen and string) better aswell.

Sorry ich kann noch nicht bestätigen ob es wirklich klappt. Ich nutze LPD88806 LEDS. Ich sollte in den nächsten 2 wochen die leds für den dritten screen bekommen und kann dann sagen ob es wirklich geht. Das setup sah zumindest so aus als würde es gehen :)

burnbabyburn commented 3 years ago

@polykoma hat funktioniert. Man richtet den beide monitore normal ein und muss den offset für den zweiten monitor eintragen/ The above drawing from polykoma works fine. each display can be configured with its own led settings. It just asks for the offset (# of leds on previous monitor) an worked!

polykoma commented 3 years ago

@burnbabyburn Cool danke fürs bestätigen! Ich nutze am Hauptmonitor Ambibox das finde ich besser. Aber meine beiden Seitenscreen sollen dann auf prismatik laufen. Blos fehlen mir gerade noch die Leds für den screen3.

polykoma commented 3 years ago

@polykoma hat funktioniert. Man richtet den beide monitore normal ein und muss den offset für den zweiten monitor eintragen/ The above drawing from polykoma works fine. each display can be configured with its own led settings. It just asks for the offset (# of leds on previous monitor) an worked!

Wie hast du die strings miteinander verbunden ? Ich bin gerade fertig mit löten und habe ein geschirmtes netzwerkkabel ca 2,5 meter lang zwischen den monitoren um Data Out und Clock Out mit dem nächsten string zu verbinden. Sobald ich strom auf den frisch montierten stripe gebe leuchten alle weiß und flackern ab und zu. Ich habe dann das setup in prismatik ausgeführt aber er scheint den neuen stripe nicht mit anzusteuern. Den startpunkt habe ich richtig gesetzt. Setup was ja recht eindeutig in prismatik. Ich versuche morgen mal ein kürzeres kabel.

Oben Neuer Stripe unten Alter stripe Sind auch etwas unterschiedlich vom aufbau aber beide sind LPD8806s

20210109_035327~2

EDIT: OH FAIL Ich hab einmal 48LED/m und einmal 60LED/m. Oh man was ein fail....

polykoma commented 3 years ago

Do I have to daisy chain the ground cable as well or only Data and Clock? I managed to setup 2 displays in prismatik and connected them via a 3m cat6 cable (data and Clock) but some of the LED keep flashing in random color. Both strings drive by an individual power supply. Do i have to daisy chain the ground wire aswell?

sblantipodi commented 3 years ago

daisy chaining is not the best solution imho, multiple instances is far better. wiring on multiple monitors is a mess.

polykoma commented 3 years ago

daisy chaining is not the best solution imho, multiple instances is far better. wiring on multiple monitors is a mess.

I just wired up the ground from the first to second string and now it works... Yeah its annoying but its just one more cable and thats it. Now I have to redo a couple of custom cables i already put together. Ahh what a pain...

burnbabyburn commented 3 years ago

Wie ich sehe hast du die Lösung bereits selbst gefunden. Hatte bereits den ganzen Text für Pufferkondensator,Widerstand und geteilter Masse geschrieben bis ich gesehen habe, dass du es bereits selbst gelöst hast :)

Janoo1606 commented 3 years ago

Hi, i have also two monitors with different devices on different COM ports. Would it simply be possible to create a Prismatik installation with a different name and different config folder? This would be the best solution for me and maybe some others. Unfortunately, I don't know how time-consuming such a change would be. But maybe it's just a small change of the program name and the folder names.

psieg commented 3 years ago

I finally had some time to look at this. The multiple-instances thing is rather simple. There's an experimental build here, please give it a try. You can run the second instance with Prismatik.exe --config-dir C:\Users\YourName\Prismatik2 for example. Also happy for reviews of the Pull Request.

Note: I would still recommend to use one device with the strip covering all screens though.

Janoo1606 commented 3 years ago

Thank you for your effort! :) I will try it.

Janoo1606 commented 3 years ago

It works in principle, but unfortunately one of the two programs terminates after a short time. (The icon in the system tray disappears). I also tried it with administrator rights. I suspect that Windows only allows one instance of the same program. I am using Windows 10.

psieg commented 3 years ago

Ah, I found a crash from an unintended interaction between multiple instances. Give this a try please.

Janoo1606 commented 3 years ago

The first attempt looks good so far. Thank you so much!

TylersSavage commented 3 years ago

Lmao, I just spent several weeks upgrading my living room.. I'm just about done, then I see this post. 😂

Patrick, is there any way to contact you? I want to make sure you get credit, and I don't mislead anyone. My first setup has been seen around 200k times now, because Dustin Farrell (who made the Transient lightning videos) shared it. He's going to share this one too.

Sorry if this post doesn't belong here, I have been trying to find a way to contact you. I'll remove it if necessary.

I appreciate all the hard work, and I'm loving it!

Thank you ⚡️ @tylerssavage (IG)

psieg commented 3 years ago

Hi Tyler, glad Prismatik is useful for you! You can email me at github@psieg.de. In terms of credit, just point people to the repo here ;)

On-topic, I made an official release with the multi-instance mode: https://github.com/psieg/Lightpack/releases/tag/5.11.2.28

TylersSavage commented 3 years ago

Thank you very much!

freakinside commented 3 years ago

Hi Tyler, glad Prismatik is useful for you! You can email me at github@psieg.de. In terms of credit, just point people to the repo here ;)

On-topic, I made an official release with the multi-instance mode: https://github.com/psieg/Lightpack/releases/tag/5.11.2.28

@psieg is this included in v6 ? It says "Unknown option config-dir"

psieg commented 3 years ago

There is no v6 from this fork. There is an official v6 version of which I don't know what it contains.

freakinside commented 3 years ago

I noticed that after researching a bit more. Thanks a lot for your version. It's awesome (i really needed multiple instances).

Btw i missed the option to add different margins to left and right as i just use a part of the screen that is not centered (4 zones in screen = 4 instances). I'll edit the positions manually on the profile file.

jafet420 commented 2 years ago

i just got another monitor installed and was wondering how u guys are wiring up the second monitor?

burnbabyburn commented 2 years ago

i just got another monitor installed and was wondering how u guys are wiring up the second monitor?

See daisy chain solution See second instance solution

For the daisy chain solution there is a pciture attached to the post. For a second instance, well you take two arduinos and connect one strip each. Run an instance per arduino after that.

GreenDie commented 1 year ago

I tried many hours to connect Two ESP32 Devices with WLED. I have one for the LEDs behind my TV and for those in behind my couch. I cant connect them on one ESP.

Where do i have to enter this Code? --config-dir C:\Users\Daniel\Prismatik3

I have a folder for the LED's behind the TV and one for those behind the couch. But how do i tell prismatic to run both folders?

Ok i Got it.

KarloLeksic commented 1 year ago

Lmao, I just spent several weeks upgrading my living room.. I'm just about done, then I see this post. 😂

Patrick, is there any way to contact you? I want to make sure you get credit, and I don't mislead anyone. My first setup has been seen around 200k times now, because Dustin Farrell (who made the Transient lightning videos) shared it. He's going to share this one too.

Sorry if this post doesn't belong here, I have been trying to find a way to contact you. I'll remove it if necessary.

I appreciate all the hard work, and I'm loving it!

Thank you ⚡️ @TylersSavage (IG)

Are there any detailed instructions to make a setup like this😍? I made ambilight on my monitor using Adalight on Arduino Nano and Prismatic. How to add other devices via WiFi that are above or beside the monitor. I am familiar with WLED on ESP, but I don't know how to add it in Prismatic and synchronize it with the monitor.

v301eu commented 1 year ago

Good morning, Has anyone managed to run these two instances of Prismatik yet?

COM3 USB2.0 Device 1, Prismatik , LED Stripe RGB (red green blue) 5V 3Pin direct to Led stripe COM4 USB2.0 Device 2, Prismatik2 , LED Stripe RBG (red blue green) 5V 3Pin connected to 5V TTL signal amplifier up 12Volt

Conclusion: "I think the creator code cpp needs to change the program code so that after a full cycle counts all pixels from the screen, change the colour of sequence = type2 RBG, until the pixels from the monitor are back again cycle RGB. In the Loop."


Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows Add path system environment variables before use PowerShell or CMD: C:\Program Files\Prismatik\ (Regardless of whether User or Administrator).


PS C:\Users\UserName> prismatik.exe --config-dir C:\Users\YourUserName\Prismatik2
PS C:\Users\UserName> 

PS C:\Users\UserName> prismatik.exe --config-dir C:\Users\YourUserName\Prismatik3
PS C:\Users\UserName> 

Prismatik multi instances RGB RBG

Requirer SAVE two different Profiles name, otherwise it will crash and you will have to delete the Prismatik and Prismatik2 folders from User, and do the configurations again.

Two instances

Remember to add 60mAh for the 5050 SMD diode during configuration, and if you use the monitor's USB power supply, the BC1.2 socket, enter the maximum power consumption of 2,4 amperes 5V = 12Watt so as not to crash the LED controller.

Autostart: Prismatik 1 (default) + 2, 3, ... startup