Go to the documentation of this file.00001
00060 #ifndef _PHIDGETIK_H_
00061 #define _PHIDGETIK_H_
00062
00063 #include <cob_phidgets/phidget.h>
00064
00065 class PhidgetIK: public Phidget
00066 {
00067 public:
00068 PhidgetIK(SensingMode mode);
00069 ~PhidgetIK();
00070
00071 auto init(int serial_number) -> int;
00072
00073 auto getInputCount() -> int;
00074 auto getOutputCount() -> int;
00075 auto getSensorCount() -> int;
00076
00077 auto getInputState(int index) -> int;
00078
00079 auto getOutputState(int index) -> int;
00080 auto setOutputState(int index, int state) -> int;
00081
00082 auto getSensorValue(int index) -> int;
00083 auto getSensorRawValue(int index) -> int;
00084
00085 auto getSensorChangeTrigger(int index) -> int;
00086 auto setSensorChangeTrigger(int index, int trigger) -> int;
00087
00088 auto getRatiometric() -> int;
00089 auto setRatiometric(int ratiometric) -> int;
00090
00091 auto getDataRate(int index) -> int;
00092 auto setDataRate(int index, int datarate) -> int;
00093
00094 auto getDataRateMax(int index) -> int;
00095 auto getDataRateMin(int index) -> int;
00096
00097 auto getError() -> int;
00098
00099 virtual auto update() -> void;
00100
00101 protected:
00102 CPhidgetInterfaceKitHandle _iKitHandle;
00103
00104 virtual int attachHandler();
00105 virtual int detachHandler();
00106
00107 virtual int inputChangeHandler(int index, int inputState);
00108 virtual int outputChangeHandler(int index, int outputState);
00109 virtual int sensorChangeHandler(int index, int sensorValue);
00110
00111 private:
00112 static auto attachDelegate(CPhidgetHandle phid, void *userptr) -> int;
00113
00114 static auto inputChangeDelegate(CPhidgetInterfaceKitHandle phid,
00115 void *userPtr, int index, int inputState) -> int;
00116 static auto outputChangeDelegate(CPhidgetInterfaceKitHandle phid,
00117 void *userPtr, int index, int outputState) -> int;
00118 static auto sensorChangeDelegate(CPhidgetInterfaceKitHandle phid,
00119 void *userPtr, int index, int sensorValue) -> int;
00120 };
00121 #endif //_PHIDGETIK_H_