Open Lighting Architecture 0.10.9
Loading...
Searching...
No Matches
ola::plugin::sandnet Namespace Reference

Detailed Description

Code for the SandNet protocol.

Classes

class  SandNetDevice
 
class  SandNetInputPort
 
class  SandNetNode
 
class  SandNetOutputPort
 
class  SandNetPlugin
 
class  SandNetPortHelper
 

Typedefs

typedef enum packet_type_e packet_type_t
 
typedef enum protocol_id_e protocol_id_t
 
typedef struct sandnet_advertisement_s sandnet_advertisement
 
typedef struct sandnet_dmx_s sandnet_dmx
 
typedef struct sandnet_port_control_s sandnet_port_control
 
typedef struct sandnet_name_s sandnet_name
 
typedef struct sandnet_identify_s sandnet_identify
 
typedef struct sandnet_program_s sandnet_program
 
typedef struct sandnet_led_s sandnet_led
 
typedef struct sandnet_compressed_dmx_s sandnet_compressed_dmx
 

Enumerations

enum  { SANDNET_NAME_LENGTH = 31 }
 
enum  packet_type_e {
  SANDNET_ADVERTISEMENT = 0x0100 , SANDNET_CONTROL = 0x0200 , SANDNET_DMX = 0x0300 , SANDNET_NAME = 0x0400 ,
  SANDNET_IDENTIFY = 0x0500 , SANDNET_PROG = 0x0600 , SANDNET_LED = 0x0700 , SANDNET_COMPRESSED_DMX = 0x0a00
}
 
enum  protocol_id_e {
  SANDNET_SANDNET = 0x02 , SANDNET_ARTNET = 0x04 , SANDNET_COMPULIGHT = 0x06 , SANDNET_SHOWNET = 0x09 ,
  SANDNET_IPX = 0x0d , SANDNET_ACN = 0x0e
}
 

Functions

enum ola::plugin::sandnet::packet_type_e __attribute__ ((packed))
 
 PACK (struct sandnet_packet_advertisement_port_s { protocol_id_t protocol;uint8_t mode;uint8_t term;uint8_t b;uint8_t group;uint8_t universe;uint8_t crap[53];})
 
 PACK (struct sandnet_advertisement_s { uint8_t mac[ola::network::MACAddress::LENGTH];uint32_t firmware;struct sandnet_packet_advertisement_port_s ports[SANDNET_MAX_PORTS];uint8_t nlen;char name[SANDNET_NAME_LENGTH];uint8_t magic3[9];uint8_t led;uint8_t magic4;uint8_t zero4[64];})
 
 PACK (struct sandnet_dmx_s { uint8_t group;uint8_t universe;uint8_t port;uint8_t dmx[DMX_UNIVERSE_SIZE];})
 
 PACK (struct sandnet_port_control_s { uint8_t mac[ola::network::MACAddress::LENGTH];uint8_t magic[4];struct sandnet_packet_advertisement_port_s ports[SANDNET_MAX_PORTS];})
 
 PACK (struct sandnet_name_s { uint8_t mac[ola::network::MACAddress::LENGTH];uint8_t name_length;uint8_t name[SANDNET_NAME_LENGTH];})
 
 PACK (struct sandnet_identify_s { uint8_t mac[ola::network::MACAddress::LENGTH];})
 
 PACK (struct sandnet_program_s { uint8_t mac[ola::network::MACAddress::LENGTH];uint8_t ip[ola::network::IPV4Address::LENGTH];uint8_t dhcp;uint8_t netmask[ola::network::IPV4Address::LENGTH];})
 
 PACK (struct sandnet_led_s { uint8_t mac[ola::network::MACAddress::LENGTH];uint8_t led;})
 
 PACK (struct sandnet_compressed_dmx_s { uint8_t group;uint8_t universe;uint8_t port;uint8_t zero1[4];uint8_t two;uint16_t length;uint8_t dmx[DMX_UNIVERSE_SIZE];})
 
 PACK (struct sandnet_packet { uint16_t opcode;union { sandnet_advertisement advertisement;sandnet_port_control port_control;sandnet_dmx dmx;sandnet_name name;sandnet_identify id;sandnet_program program;sandnet_led led;sandnet_compressed_dmx compressed_dmx;} contents;})