devices/deviceinput/ordeviceinput_hardware.h
#ifndef __ORDEVICE_INPUT_HARDWARE_H__
#define __ORDEVICE_INPUT_HARDWARE_H__
#define PARENT_A 0
#define CHILD_A 1
#define PARENT_B 2
#define CHILD_B 3
enum {
DATA_TX = 0,
DATA_TY = 1,
DATA_TZ = 2,
DATA_RX = 3,
DATA_RY = 4,
DATA_RZ = 5,
DATA_TYPE_COUNT = 6
};
#define MAX_CHANNEL 100
class ORDeviceInputHardware
{
public:
ORDeviceInputHardware();
~ORDeviceInputHardware();
bool Open();
bool Close();
bool FetchDataPacket (FBTime &pTime);
bool PollData ();
bool GetSetupInfo ();
bool StartDataStream ();
bool StopDataStream ();
char* GetChannelName (int pChannel) { return (char *)mChannelName[pChannel]; }
int GetChannelCount () { return mChannelCount; }
double GetDataTX (int pChannel) { return mChannelData[pChannel][DATA_TX]; }
double GetDataTY (int pChannel) { return mChannelData[pChannel][DATA_TY]; }
double GetDataTZ (int pChannel) { return mChannelData[pChannel][DATA_TZ]; }
double GetDataRX (int pChannel) { return mChannelData[pChannel][DATA_RX]; }
double GetDataRY (int pChannel) { return mChannelData[pChannel][DATA_RY]; }
double GetDataRZ (int pChannel) { return mChannelData[pChannel][DATA_RZ]; }
private:
FBSystem mSystem;
FBString mChannelName[MAX_CHANNEL];
double mChannelData[MAX_CHANNEL][DATA_TYPE_COUNT];
int mChannelCount;
long mCounter;
};
#endif