00001 #ifndef __CPHIDGETATTR
00002 #define __CPHIDGETATTR
00003
00004 #ifndef EXTERNALPROTO
00005 typedef struct {
00006 int numAxis;
00007 } CPhidgetAccelerometerAttr;
00008
00009 typedef struct {
00010 int numMotors;
00011 } CPhidgetAdvancedServoAttr;
00012
00013 typedef struct {
00014 int numEncoders;
00015 int numInputs;
00016 } CPhidgetEncoderAttr;
00017
00018 typedef struct {
00019 int dummy;
00020 } CPhidgetGPSAttr;
00021
00022 typedef struct {
00023 int numSensors;
00024 int numInputs;
00025 int numOutputs;
00026 } CPhidgetInterfaceKitAttr;
00027
00028 typedef struct {
00029 int numLEDs;
00030 } CPhidgetLEDAttr;
00031
00032 typedef struct {
00033 int numMotors;
00034 int numInputs;
00035 int numEncoders;
00036 int numSensors;
00037 } CPhidgetMotorControlAttr;
00038
00039 typedef struct {
00040 int dummy;
00041 } CPhidgetPHSensorAttr;
00042
00043 typedef struct {
00044 int numOutputs;
00045 } CPhidgetRFIDAttr;
00046
00047 typedef struct {
00048 int numMotors;
00049 } CPhidgetServoAttr;
00050
00051 typedef struct {
00052 int numMotors;
00053 int numInputs;
00054 } CPhidgetStepperAttr;
00055
00056 typedef struct {
00057 int numTempInputs;
00058 } CPhidgetTemperatureSensorAttr;
00059
00060 typedef struct {
00061 int numRows;
00062 int numColumns;
00063 int numScreens;
00064 } CPhidgetTextLCDAttr;
00065
00066 typedef struct {
00067 int numRows;
00068 int numColumns;
00069 } CPhidgetTextLEDAttr;
00070
00071 typedef struct {
00072 int dummy;
00073 } CPhidgetWeightSensorAttr;
00074
00075 typedef struct {
00076 int dummy;
00077 } CPhidgetIRAttr;
00078
00079 typedef struct {
00080 int numAccelAxes;
00081 int numGyroAxes;
00082 int numCompassAxes;
00083 } CPhidgetSpatialAttr;
00084
00085 typedef struct {
00086 int numFreqInputs;
00087 } CPhidgetFrequencyCounterAttr;
00088
00089 typedef struct {
00090 int numAnalogOutputs;
00091 } CPhidgetAnalogAttr;
00092
00093 typedef struct {
00094 int numBridgeInputs;
00095 } CPhidgetBridgeAttr;
00096
00097 typedef struct {
00098 int dummy1;
00099 int dummy2;
00100 int dummy3;
00101 int dummy4;
00102 } CPhidgetDummyAttr;
00103
00104 typedef union {
00105 CPhidgetDummyAttr dummy;
00106 CPhidgetAccelerometerAttr accelerometer;
00107 CPhidgetAdvancedServoAttr advancedservo;
00108 CPhidgetAnalogAttr analog;
00109 CPhidgetBridgeAttr bridge;
00110 CPhidgetEncoderAttr encoder;
00111 CPhidgetFrequencyCounterAttr frequencycounter;
00112 CPhidgetGPSAttr gps;
00113 CPhidgetInterfaceKitAttr ifkit;
00114 CPhidgetIRAttr ir;
00115 CPhidgetLEDAttr led;
00116 CPhidgetMotorControlAttr motorcontrol;
00117 CPhidgetPHSensorAttr phsensor;
00118 CPhidgetRFIDAttr rfid;
00119 CPhidgetServoAttr servo;
00120 CPhidgetSpatialAttr spatial;
00121 CPhidgetStepperAttr stepper;
00122 CPhidgetTemperatureSensorAttr temperaturesensor;
00123 CPhidgetTextLCDAttr textlcd;
00124 CPhidgetTextLEDAttr textled;
00125 CPhidgetWeightSensorAttr weightsensor;
00126 } CPhidgetAttr;
00127 #endif
00128
00132 #ifndef EXTERNALPROTO
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142 #endif
00143
00146 typedef enum {
00147 PHIDCLASS_ACCELEROMETER = 2,
00148 PHIDCLASS_ADVANCEDSERVO = 3,
00149 PHIDCLASS_ANALOG = 22,
00150 PHIDCLASS_BRIDGE = 23,
00151 PHIDCLASS_ENCODER = 4,
00152 PHIDCLASS_FREQUENCYCOUNTER = 21,
00153 PHIDCLASS_GPS = 5,
00154 PHIDCLASS_INTERFACEKIT = 7,
00155 PHIDCLASS_IR = 19,
00156 PHIDCLASS_LED = 8,
00157 PHIDCLASS_MOTORCONTROL = 9,
00158 PHIDCLASS_PHSENSOR = 10,
00159 PHIDCLASS_RFID = 11,
00160 PHIDCLASS_SERVO = 12,
00161 PHIDCLASS_SPATIAL = 20,
00162 PHIDCLASS_STEPPER = 13,
00163 PHIDCLASS_TEMPERATURESENSOR = 14,
00164 PHIDCLASS_TEXTLCD = 15,
00165 PHIDCLASS_TEXTLED = 16,
00166 PHIDCLASS_WEIGHTSENSOR = 17,
00167 #if defined(DEBUG) || !defined(EXTERNALPROTO)
00168 PHIDCLASS_NOTHING = 1,
00169 PHIDCLASS_GENERIC = 18
00170 #endif
00171 } CPhidget_DeviceClass;
00172
00173 #ifndef EXTERNALPROTO
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185 #endif
00186
00189 typedef enum {
00190
00191
00192 PHIDID_ACCELEROMETER_3AXIS = 0x07E,
00193 PHIDID_ADVANCEDSERVO_1MOTOR = 0x082,
00194 PHIDID_ADVANCEDSERVO_8MOTOR = 0x03A,
00195 PHIDID_ANALOG_4OUTPUT = 0x037,
00196 PHIDID_BIPOLAR_STEPPER_1MOTOR = 0x07B,
00197 PHIDID_BRIDGE_4INPUT = 0x03B,
00198 PHIDID_ENCODER_1ENCODER_1INPUT = 0x04B,
00199 PHIDID_ENCODER_HS_1ENCODER = 0x080,
00200 PHIDID_ENCODER_HS_4ENCODER_4INPUT = 0x04F,
00201 PHIDID_FREQUENCYCOUNTER_2INPUT = 0x035,
00202 PHIDID_GPS = 0x079,
00203 PHIDID_INTERFACEKIT_0_0_4 = 0x040,
00204 PHIDID_INTERFACEKIT_0_0_8 = 0x081,
00205 PHIDID_INTERFACEKIT_0_16_16 = 0x044,
00206 PHIDID_INTERFACEKIT_2_2_2 = 0x036,
00207 PHIDID_INTERFACEKIT_8_8_8 = 0x045,
00208 PHIDID_INTERFACEKIT_8_8_8_w_LCD = 0x07D,
00209 PHIDID_IR = 0x04D,
00210 PHIDID_LED_64_ADV = 0x04C,
00211 PHIDID_LINEAR_TOUCH = 0x076,
00212 PHIDID_MOTORCONTROL_1MOTOR = 0x03E,
00213 PHIDID_MOTORCONTROL_HC_2MOTOR = 0x059,
00214 PHIDID_RFID_2OUTPUT = 0x031,
00215 PHIDID_RFID_2OUTPUT_READ_WRITE = 0x034,
00216 PHIDID_ROTARY_TOUCH = 0x077,
00217 PHIDID_SPATIAL_ACCEL_3AXIS = 0x07F,
00218 PHIDID_SPATIAL_ACCEL_GYRO_COMPASS = 0x033,
00219 PHIDID_TEMPERATURESENSOR = 0x070,
00220 PHIDID_TEMPERATURESENSOR_4 = 0x032,
00221 PHIDID_TEMPERATURESENSOR_IR = 0x03C,
00222 PHIDID_TEXTLCD_2x20_w_8_8_8 = 0x17D,
00223 PHIDID_TEXTLCD_ADAPTER = 0x03D,
00224 PHIDID_UNIPOLAR_STEPPER_4MOTOR = 0x07A,
00226
00227 PHIDID_ACCELEROMETER_2AXIS = 0x071,
00228 PHIDID_INTERFACEKIT_0_8_8_w_LCD = 0x053,
00229 PHIDID_INTERFACEKIT_4_8_8 = 4,
00230 PHIDID_LED_64 = 0x04A,
00231 PHIDID_MOTORCONTROL_LV_2MOTOR_4INPUT = 0x058,
00232 PHIDID_PHSENSOR = 0x074,
00233 PHIDID_RFID = 0x030,
00234 PHIDID_SERVO_1MOTOR = 0x039,
00235 PHIDID_SERVO_1MOTOR_OLD = 2,
00236 PHIDID_SERVO_4MOTOR = 0x038,
00237 PHIDID_SERVO_4MOTOR_OLD = 3,
00238 PHIDID_TEXTLCD_2x20 = 0x052,
00239 PHIDID_TEXTLCD_2x20_w_0_8_8 = 0x153,
00240 PHIDID_TEXTLED_1x8 = 0x049,
00241 PHIDID_TEXTLED_4x8 = 0x048,
00242 PHIDID_WEIGHTSENSOR = 0x072,
00244
00245 PHIDID_FIRMWARE_UPGRADE = 0x098,
00246
00247 #if defined(DEBUG) || !defined(EXTERNALPROTO)
00248
00249 PHIDID_NOTHING = 1,
00250
00251
00252 PHIDID_INTERFACEKIT_0_5_7 = 0x051,
00253 PHIDID_TEXTLCD_2x20_CUSTOM = 0x151,
00254 PHIDID_INTERFACEKIT_2_8_8 = 5,
00256
00257
00258
00259 PHIDID_GENERIC = 0x099
00260 #endif
00261 } CPhidget_DeviceID;
00264 typedef enum {
00265 PHIDUID_NOTHING =1,
00266
00267 PHIDUID_ACCELEROMETER_2AXIS_2G,
00268 PHIDUID_ACCELEROMETER_2AXIS_10G,
00269 PHIDUID_ACCELEROMETER_2AXIS_5G,
00270 PHIDUID_ACCELEROMETER_3AXIS_3G,
00271
00272 PHIDUID_ADVANCEDSERVO_1MOTOR,
00273
00274 PHIDUID_ADVANCEDSERVO_8MOTOR,
00275 PHIDUID_ADVANCEDSERVO_8MOTOR_PGOOD_FLAG,
00276 PHIDUID_ADVANCEDSERVO_8MOTOR_CURSENSE_FIX,
00277
00278 PHIDUID_ANALOG_4OUTPUT,
00279
00280 PHIDUID_BRIDGE_4INPUT_GAINBUG,
00281 PHIDUID_BRIDGE_4INPUT,
00282
00283 PHIDUID_ENCODER_1ENCODER_1INPUT_OLD,
00284 PHIDUID_ENCODER_1ENCODER_1INPUT_v1,
00285 PHIDUID_ENCODER_1ENCODER_1INPUT_v2,
00286 PHIDUID_ENCODER_HS_1ENCODER,
00287 PHIDUID_ENCODER_HS_4ENCODER_4INPUT,
00288
00289 PHIDUID_FREQUENCYCOUNTER_2INPUT,
00290
00291 PHIDUID_GPS,
00292
00293 PHIDUID_INTERFACEKIT_0_0_4_NO_ECHO,
00294 PHIDUID_INTERFACEKIT_0_0_4,
00295 PHIDUID_INTERFACEKIT_0_0_8,
00296 PHIDUID_INTERFACEKIT_0_5_7,
00297 PHIDUID_INTERFACEKIT_0_8_8_w_LCD,
00298 PHIDUID_INTERFACEKIT_0_16_16_NO_ECHO,
00299 PHIDUID_INTERFACEKIT_0_16_16_BITBUG,
00300 PHIDUID_INTERFACEKIT_0_16_16,
00301 PHIDUID_INTERFACEKIT_2_2_2,
00302 PHIDUID_INTERFACEKIT_2_8_8,
00303 PHIDUID_INTERFACEKIT_4_8_8,
00304 PHIDUID_INTERFACEKIT_8_8_8_NO_ECHO,
00305 PHIDUID_INTERFACEKIT_8_8_8,
00306 PHIDUID_INTERFACEKIT_8_8_8_FAST,
00307 PHIDUID_INTERFACEKIT_8_8_8_w_LCD_NO_ECHO,
00308 PHIDUID_INTERFACEKIT_8_8_8_w_LCD,
00309 PHIDUID_INTERFACEKIT_8_8_8_w_LCD_FAST,
00310 PHIDUID_INTERFACEKIT_TOUCH_SLIDER,
00311 PHIDUID_INTERFACEKIT_TOUCH_ROTARY,
00312
00313 PHIDUID_IR,
00314
00315 PHIDUID_LED_64,
00316 PHIDUID_LED_64_ADV,
00317 PHIDUID_LED_64_ADV_M3,
00318
00319 PHIDUID_MOTORCONTROL_1MOTOR,
00320 PHIDUID_MOTORCONTROL_HC_2MOTOR,
00321 PHIDUID_MOTORCONTROL_LV_2MOTOR_4INPUT,
00322
00323 PHIDUID_PHSENSOR,
00324
00325 PHIDUID_RFID_OLD,
00326 PHIDUID_RFID,
00327 PHIDUID_RFID_2OUTPUT_NO_ECHO,
00328 PHIDUID_RFID_2OUTPUT,
00329 PHIDUID_RFID_2OUTPUT_READ_WRITE,
00330
00331 PHIDUID_SERVO_1MOTOR_OLD,
00332 PHIDUID_SERVO_4MOTOR_OLD,
00333 PHIDUID_SERVO_1MOTOR_NO_ECHO,
00334 PHIDUID_SERVO_1MOTOR,
00335 PHIDUID_SERVO_4MOTOR_NO_ECHO,
00336 PHIDUID_SERVO_4MOTOR,
00337
00338 PHIDUID_SPATIAL_ACCEL_3AXIS_1049,
00339 PHIDUID_SPATIAL_ACCEL_3AXIS_1041,
00340 PHIDUID_SPATIAL_ACCEL_3AXIS_1043,
00341 PHIDUID_SPATIAL_ACCEL_GYRO_COMPASS_1056,
00342 PHIDUID_SPATIAL_ACCEL_GYRO_COMPASS_1056_NEG_GAIN,
00343 PHIDUID_SPATIAL_ACCEL_GYRO_COMPASS_1042,
00344 PHIDUID_SPATIAL_ACCEL_GYRO_COMPASS_1044,
00345
00346 PHIDUID_STEPPER_BIPOLAR_1MOTOR,
00347 PHIDUID_STEPPER_BIPOLAR_1MOTOR_M3,
00348 PHIDUID_STEPPER_UNIPOLAR_4MOTOR,
00349
00350 PHIDUID_TEMPERATURESENSOR_OLD,
00351 PHIDUID_TEMPERATURESENSOR,
00352 PHIDUID_TEMPERATURESENSOR_AD22100,
00353 PHIDUID_TEMPERATURESENSOR_TERMINAL_BLOCKS,
00354 PHIDUID_TEMPERATURESENSOR_4,
00355 PHIDUID_TEMPERATURESENSOR_IR,
00356
00357 PHIDUID_TEXTLCD_2x20,
00358 PHIDUID_TEXTLCD_2x20_w_8_8_8,
00359 PHIDUID_TEXTLCD_2x20_w_8_8_8_BRIGHTNESS,
00360 PHIDUID_TEXTLCD_ADAPTER,
00361
00362 PHIDUID_TEXTLED_1x8,
00363 PHIDUID_TEXTLED_4x8,
00364
00365 PHIDUID_WEIGHTSENSOR,
00366
00367 PHIDUID_GENERIC,
00368 PHIDUID_FIRMWARE_UPGRADE
00369 } CPhidget_DeviceUID;
00370 #endif
00371