Home | News | Products | Support | Download | Sales | library | Guests | Contact | WebCam | Links
CDS Logo LanBox-Talk mail archive
 

By date: Prev | Next | Index By thread: Prev | Next | Index

SubjectRe: [LCtalk] high speed bulk communication...
FromFokko van Duin
DateTue, 22 Jun 2004 22:29:17 +0200


At 22:03 +0200 22-06-2004, Philippe Montémont wrote:
Where can I find documentation about "high speed bulk communication", as mentioned on the Read Me file downloaded with the last available version of LC+: "Firmware v2.00 supports UDP broadcasting, and UDP based bulk data receiving. This makes distributed universes over EtherNet, and high speed bulk communication with third party applications (like MAX, Capture 3D) possible"?
Thank you!

Next week Capture will release a new version with a LanBox dll so you can visualize your stage, cues, etc in 3D. We are working on new multi-platform MAX externals (and examples) for LanBox including UDP in and out, but you can already use the aka + OTUDP externals to set the mixer values on OSX.


If you want to implement something yourself the following protocol is used on UDP (copied from new LCPlus reference manual v2.0a1:


From firmware version 2.xx for the LanBox-LCX and LCE, a UDP protocol is supported in order to broadcast DMX buffers, or to set them directly from third party applications like MAX. For network and UDP setup see the LCedit+ tutorial and the LanBox user manual. The default UDP port used is 4777, and all integers are in "network order" (most significant byte first).


A packet consists of a 4-byte packet header followed by one or more messages. If a message has odd length, then a padding byte is added to make sure the next message is at a 16-bit aligned offset. This padding may be omitted after the last message of course.

Packet header   C0 B7 sq sq
 16-bit cookie
 16-bit sequence number

The cookie must always be 0xC0B7. Packets with a different cookie should be silently discarded. The sequence number is incremented by 1 for each packet, and may optionally be used to discard packets that are received out of sequence. (The LanBox does not currently do this though)


Two different types of messages are currently defined:


Buffer broadcast   C9 id ln ln ch ch <data>
 8-bit message type, always 0xC9
 8-bit source buffer id
 16-bit message length (of entire message, except padding)
 16-bit channel offset
 n bytes of data, where n = message length - 6

This message announces the contents of (part of) one of the buffers of the transmitting LanBox. The channel offset is the channel number corresponding to the first byte of data.

A LanBox can be configured to transmit the following buffers:
252  DMX Input Buffer
253  Analog/Switch Inputs
254  Mixer Buffer
255  DMX Output Buffer

A LanBox can be configured to copy incoming mixer buffer broadcasts of some other LanBox into its own mixer buffer or one of its layers.


Buffer write CA id ln ln ch ch <data> 8-bit message type, always 0xCA 8-bit target buffer id, see below for a list of ids 16-bit message length (of entire message, except padding) 16-bit channel offset n bytes of data, where n = message length - 6

This message is almost the same, except in opposite direction: it is sent to a LanBox to directly write into one of its buffers. The buffer id must be either 254 to write into the mixer buffer, or the id of a layer to write into, in range 1 (layer A) through 63 (layer BK).

It possible that future versions of the protocol will define more types of messages. These will however all start with the general form:
8-bit message type
8-bit value
16-bit message length


If the message type of a message is neither 0xC9 nor 0xCA, then the message length can be used to skip over the message. If a message is encountered with length set to 0, parsing must abort to avoid an infinite loop.


-- Fokko van Duin, Creators of the LanBox-LC CDS advanced technology bv, DMX lighting controller. http://www.cds.nl/ http://www.lanbox.com/

We are member of MIDI Manufacturers Association, MMA

By date: Prev | Next | Index By thread: Prev | Next | Index