00001 #ifndef __CPHIDGETENCODER 00002 #define __CPHIDGETENCODER 00003 #include "cphidget.h" 00004 00011 DPHANDLE(Encoder) 00012 CHDRSTANDARD(Encoder) 00013 00019 CHDRGET(Encoder,InputCount,int *count) 00026 CHDRGETINDEX(Encoder,InputState,int *inputState) 00033 CHDREVENTINDEX(Encoder,InputChange,int inputState) 00039 CHDRGET(Encoder,EncoderCount,int *count) 00046 CHDRGETINDEX(Encoder,Position,int *position) 00053 CHDRSETINDEX(Encoder,Position,int position) 00061 CHDREVENTINDEX(Encoder,PositionChange,int time,int positionChange) 00068 CHDREVENTINDEX(Encoder,Index,int indexPosition) 00076 CHDRGETINDEX(Encoder,IndexPosition,int *position) 00083 CHDRGETINDEX(Encoder,Enabled,int *enabledState) 00090 CHDRSETINDEX(Encoder,Enabled,int enabledState) 00091 00092 #ifndef REMOVE_DEPRECATED 00093 DEP_CHDRGETINDEX("Deprecated - use CPhidgetEncoder_getPosition",Encoder,EncoderPosition,int *) 00094 DEP_CHDRSETINDEX("Deprecated - use CPhidgetEncoder_setPosition",Encoder,EncoderPosition,int) 00095 DEP_CHDRGET("Deprecated - use CPhidgetEncoder_getInputCount",Encoder,NumInputs,int *) 00096 DEP_CHDRGET("Deprecated - use CPhidgetEncoder_getEncoderCount",Encoder,NumEncoders,int *) 00097 #endif 00098 00099 #ifndef EXTERNALPROTO 00100 #define ENCODER_MAXENCODERS 4 00101 #define ENCODER_MAXINPUTS 4 00102 struct _CPhidgetEncoder { 00103 CPhidget phid; 00104 00105 int (CCONV *fptrInputChange) (CPhidgetEncoderHandle, void *, int, int); 00106 void *fptrInputChangeptr; 00107 int (CCONV *fptrPositionChange) (CPhidgetEncoderHandle, void *, int, int, int); 00108 void *fptrPositionChangeptr; 00109 int (CCONV *fptrIndex) (CPhidgetEncoderHandle, void *, int, int); 00110 void *fptrIndexptr; 00111 00112 unsigned char inputState[ENCODER_MAXINPUTS]; 00113 00114 int encoderPosition[ENCODER_MAXENCODERS]; 00115 int encoderTimeStamp[ENCODER_MAXENCODERS]; 00116 00117 unsigned char enableState[ENCODER_MAXENCODERS]; 00118 unsigned char enableStateEcho[ENCODER_MAXENCODERS]; 00119 00120 int indexPosition[ENCODER_MAXENCODERS]; 00121 00122 unsigned char outputPacket[MAX_OUT_PACKET_SIZE]; 00123 unsigned int outputPacketLen; 00124 00125 } typedef CPhidgetEncoderInfo; 00126 #endif 00127 00130 #endif