Helios Laser DAC Plugin

I bought a Helios Laser DAC to use to drive a LaserCube, as it is listed as having a vvvv plugin:
https://bitlasers.com/helios-laser-dac/

but there are no install or build instructions, and I’ve tried all the usual places to stick the DLL but not getting it recognized by either beta 42 or 38.1 x64. I tried adding libusb to the folder as well.

Anyone used this? If so, how? Athankew!

You need to compile DLL here yourself, the DLL in the lib folder is an underlying library DLL, it will not work if solution is not compiled.

Basically you need to clone repo, open solution, build solution, then you need to copy both dlls (the one in the lib and the one it would generate in bin folder) to same directory and it should work…

Yeah tried that, but there’s no solution file, and if I just open the project file and try to build it, it fails with lots of missing references - LibUsbDotNet, vvvv stuff, and the Helios framework. Was hoping someone out here in vvvv land might have a working build of it. Thanks though!

I’ve briefly checked this, so the only actually missing dependencies is NuGet Gallery | HeliosDac 1.0.0

it seems there was another nuget package or something that is .net Framework compatible, since the version that is up on nuget is .net5, should maybe still possible to compile for vvvv using .net standart 2 project, but that going to take some time to setup…

What i would suggest is to use gamma and that nugget instead…

@mediadog

Just last week @antokhio and I wrote a plugin to control the LaserCube using its native protocol. In general, if you need it, we can share it. But the code base is not organized yet and we need to rewrite a significant part of it.

This one uses USB, and we have one for LaserCube WiFi

All new versions of the LaserCube support both Ethernet and WiFi. If we are talking about ILDA, this is the ULTRA version (the latest at the moment). From my experience the connection via Ethernet to a dedicated card does not differ in stability from USB.

@mediadog you talking about that LaserCube — https://www.laseros.com/?

@yar Yup the 2.5w ultra. Works great over Ethernet from a PC running their LaserOS, but like I said I got the Helios thinking there was a (working) vvvv plugin since they listed it. I’m happy to use WiFi or Ether if there’s a path from vvvv beta.

@antokhio After a bunch of poking around, I got that plugin to compile in VS 2022 (with a bunch of warnings), but vvvv still does not see any nodes. Why I usually just avoid any projects that do not have clear build and install instructions, I’ve gone down too many rabbit holes in the past trying to figure out how to build something, then having to figure out how to build it’s dependencies, and then what those depend on, etc etc…

But would love any code you could share, this is a kick-ass cube, and I’m eager to get it working in my framework for some building projections for some advocacy and public art projects here.

This one works - in the sense that it compiles and loads in vvvv. I don’t have a LaserCube to test though. Open the solution in Visual Studio, restore the nuget packages and compile. The build will end up in VVVV.Nodes.HeliosLaserDac\bin\x64\Release. From there you can d&d the dll into vvvv.
After the packages are restored using Visual Studio it should also be possible to use the HeliosLaserDac.csproj directly. But you’ll have to manually copy the libusb-1.0.dll from dependencies either “beside” the csproj or into the VVVV.Nodes.HeliosLaserDac\bin\Dynamic folder - not sure.

@bjoern Thanks - I did the build, but the dll still does not work, either by dragging it into vvvv 42 x64, or by putting it in my plugins folder. Suspect it is a dependency issue, though I copied the other libraries along with it. However! Dragging the .csproj file into vvvv does give a node! w00t! Makes me wonder if my previous build would do the same…

I’ll give it a test with my DAC and cube as soon as I get to my studio later today.

Hrmph. I have the Helios hooked up, and when I turn on Enable, I get a lengthy error message about missing libusb-1.0.dll, which is odd because I have it copied everywhere - next to the .csproj file (which I modified with a hint-path to it), in the dynamic folder, etc. This error is coming from a call exception in the Helios controller file HeliosController.cs when trying to open it after finding a VID and EID matching device…
HeliosTest_2024.11.19-16.56.05

Try copy it next to vvvv.exe

The dependency DLL are working slightly different, the place for it is lib/core or next to exe

@antokhio That didn’t work. Since the “missing libusb” error message is given for any exception with the device open call, I suspect something else is really going on here. I’ll try building the Helios library by itself and see if their examples work. Ah, fighting my tools!

One thing, I checked device manager, and the Helios shows up as a WinUSB device, which is libusb. Perhaps a version mismatch?

@mediadog Now you can try out the new nuget. Let me know what works, what doesn’t, and your general impressions.

@yar Thanks - should this work in beta? I tried dropping it in the various usual places, and the nodes are not being seen; when I open a help patch the vl window is blank.

I have no idea.
Probably not.
I haven’t opened Beta since 2021.