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

Detailed Description

Code for the SandNet protocol.

Classes

class  Callback0
 A 0 argument callback which can be called multiple times. More...
 
class  IPV4Address
 Represents a IPv4 Address. More...
 
class  IPV4SocketAddress
 An IPv4 SocketAddress. More...
 
class  MACAddress
 Represents a MAC Address. More...
 
class  map
 STL class. More...
 
class  ostringstream
 STL class. More...
 
class  SandNetDevice
 
class  SandNetInputPort
 
class  SandNetNode
 
class  SandNetOutputPort
 
class  SandNetPlugin
 
class  SandNetPortHelper
 
class  string
 STL class. More...
 
class  UDPSocket
 
class  vector
 STL class. More...
 

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;})
 
uint16_t HostToNetwork (uint16_t value)
 16-bit unsigned host to network conversion.
 
uint16_t NetworkToHost (uint16_t value)
 16-bit unsigned network to host conversion.