Documentation
¶
Index ¶
- Constants
- func Encrypt(data []byte) []byte
- type AckDataPacket
- type Address
- type Client
- type DataPacket
- type DevAuthKeyRequestPacket
- type DevConnectionReplyPacket
- type DevConnectionRequestPacket
- type DevKeyAuthReplyPacket
- type DeviceSysmapBroadcastPacket
- type GenericPayload
- type Header
- type InitPacket
- type MasterStatusBroadcastPacket
- type OpCode
- type Packet
- type PacketHandler
- type Payload
- type Protocol
- type Sysmap
- type UnknownPacket
Constants ¶
const ( // MasterStatusBroadcast returned for the init of the connection MasterStatusBroadcast OpCode = 0x02 // DeviceMasterQuery starts the init of the connection DeviceMasterQuery OpCode = 0x03 // DeviceAuthKeyRequest asks the master for an authkey DeviceAuthKeyRequest OpCode = 0x04 // DeviceAuthKeyReply returns from the master with the authkey DeviceAuthKeyReply OpCode = 0x05 // DeviceConnectionRequest asks for a connection with the master's encrypted authkey DeviceConnectionRequest OpCode = 0x06 // DeviceConnectionReply response to a connection request DeviceConnectionReply OpCode = 0x07 // DeviceSysMapBroadcast gets a list of devices seen in XNL DeviceSysMapBroadcast OpCode = 0x09 // DataMessage sends XNL or XCMP data DataMessage OpCode = 0x0b // DataMessageAck acknowledges a DataMessage packet DataMessageAck OpCode = 0x0c // ProtocolXNL the packet is just XNL ProtocolXNL Protocol = 0 // ProtocolXCMP the payload is in XCMP format ProtocolXCMP Protocol = 1 )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AckDataPacket ¶
type AckDataPacket struct {
Header Header
}
AckDataPacket a request to acknowledge a prior data packet
func NewAckDataPacketByArray ¶
func NewAckDataPacketByArray(data []byte) AckDataPacket
NewAckDataPacketByArray create an data packet from data array
func NewAckDataPacketByParam ¶
func NewAckDataPacketByParam(dest Address, src Address, proto Protocol, flags byte, transactionID uint16) AckDataPacket
NewAckDataPacketByParam create ack data packet from params
func (AckDataPacket) GetHeader ¶
func (p AckDataPacket) GetHeader() Header
GetHeader returns the header for the packet
func (AckDataPacket) SetHeader ¶
func (p AckDataPacket) SetHeader(h Header)
SetHeader returns the header for the packet
func (AckDataPacket) ToArray ¶
func (p AckDataPacket) ToArray() []byte
ToArray converts a packet to a byte array
type Client ¶
type Client struct { PacketsIn chan Packet // contains filtered or unexported fields }
Client descripes a XNL Client
func (*Client) GetAuthKey ¶
func (c *Client) GetAuthKey()
GetAuthKey authenticates with XNL on the radio and creates an XCMP connection
func (*Client) GetRadioAddress ¶
GetRadioAddress gets the IP address of the remote radio
func (*Client) GetRadioXNLID ¶
GetRadioXNLID gets the XNL ID of the remote radio
func (*Client) RegisterHandler ¶
func (c *Client) RegisterHandler(opCode OpCode, handlerFunc PacketHandler)
RegisterHandler registers a function to be called anytime a certain packet type is recieved
func (*Client) SendPacket ¶
SendPacket sends an XNL protocol packet to the radio
type DataPacket ¶
DataPacket a request to initialize a XNL connection
func NewDataPacket ¶
func NewDataPacket(dest Address, src Address, proto Protocol, payload Payload) DataPacket
NewDataPacket create data packet from params
func NewDataPacketByArray ¶
func NewDataPacketByArray(data []byte) DataPacket
NewDataPacketByArray create an data packet from data array
func (DataPacket) GetHeader ¶
func (p DataPacket) GetHeader() Header
GetHeader returns the header for the packet
func (DataPacket) SetHeader ¶
func (p DataPacket) SetHeader(h Header)
SetHeader returns the header for the packet
func (DataPacket) ToArray ¶
func (p DataPacket) ToArray() []byte
ToArray converts a packet to a byte array
type DevAuthKeyRequestPacket ¶
type DevAuthKeyRequestPacket struct {
Header Header
}
DevAuthKeyRequestPacket a request to initialize a XNL connection
func NewDevAuthKeyRequestPacket ¶
func NewDevAuthKeyRequestPacket(dest Address) DevAuthKeyRequestPacket
NewDevAuthKeyRequestPacket create deregistration packet from params
func NewDevAuthKeyRequestPacketByArray ¶
func NewDevAuthKeyRequestPacketByArray(data []byte) DevAuthKeyRequestPacket
NewDevAuthKeyRequestPacketByArray create an deregistration packet from data array
func (DevAuthKeyRequestPacket) GetHeader ¶
func (p DevAuthKeyRequestPacket) GetHeader() Header
GetHeader returns the header for the packet
func (DevAuthKeyRequestPacket) SetHeader ¶
func (p DevAuthKeyRequestPacket) SetHeader(h Header)
SetHeader returns the header for the packet
func (DevAuthKeyRequestPacket) ToArray ¶
func (p DevAuthKeyRequestPacket) ToArray() []byte
ToArray converts a packet to a byte array
type DevConnectionReplyPacket ¶
DevConnectionReplyPacket a request to initialize a XNL connection
func NewDevConnectionReplyPacketByArray ¶
func NewDevConnectionReplyPacketByArray(data []byte) DevConnectionReplyPacket
NewDevConnectionReplyPacketByArray create an deregistration packet from data array
func NewDevConnectionReplyPacketByParam ¶
func NewDevConnectionReplyPacketByParam(dest Address, src Address, assignedID Address, authInfo []byte) DevConnectionReplyPacket
NewDevConnectionReplyPacketByParam create deregistration packet from params
func (DevConnectionReplyPacket) GetHeader ¶
func (p DevConnectionReplyPacket) GetHeader() Header
GetHeader returns the header for the packet
func (DevConnectionReplyPacket) SetHeader ¶
func (p DevConnectionReplyPacket) SetHeader(h Header)
SetHeader returns the header for the packet
func (DevConnectionReplyPacket) ToArray ¶
func (p DevConnectionReplyPacket) ToArray() []byte
ToArray converts a packet to a byte array
type DevConnectionRequestPacket ¶
type DevConnectionRequestPacket struct { Header Header // contains filtered or unexported fields }
DevConnectionRequestPacket a request to initialize a XNL connection
func NewDevConnectionRequestPacket ¶
func NewDevConnectionRequestPacket(dest Address, src Address, connectionAddr Address, connectionType byte, connectionIndex byte, key []byte) DevConnectionRequestPacket
NewDevConnectionRequestPacket create deregistration packet from params
func NewDevConnectionRequestPacketByArray ¶
func NewDevConnectionRequestPacketByArray(data []byte) DevConnectionRequestPacket
NewDevConnectionRequestPacketByArray create an deregistration packet from data array
func (DevConnectionRequestPacket) GetHeader ¶
func (p DevConnectionRequestPacket) GetHeader() Header
GetHeader returns the header for the packet
func (DevConnectionRequestPacket) SetHeader ¶
func (p DevConnectionRequestPacket) SetHeader(h Header)
SetHeader returns the header for the packet
func (DevConnectionRequestPacket) ToArray ¶
func (p DevConnectionRequestPacket) ToArray() []byte
ToArray converts a packet to a byte array
type DevKeyAuthReplyPacket ¶
DevKeyAuthReplyPacket a request to initialize a XNL connection
func NewDevKeyAuthReplyPacketByArray ¶
func NewDevKeyAuthReplyPacketByArray(data []byte) DevKeyAuthReplyPacket
NewDevKeyAuthReplyPacketByArray create an data packet from data array
func NewDevKeyAuthReplyPacketByParam ¶
func NewDevKeyAuthReplyPacketByParam(dest Address, src Address, tempID uint16, authKey []byte) DevKeyAuthReplyPacket
NewDevKeyAuthReplyPacketByParam create data packet from params
func (DevKeyAuthReplyPacket) GetHeader ¶
func (p DevKeyAuthReplyPacket) GetHeader() Header
GetHeader returns the header for the packet
func (DevKeyAuthReplyPacket) SetHeader ¶
func (p DevKeyAuthReplyPacket) SetHeader(h Header)
SetHeader returns the header for the packet
func (DevKeyAuthReplyPacket) ToArray ¶
func (p DevKeyAuthReplyPacket) ToArray() []byte
ToArray converts a packet to a byte array
type DeviceSysmapBroadcastPacket ¶
DeviceSysmapBroadcastPacket a request to initialize a XNL connection
func NewDeviceSysmapBroadcastPacket ¶
func NewDeviceSysmapBroadcastPacket(src Address, maps []Sysmap) DeviceSysmapBroadcastPacket
NewDeviceSysmapBroadcastPacket create device sysmap packet from params
func NewDeviceSysmapBroadcastPacketByArray ¶
func NewDeviceSysmapBroadcastPacketByArray(data []byte) DeviceSysmapBroadcastPacket
NewDeviceSysmapBroadcastPacketByArray create an data packet from data array
func (DeviceSysmapBroadcastPacket) GetHeader ¶
func (p DeviceSysmapBroadcastPacket) GetHeader() Header
GetHeader returns the header for the packet
func (DeviceSysmapBroadcastPacket) SetHeader ¶
func (p DeviceSysmapBroadcastPacket) SetHeader(h Header)
SetHeader returns the header for the packet
func (DeviceSysmapBroadcastPacket) ToArray ¶
func (p DeviceSysmapBroadcastPacket) ToArray() []byte
ToArray converts a packet to a byte array
type GenericPayload ¶
type GenericPayload struct {
Payload []byte
}
GenericPayload a generic payload struct
func (GenericPayload) ToArray ¶
func (g GenericPayload) ToArray() []byte
ToArray converts a generic payload to an array
type Header ¶
type Header struct { OpCode OpCode Protocol Protocol Flags byte Dest Address Src Address TransactionID uint16 }
Header for the Packet
type InitPacket ¶
type InitPacket struct {
Header Header
}
InitPacket a request to initialize a XNL connection
func NewInitPacket ¶
func NewInitPacket() InitPacket
NewInitPacket create deregistration packet from params
func NewInitPacketByArray ¶
func NewInitPacketByArray(data []byte) InitPacket
NewInitPacketByArray create an deregistration packet from data array
func (InitPacket) GetHeader ¶
func (p InitPacket) GetHeader() Header
GetHeader returns the header for the packet
func (InitPacket) SetHeader ¶
func (p InitPacket) SetHeader(h Header)
SetHeader returns the header for the packet
func (InitPacket) ToArray ¶
func (p InitPacket) ToArray() []byte
ToArray converts a packet to a byte array
type MasterStatusBroadcastPacket ¶
type MasterStatusBroadcastPacket struct { Header Header ProtocolRev uint16 ProtocolMinor uint16 DeviceType byte DeviceNumber byte Unknown byte }
MasterStatusBroadcastPacket a response from the XNL master
func NewMasterStatusBroadcastPacket ¶
func NewMasterStatusBroadcastPacket(src Address) MasterStatusBroadcastPacket
NewMasterStatusBroadcastPacket create master status broadcast packet from params
func NewMasterStatusBroadcastPacketByArray ¶
func NewMasterStatusBroadcastPacketByArray(data []byte) MasterStatusBroadcastPacket
NewMasterStatusBroadcastPacketByArray create an master status broadcast packet from data array
func (MasterStatusBroadcastPacket) GetHeader ¶
func (p MasterStatusBroadcastPacket) GetHeader() Header
GetHeader returns the header for the packet
func (MasterStatusBroadcastPacket) SetHeader ¶
func (p MasterStatusBroadcastPacket) SetHeader(h Header)
SetHeader returns the header for the packet
func (MasterStatusBroadcastPacket) ToArray ¶
func (p MasterStatusBroadcastPacket) ToArray() []byte
ToArray converts a packet to a byte array
type Packet ¶
Packet represents an XNL packet
func CreatePacketFromArray ¶
CreatePacketFromArray creates a XNL packet from an array
type PacketHandler ¶
PacketHandler is a function to handle a particular type of packet
type Sysmap ¶
Sysmap is an entry in the sysmap for a device
func SysmapFromArray ¶
SysmapFromArray creates a Sysmap from an array
type UnknownPacket ¶
UnknownPacket an unknown packet
func NewUnkownPacketByArray ¶
func NewUnkownPacketByArray(data []byte) UnknownPacket
NewUnkownPacketByArray create an data packet from data array
func (UnknownPacket) GetHeader ¶
func (p UnknownPacket) GetHeader() Header
GetHeader returns the header for the packet
func (UnknownPacket) SetHeader ¶
func (p UnknownPacket) SetHeader(h Header)
SetHeader sets the header for the packet
func (UnknownPacket) ToArray ¶
func (p UnknownPacket) ToArray() []byte
ToArray converts a packet to a byte array