06.02.2020, 01:21
Art-Net DMX
|
07.09.2020, 22:49
I finally installed at the clients site, Using an Enttec DMX to Artnet. The script works well for presets , ie setting dmx 1 to 255, however if a slider is used eg sliding up from 0 to 255, where eg value 1,5,7,10,14 etc are sent out, the shac(LM) has trouble keeping up with all the packets of data being sent. This results in at first the light matching the slider but very quickly it starts lagging, so by the time the slider reaches 255, it may be a few second before the shac(LM) changes the light level to 255. Is there any way of speeding up the script?
07.05.2024, 12:54
(03.02.2020, 12:51)admin Wrote: An example of Art-Net receiver. It ignores sequence and universe numbers which are not needed for general use. Edit mapping table to select which groups addresses are mapped to DMX channel numbers starting from 1. Output value for each channel is 1 byte (0..255).Regarding this. Is there any way to have the LM separate commands based on Universe? My client want's to use universe 3 on art-net to control KNX lights on/off and value dim. Universe 1 and 2 are used for stagelights.
07.05.2024, 13:07
Try this:
Code: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 if not server then
mapping = {
[1] = '32/1/1',
[2] = '32/1/2',
[3] = '32/1/3',
}
server = require('socket').udp()
server:settimeout(1)
server:setsockname('*', 0x1936)
header = 'Art-Net' .. string.char(0, 0, 0x50)
values = {}
function parse(data)
local count, value
if #data < 19 or data:sub(1, #header) ~= header then
return
end
local univlo, univhi = data:byte(15, 16)
local universe = univhi * 256 + univlo
if universe ~= 3 then
return
end
count = #data - 18
for i = 1, count do
value = data:byte(i + 18)
if value ~= values[ i ] then
values[ i ] = value
if mapping[ i ] then
grp.update(mapping[ i ], value)
end
end
end
end
end
data = server:receive()
if data then
parse(data)
end
07.05.2024, 13:17
(07.05.2024, 13:07)admin Wrote: Try this: When logging the "server" variable i get this status: udp{unconnected}: 0xb6e42ac0
07.05.2024, 13:20
This is correct, UDP server cannot be in a connected state, only UDP client can.
Consider changing grp.update() to grp.checkupdate().
07.05.2024, 13:42
You should check the sending side settings.
|
« Next Oldest | Next Newest »
|