Add E1.31 Support
Implements changes requested in #1922
Adds configurable E1.31 support for controlling Espurna lighting devices with E1.31 lighting software such as Vixen 3, OpenRGB, etc. Web-based configuration page provides the ability to enable E1.31 support globally and enable E1.31 control for each lighting channel. You can set the universe for the device and the E1.31 channel for each Espurna lighting channel. Can be disabled with E131_SUPPORT flag. Requires light support.
I have addressed the comments from my first push of this branch.
Can you point to any simple client to test this out?
My OpenRGB project can control E1.31. You can get the latest release on GitLab:
https://gitlab.com/CalcProgrammer1/OpenRGB
You will need to create an e131.txt file in the same folder as the OpenRGB application. That file should contain something like:
e131_device_start
Espurna Bulb 1
num_leds=1
start_channel=1
start_universe=1
rgb_order=RGB
type=SINGLE
e131_device_end
e131_device_start
Espurna Bulb 2
num_leds=1
start_channel=4
start_universe=1
rgb_order=RGB
type=SINGLE
e131_device_end
This is the configuration I was testing with, two Espurna bulbs on universe 1. The first bulb was configured with channels 1/2/3, the second with channels 4/5/6.
Thanks! Up and running.
I'll check out if Core's generic UDP server might work, too, since the only thing we want is to receive that giant struct and cast it. Might save a bit of .bin size, since mDNS already uses it.