Artnet --> Kinet relay ?

168 views
Skip to first unread message

Damon Seeley

unread,
Sep 10, 2017, 7:36:26 AM9/10/17
to open-lighting
Hi all, I'm looking to create an Artnet to Kinet relay so I can use a larger set of tools to control an installation of ColorKinetics Flex MX in a tree. 

I'm new to OLA and still getting the basic semantics under my belt. So far as I understand I need to create a device on my local server that has Artnet IN ports patched to universes, and then Kinet OUT ports patched to the same universes. (OLA primitives bolded) Does that sound about right?

Any advice or pointers appreciated. Thanks!
IMG_8287.JPG

Peter Newman

unread,
Sep 10, 2017, 7:50:53 AM9/10/17
to open-lighting
Hi Damon,

Yes that's basically all there is to it. If you run up OLAd, then stop it, you'll find a file ola-kinet,conf on your machine (while it's running, the plugin will show you where the file is located). Stop OLAd, edit the file, see ( https://github.com/OpenLightingProject/ola/blob/master/plugins/kinet/README.md ) for info, but basically add a power_supply line with an IP for each device you want to control).

Then run up OLAd, create a new universe, patch your ArtNet and KiNet ports to it and your done!

Peter Newman

unread,
Sep 10, 2017, 8:17:02 AM9/10/17
to open-lighting
Do you have multiple KiNet power supplies by the way? We don't currently allow two to be patched to the same OLA universe, but I think that may just be an oversight on our part, so I could make a change to allow that if you're able to test it?

Damon Seeley

unread,
Sep 10, 2017, 9:04:19 PM9/10/17
to open-lighting
This is awesome, thanks for the info!

Re PSUs I am running the tree off of 1 sPDS-480. I could add a second PSU for testing if that would help.

Peter Newman

unread,
Sep 11, 2017, 8:23:39 AM9/11/17
to open-lighting
Yeah if you wouldn't mind that would be useful. You'll need to compile the new version of OLA when I put the change in, what OS/platform are you running OLA on?

Damon Seeley

unread,
Sep 13, 2017, 11:36:08 PM9/13/17
to open-lighting
I haven't yet gotten this to work. Some info:

The power supply I'm using is a sPDS-480ca 7.5V with 16 outputs. In other software environments those are mapped to PORT_OUT properties of kinet. 

(Background: we wrote a java kinet adapter for some installation work, but I'm hoping to migrate to OLAD for speed and flexibility of running it on a separate host.)

I configured OLAD with a kinet device with 11 entries, one for each output port on the PSU we are using, each patched to a new universe:

Device 9: KiNet Device
 port
0, OUT Power Supply: 10.1.1.95, patched to universe 1
 port
1, OUT Power Supply: 10.1.1.95, patched to universe 2
 port
2, OUT Power Supply: 10.1.1.95, patched to universe 3
 port
3, OUT Power Supply: 10.1.1.95, patched to universe 4
 port
4, OUT Power Supply: 10.1.1.95, patched to universe 5
 port
5, OUT Power Supply: 10.1.1.95, patched to universe 6
 port
6, OUT Power Supply: 10.1.1.95, patched to universe 7
 port
7, OUT Power Supply: 10.1.1.95, patched to universe 8
 port
8, OUT Power Supply: 10.1.1.95, patched to universe 9
 port
9, OUT Power Supply: 10.1.1.95, patched to universe 10
 port
10, OUT Power Supply: 10.1.1.95, patched to universe 11

Then I used the web-based DMX console to set values and watched the hardware install (I had previously verified network operation using CK Config and my java client) No lighting output :(

I fired up wireshark to ensure packets were indeed going out, and indeed they were.

When I compared OLAD packets with packets from CK Quickplay Pro and our java client one thing stood out:

The PORT_OUT field for OLAD is
01 01

instead of
08 01

from my control examples.

I found that in kinet.cpp that exact value is commented out on line 59. 

Wondering if this is a problem of version, or port assignment instruction.

Screenshots of each wireshark capture attached.

Also - I'm using a Homebrew install of OLA on a macbook pro.
OLAD.png
ELUJavaClient.png
CKQuickplayPro.png

Peter Newman

unread,
Sep 14, 2017, 5:22:10 PM9/14/17
to open-lighting
Can you just confirm what your ola-kinet.conf file looks like please?

I don't think we've had the concept of ports before, we just expected each Kinet device to be a "universe" so you fire data to that IP. I think the way you've configured our existing code, you're sending 11 different universes simultaneously to the same controller (as per https://github.com/OpenLightingProject/ola/blob/master/plugins/kinet/README.md ).

If you can get in the stage where you can compile OLA from Git, we can probably make an attempt at fixing this (unless you want to have a crack yourself; if you wrote Java Kinet code, then you know more than me at least. Perhaps if you want to attempt it, and I'll assist on the OLA side as necessary?

I should add that kinet.cpp only a test file Simon wrote for hacking around with the code. The code OLA actually uses is here:

Although it's this line generating 0101, rather than 0801:

Although it looks like our "universe" value is in a different place in the PORT_OUT command; you've got 4 less bytes before it (assuming that 0xffffffff is still your universe). Can we see your Java code if that works, we can probably port that in.

Does a PORT_OUT setup always have 16 ports (and only up to 16) or can it have less? Either way, it sounds like the config needs tweaking to do one of the following:
Specify IP (still), if no port specified, send DMX packets, otherwise send PORT_OUT packets
Or
Specify IP and port/number of ports, again send DMX or PORT_OUT as appropriate.

Each of these will appear as an OLA port/or device/port combo (the latter is probably actually better) which you can then patch to whichever OLA universes you want.

We should probably also catch the case you've created, with the same IP in the system multiple times (unless they're different ports), which logically makes no sense.

Damon Seeley

unread,
Sep 14, 2017, 5:42:16 PM9/14/17
to open-lighting
Aha. I get it now. I thought that the multiple entries with the same IP would allow me to assign "ports" as I do elsewhere for kinet, but I see that OLA "Port" and kinet "port" are different.

CK devices come in a variety of port numbers. The power supplies for big media wall installations have 8 or 16 ports. Smaller data+power supplies have 2 or 1. I will look for some developer documentation on how this is handled.

I will also revert to a git install of OLA and see if I can hack this into working order (although I haven't worked in cpp in 20 years).

Thanks!

Peter Newman

unread,
Sep 17, 2017, 8:07:14 PM9/17/17
to open-lighting
Yeah the port types are currently different. Although I suspect modelling each IP as a device, with either one or more ports, depending on the capabilities of what we're sending to.

If you can't manage the full OLA code stack, you could also try that kinet.cpp file Simon tested stuff in.

K Savard

unread,
Oct 7, 2017, 7:19:08 AM10/7/17
to open-lighting
Hi i'm looking to do exactly the same ! Did your test shows any results ?

Peter Newman

unread,
Oct 8, 2017, 6:59:42 AM10/8/17
to open-lighting
I don't know how far Damon got, but depending on what type of Kinet devices you've got, the existing code may work fine for them, as long as they want DMX rather than PORT_OUT packets.

Damon Seeley

unread,
Oct 8, 2017, 12:36:43 PM10/8/17
to open-lighting
Hi K, I got stalled in working on this by other projects. Hope to return to it soon.

Peters feedback is right on. If you only need DMX packets you should be good to go.

Otherwise we think the PORTOUT packet formatting in current build might not be quite right (at least for Flex MX devices). Earlier messages in this thread detail the open question

Best of luck!!
--
The Open Lighting Project: open-l...@googlegroups.com, #openlighting (irc.freenode.org)
To unsubscribe from this group, send email to open-lightin...@googlegroups.com
For more options, visit https://groups.google.com/groups/opt_out?hl=en
--
Connect with SA: website | Facebook | Twitter | LinkedIn | Mailing List

Peter Newman

unread,
Oct 9, 2017, 10:31:22 AM10/9/17
to open-lighting
More specifically, there isn't currently live PORTOUT packet code, just the test stuff in kinet.cpp, i.e. olad itself will only generate DMX packets, someone needs to do a PR for PORTOUT packets.


On Sunday, 8 October 2017 17:36:43 UTC+1, Damon Seeley wrote:
Hi K, I got stalled in working on this by other projects. Hope to return to it soon.

Peters feedback is right on. If you only need DMX packets you should be good to go.

Otherwise we think the PORTOUT packet formatting in current build might not be quite right (at least for Flex MX devices). Earlier messages in this thread detail the open question

Best of luck!!
To unsubscribe from this group, send email to open-lighting+unsubscribe@googlegroups.com

Peter Newman

unread,
Sep 10, 2022, 10:17:00 AM9/10/22
to open-lighting
Hello Damon and K and other interested parties. I've finally made some progress on this having had access to a good test device.

The draft PR is here, along with some comments and questions which I'd appreciate input on/answers to (commenting on the GitHub PR or here is fine).

I still need to add the bit of code to actually send from OLA with this new code, but at that point any real world testing would be appreciated too!

To unsubscribe from this group, send email to open-lightin...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages