Open Lighting Architecture  Latest Git
Classes | Typedefs | Enumerations | Functions | Variables
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;})
 

Variables

ola::plugin::sandnet::SandNetPlugin __attribute__
 
const char plugin_description []
 

Variable Documentation

◆ plugin_description

const char ola::plugin::sandnet::plugin_description[]
Initial value:
= "SandNet Plugin\n"
"==============\n"
"\n"
"This plugin creates a single device with 2 output and 8 input ports.\n"
"\n"
"The universe bindings are offset by one from those displayed in sandnet. For\n"
"example, SandNet universe 1 is OLA universe 0.\n"
"\n"
"\n"
"## Config file: `ola-sandnet.conf`\n"
"\n"
"`ip = [a.b.c.d|<interface_name>]` \n"
"The IP address or interface name to bind to. If not specified it will use\n"
"the first non-loopback interface.\n"
"\n"
"`name = ola-SandNet` \n"
"The name of the node."