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

Use libartnet for Art-Net tx/rx instead of own implementation #50

Open
kripton opened this issue Jul 7, 2022 · 1 comment
Open

Use libartnet for Art-Net tx/rx instead of own implementation #50

kripton opened this issue Jul 7, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@kripton
Copy link
Member

kripton commented Jul 7, 2022

OLP has a generic Art-Net implementation (https://github.com/OpenLightingProject/libartnet). This should probably be preferred to the current "custom" implementation

@kripton kripton added enhancement New feature or request good first issue Good for newcomers labels Jul 7, 2022
@kripton kripton self-assigned this Jul 7, 2022
@6by9
Copy link

6by9 commented Jul 19, 2022

I looked at libartnet previously.

It makes a lot of assumptions about being able to access the network stack directly in https://github.com/OpenLightingProject/libartnet/blob/master/artnet/network.c, which doesn't map very well onto lwip or other non-mainline (ie Linux or Win32) platform. Calling select on an file descriptor is really not going to fly on Pico.

Ideally it wants an abstraction layer for all the network level stuff so that the client can provide the appropriate implementations for eg enumerating interfaces, opening ports, and sending or receiving packets. The default implementation is effectively the current contents of network.c suitably wrapped.

It's also not been touched in 6 years, so is unlikely to support ArtNet4 or other recent additions. I don't know what behaviour you'll get trying multicast over these lower powered network stacks. The chips are unlikely to have significant offload, and whilst lwip has some support for IGMP subscription management, it may not make any significant difference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants