Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with poll reply #2

Open
xseignard opened this issue Nov 28, 2017 · 9 comments
Open

Problem with poll reply #2

xseignard opened this issue Nov 28, 2017 · 9 comments

Comments

@xseignard
Copy link

Hello,

First, thanks for your very nice and up to date lib! 👍

I'm trying to use your library with teensy and madmapper.

Everything is working pretty ok, but I don't get why madmapper doesn't discover all the universes my teensy could handle (e.g. 16 universes).

In the madmapper interface, I only see 4 universes handled by my teensy.
capture d ecran 2017-11-28 a 19 57 16

Your can find my code here: https://github.com/xseignard/artnet-node/blob/master/src/main.ino

Any idea?

Regards

Xavier

@tobiasebsen
Copy link
Owner

The limitation is in the Art-Net specification. It limits the number of "ports" to a maximum of 4. I think the reason for this limitation is network bandwidth. Especially if you only have 10/100base-t (like the Wiz820io) you will probably not get good framerates streaming more than 4 universes.

The solution is to have multiple hardware nodes that each receive 4 universes. But then you need to configure them so that the first node has universe 0 to 3, the second node has universe 4 to 7, and so on.

@xseignard
Copy link
Author

Hello Tobias,
Thanks for your quick answer.
I tried this code: https://github.com/vertigo-dk/BlackLED

And with this one I can see the 16 universes in the pref pane of Madmapper.
The problem is that I don't get what's different between their code and mine.
I also tried their Artnet extension on my code with no success.

Any idea?

@tobiasebsen
Copy link
Owner

Yes, it seems that the Art-Net extension does indeed allow for more than 4 universes per node. But this extension is not a part of the Art-Net specification and will not be supported by all softwares. And even with MadMapper, that does support Art-Ext, you will probably experience bandwidth problems (low frame rates) when increasing the number of universes.

@tobiasebsen
Copy link
Owner

Take a look here: https://github.com/mattbeghin/Art-Ext-Poll

@xseignard
Copy link
Author

Thanks for the explanations and for your quick responses Tobias!

I got it now.

Regards

@xseignard
Copy link
Author

Hello,
I wake up this old thread, because it seems ArtNet version 4 now can handle more than 4 universes in an ArtPollReply by sending more than one response.
See: https://art-net.org.uk/faq/nodes-with-4-ports/

Any idea how to achieve that ?
Regards

@xseignard xseignard reopened this Oct 19, 2018
@tobiasebsen
Copy link
Owner

Hi @xseignard
It seems that what you can do is to send multiple ArtPollReply packets. In each of them you can specify a number of ports (NumPortsLo) with corresponding PortTypes and port addresses (SwIn or SwOut). My most recent commit 7063ebf sets the BindIp to the nodes IP as described in the document.

xseignard added a commit to xseignard/ArtNode that referenced this issue Oct 24, 2018
In order to conform to Art-Net 4 and have the possibility to handle more than 4 universes per device. tobiasebsen#2
@tobiasebsen
Copy link
Owner

As mrv96 pointed out in the comments of your pull-request, there is a different way to approach this. The philosophy behind having a ArtConfig is that all ports are configured here. I will be looking for a solution that honours this in a more elegant way.

@mrv96
Copy link

mrv96 commented Apr 23, 2019

A possible solution could be to implement a struct that describes a port and include a pointer to an array of ports (defined by the previous struct). In this way, knowing the number of ports by the field in the ArtConfig struct, it should be easy to handle different ports on different universes (with not common net and subnet).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants