defs/si_sha/insteon.h File Reference

Insteon technology data structures, constants and utilities. More...

#include <si_sys/defs.h>

Go to the source code of this file.

Classes

struct  sc_insteonBridgeVersion
 Insteon Bridge version information. More...
struct  sc_insteonLinkEntry
 Insteon Link Entry information. More...

Defines

#define INSTEON_NETID   0x01
 NetId for Insteon.
#define aprint(b, a)
 Macro to print insteon addresses to a character buffer.
#define tprint(b, c, s)   sprintf(b,"%02X-%02X-%02X",INSTEON_NETID,(int)(c),(int)(s))
 Macro to print Insteon device type to a character buffer.
#define atou32(ah, am, al)
 Macro to convert 24-bit Insteon address to unsigned 32-bit word.
Insteon Message Flag bit defines


#define MF_BCAST   0x80
#define MF_NAK   0x80
#define MF_GROUP   0x40
#define MF_ACK   0x20
#define MF_EXTM   0x10
#define MF_HOPSLEFT(v)   ((v & 03) << 2)
#define MF_MAXHOPS(v)   (v & 03)
Remote command indexes.
Remote commands are a shorthand between the JavaScript side device and the bridge side.

#define RC_DISCOVER   1
#define RC_STDMESSAGE   2
#define RC_EXTMESSAGE   3
#define RC_GRPMESSAGE   4
#define RC_GETVERSION   5
#define RC_STDMSGWACK   6
#define RC_RESETLINKS   7

Enumerations

enum  se_insteonConfigurationFlags {
  se_configFlag_autoLink = 0x80, se_configFlag_monitorMode = 0x40, se_configFlag_disableLED = 0x20, se_configFlag_autoTimeout = 0x10,
  se_configFlag_busyNAK = 0x08
}
 Insteon bridge configuration flags.
enum  se_insteonCode {
  se_insteonCode_stdInEvent = 0x50, se_insteonCode_extInEvent = 0x51, se_insteonCode_x10InEvent = 0x52, se_insteonCode_linkStatusEvent = 0x53,
  se_insteonCode_buttonEvent = 0x54, se_insteonCode_resetLinksEvent = 0x55, se_insteonCode_groupEvent = 0x56, se_insteonCode_linkData = 0x57,
  se_insteonCode_getVersion = 0x60, se_insteonCode_sendGroup = 0x61, se_insteonCode_sendMessage = 0x62, se_insteonCode_startLinking = 0x64,
  se_insteonCode_cancelLinking = 0x65, se_insteonCode_setDevice = 0x66, se_insteonCode_reset = 0x67, se_insteonCode_acq = 0x68,
  se_insteonCode_getFirstLink = 0x69, se_insteonCode_getNextLink = 0x6a, se_insteonCode_setConfiguration = 0x6b, se_insteonCode_getLinkData = 0x6c,
  se_insteonCode_ledOn = 0x6d, se_insteonCode_ledOff = 0x6e, se_insteonCode_manageLink = 0x6f, se_insteonCode_nak = 0x70,
  se_insteonCode_longAck = 0x71, se_insteonCode_sleep = 0x72, se_insteonCode_getConfiguration = 0x73
}
 Standard Insteon Message codes. More...


Detailed Description

Insteon technology data structures, constants and utilities.

The structures constants and utilities are specific to Insteon technology in general.


Define Documentation

#define aprint ( b,
 ) 

Value:

sprintf(b,"%02X-%02X-%02X-%02X",INSTEON_NETID,\
            (int)(((a)>>16)&0xFF),(int)(((a)>>8)&0xFF),(int)((a)&0xFF))
Macro to print insteon addresses to a character buffer.

12 characters are required in buffer to hold address.

#define atou32 ( ah,
am,
al   ) 

Value:

((s_uint32)( ((ah << 16) & 0x00FF0000) | \
                                      ((am <<  8) & 0x0000FF00) | \
                                      (al & 0x000000FF) ))
Macro to convert 24-bit Insteon address to unsigned 32-bit word.

#define INSTEON_NETID   0x01

NetId for Insteon.

Given by the LASE system to distinguish it from other automation networks.

#define tprint ( b,
c,
 )     sprintf(b,"%02X-%02X-%02X",INSTEON_NETID,(int)(c),(int)(s))

Macro to print Insteon device type to a character buffer.

9 characters are required in buffer to hold device type.


Enumeration Type Documentation

Standard Insteon Message codes.

These codes are used to identify messages, both to and from Insteon devices. For example, se_insteonCode_stdInEvent indicates a 'standard' Insteon message or event.


doxygen