00001 #ifndef ROTARY_ENCODER_H 00002 #define ROTARY_ENCODER_H 00003 00004 typedef void (*Pi_Renc_CB_t)(int); 00005 00006 struct _Pi_Renc_s; 00007 00008 typedef struct _Pi_Renc_s Pi_Renc_t; 00009 00010 Pi_Renc_t * Pi_Renc(int gpioA, int gpioB, Pi_Renc_CB_t callback); 00011 /* 00012 This function establishes a rotary encoder on gpioA and gpioB. 00013 00014 When the encoder is turned the callback function is called. 00015 00016 A pointer to a private data type is returned. This should be passed 00017 to Pi_Renc_cancel if the rotary encoder is to be cancelled. 00018 */ 00019 00020 void Pi_Renc_cancel(Pi_Renc_t *renc); 00021 /* 00022 This function releases the resources used by the decoder. 00023 */ 00024 00025 #endif