
typedef struct
{
uint32_t version; /* CAVElib version */
uint32_t numSensors; /* Total number of sensors */
uint32_t sensorOffset; /* Byte offset from of header to start of sensor array */
uint32_t sensorSize; /* sizeof() of a sensor struct */
uint32_t timestamp[2]; /* timestamp of latest data */
uint32_t command; /* For sending commands (such as 'reset') to daemon */
} CAVE_TRACKDTRACKER_HEADER;
typedef struct
{
float x, y, z;
float azim, elev, roll;
CAVE_TIMESTAMP_ST timestamp;
boolean calibrated;
CAVEID frame; /* CAVE_TRACKER_FRAME or CAVE_NAV_FRAME */
} CAVE_SENSOR_ST;
typedef struct
{
uint32_t version; /* CAVElib version */
uint32_t buttonOffset; /* Byte offset from start of header to start of button data */
uint32_t valuatorOffset; /* Byte offset from start of header to start of valuator data */
uint32_t numButtons;
uint32_t numValuators;
uint32_t timestamp[2];
uint32_t command; /* For sending commands (such as 'reset') to daemon */
} CAVE_TRACKDCONTROLLER_HEADER;
struct
{
int32_t button[CAVE_MAX_BUTTONS];
float valuator[CAVE_MAX_VALUATORS];
};