Hey Folks,
I created a button library awhile back and I just never got around to posting it.
I just did some updates but before I put it on the playground I'd love to get some other folks to poke around at it.
It comes with 12 examples and a readme file.
http://23longacre.com/sharedFiles/code/arduino/digital_io/ButtonLibrary_20101029.zipAs a preview here is the list of public functions...
public:
// constructors:
Button(int myPin, bool myMode);
Button(int myBit, bool myMode, unsigned char *myRegister);
char* version(void); // get the library version
unsigned char getRegisterValue(void);
void listen(void);
bool isReleased(void);
bool isPressed(void);
bool isReleased(bool refreshPinData);
bool isPressed(bool refreshPinData);
bool onChange(void);
bool onPress(void);
bool onRelease(void);
bool onChange(bool refreshPinData);
bool onPress(bool refreshPinData);
bool onRelease(bool refreshPinData);
unsigned int getDebounceDelay(void);
void setDebounceDelay(unsigned int);
void clearDebounceDelay(void);
bool onDoubleClick(void);
bool onDoubleClick(bool refreshPinData);
unsigned int getDoubleClickDelay(void);
void setDoubleClickDelay(unsigned int);
bool onPressAsToggle(void);
bool onReleaseAsToggle(void);
bool onPressAsToggle(bool refreshPinData);
bool onReleaseAsToggle(bool refreshPinData);
bool isHold(void);
bool isHold(bool refreshPinData);
unsigned int getHoldDelay(void);
void setHoldDelay(unsigned int);
unsigned int getPressCount(void);
void clearPressCount(void);
unsigned int getReleaseCount(void);
void clearReleaseCount(void);
bool isNthPress(unsigned int moduloByMe);
bool isNthRelease(unsigned int moduloByMe);
THANKS!!