vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
hci.h File Reference
#include "classes.h"

Go to the source code of this file.

Classes

struct  packet_rec
 
class  Hci
 

Macros

#define HCI_CHECK_FGND   1
 
#define HCI_CHECK_BGND   2
 
#define HCI_CHECK_MOTION   3
 
#define NUM_ENCODERS   7 /* Max # encoders supported by Immersion HCI */
 
#define NUM_ANALOGS   8 /* Max # of A/D channels supported */
 
#define NUM_BUTTONS   7 /* Max # of buttons supported */
 
#define MAX_PACKET_SIZE   42
 
#define MAX_CFG_SIZE   40
 
#define MAX_STRING_SIZE   32
 
#define CMD_BYTE(t, anlg, encd)
 
#define CONFIG_MIN   0xC0 /* Minimum cmd byte for a config cmd */
 
#define GET_PARAMS   0xC0
 
#define GET_HOME_REF   0xC1
 
#define HOME_POS   0xC2
 
#define SET_HOME   0xC3
 
#define SET_BAUD   0xC4
 
#define END_SESSION   0xC5
 
#define GET_MAXES   0xC6
 
#define SET_PARAMS   0xC7
 
#define GET_PROD_NAME   0xC8
 
#define GET_PROD_ID   0xC9
 
#define GET_MODEL_NAME   0xCA
 
#define GET_SERNUM   0xCB
 
#define GET_COMMENT   0xCC
 
#define GET_PRM_FORMAT   0xCD
 
#define GET_VERSION   0xCE
 
#define REPORT_MOTION   0xCF
 
#define SET_HOME_REF   0xD0
 
#define RESTORE_FACTORY   0xD1
 
#define INSERT_MARKER   0xD2
 
#define GET_EXT_PARAMS   0xD3
 
#define PACKET_MARKER   0x80
 
#define CONFIG_BIT   0x40
 
#define TIMER_BIT   0x20
 
#define FUTURE_BIT   0x10
 
#define ANALOG_BITS   0x0C
 
#define ANALOG_HI_BIT   0x08
 
#define ANALOG_LO_BIT   0x04
 
#define ENCODER_BITS   0x03
 
#define ENCODER_HI_BIT   0x02
 
#define ENCODER_LO_BIT   0x01
 
#define TIMEOUT_CHARS   2*MAX_PACKET_SIZE
 
#define SIGNON_PAUSE   15
 
#define END_PAUSE   15
 
#define CFG_ARG_PAUSE   15
 
#define RESTORE_PAUSE   2000
 
#define PASSWD_OK   0xFF
 

Variables

char BAD_PORT_NUM []
 
char CANT_OPEN_PORT []
 
char NO_HCI []
 
char CANT_BEGIN []
 
char NO_PACKET_YET []
 
char TIMED_OUT []
 
char BAD_PACKET []
 
char BAD_PASSWORD []
 
char SUCCESS []
 
char TRY__AGAIN []
 
char BAD_VERSION []
 
char BAD_FORMAT []
 
byte cfg_args [MAX_CFG_SIZE]
 
int num_cfg_args
 

Macro Definition Documentation

#define ANALOG_BITS   0x0C
#define ANALOG_HI_BIT   0x08
#define ANALOG_LO_BIT   0x04
#define CFG_ARG_PAUSE   15
#define CMD_BYTE (   t,
  anlg,
  encd 
)
Value:
( (t ? TIMER_BIT : 0) \
| (anlg > 4 ? ANALOG_BITS : \
(anlg > 2 ? ANALOG_HI_BIT : \
(anlg ? ANALOG_LO_BIT : 0))) \
| (encd > 6 ? ENCODER_HI_BIT : \
(encd > 5 ? ENCODER_BITS : \
(encd ? ENCODER_LO_BIT : 0))) )
#define CONFIG_BIT   0x40
#define CONFIG_MIN   0xC0 /* Minimum cmd byte for a config cmd */
#define ENCODER_BITS   0x03
#define ENCODER_HI_BIT   0x02
#define ENCODER_LO_BIT   0x01
#define END_PAUSE   15
#define END_SESSION   0xC5
#define FUTURE_BIT   0x10
#define GET_COMMENT   0xCC
#define GET_EXT_PARAMS   0xD3
#define GET_HOME_REF   0xC1
#define GET_MAXES   0xC6
#define GET_MODEL_NAME   0xCA
#define GET_PARAMS   0xC0
#define GET_PRM_FORMAT   0xCD
#define GET_PROD_ID   0xC9
#define GET_PROD_NAME   0xC8
#define GET_SERNUM   0xCB
#define GET_VERSION   0xCE
#define HCI_CHECK_BGND   2
#define HCI_CHECK_FGND   1
#define HCI_CHECK_MOTION   3
#define HOME_POS   0xC2
#define INSERT_MARKER   0xD2
#define MAX_CFG_SIZE   40
#define MAX_PACKET_SIZE   42
#define MAX_STRING_SIZE   32
#define NUM_ANALOGS   8 /* Max # of A/D channels supported */
#define NUM_BUTTONS   7 /* Max # of buttons supported */
#define NUM_ENCODERS   7 /* Max # encoders supported by Immersion HCI */
#define PACKET_MARKER   0x80
#define PASSWD_OK   0xFF
#define REPORT_MOTION   0xCF
#define RESTORE_FACTORY   0xD1
#define RESTORE_PAUSE   2000
#define SET_BAUD   0xC4
#define SET_HOME   0xC3
#define SET_HOME_REF   0xD0
#define SET_PARAMS   0xC7
#define SIGNON_PAUSE   15
#define TIMEOUT_CHARS   2*MAX_PACKET_SIZE
#define TIMER_BIT   0x20

Variable Documentation

char BAD_FORMAT[]
char BAD_PACKET[]
char BAD_PASSWORD[]
char BAD_PORT_NUM[]
char BAD_VERSION[]
char CANT_BEGIN[]
char CANT_OPEN_PORT[]
byte cfg_args[MAX_CFG_SIZE]
char NO_HCI[]
char NO_PACKET_YET[]
int num_cfg_args
char SUCCESS[]
char TIMED_OUT[]
char TRY__AGAIN[]