The DMX512.com Forum
General Category => DMX512 Discussions => Topic started by: intellijel on May 30, 2010, 09:57:27 PM
-
I have an arduino (microcontroller) device that happily receives DMX512 at it's expect baud rate of 250kbps.
The problem is that I want to take particular DMX values and transmit them wirelessly via xbee modules which can only handle a max baud rate of 115200 kbps (less than half).
As a solution I thought about just skipping every other frame of DMX data so that I am effectively cutting the data rate in half. However I am not clear from reading the protocol description if DMX is constantly re-sending the same values (even if they have not changed)?
e.g. If I send a value of 112 on byte one of the 512 byte frame (and zero on everything else then I would be sending frame1:[112][0][0]...[0]
Assuming I did not make any changes on my DMX controller, would it keep sending the same frame values as last sent? e.g.
frame2:[112][0][0]...[0]
frame3:[112][0][0]...[0]
frame4:[112][0][0]...[0]
etc.
If this is the case then I can probably afford to skip a frame or two.
-
Yes, each frame of DMX512 data contains all current values. So you can drop every other frame and you get the full data, though obviously with some lumpiness if things are changing.
Other strategies you could persue include sending less channels, or you you could encode the data so it takes up less bandwidth, though that would involve dealy of a frame, which probably wont be an issue.