Skip to content

Gfy63/Button_CB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Button_CB

Class for button control. Click, DoubleClick, LongClick, LongClickPulse raise a event.

INSTALLATION & DOWNLOAD

Install via download from github

BASIC USAGE

INSTANTIATE

#include <Button_CB.h>

#define _pin        4

void BTN_Handler( unsigned int event );

Button_CB btn;

Setup

btn.begin( _pin, INPUT, false, BTN_Handler );

Loop

btn.loop();

Constructor

Button_CB( byte pin, byte btnMode, bool activeLow, CallbackFunction cb );
Button_CB( byte pin, byte btnMode, CallbackFunction cb );
Button_CB( byte pin, CallbackFunction cb );
Button_CB();

Functions

void begin( byte pin, byte btnMode , bool activeLow, CallbackFunction cb );
void begin( byte pin, byte btnMode, CallbackFunction cb );
void begin( byte pin, CallbackFunction cb );

int getClickCount( void );
unsigned int getClickElapsedTime( void );
int getEvent( void );
void LongClick_Abort( void );
void setDebounceDelay( unsigned int debounce );
unsigned int getDebounceDelay( void );
void setDoubleClickDelay( unsigned int dclickDelay );
unsigned int getDoubleClickDelay( void );
void setLongClickStartDelay( unsigned int lclickStartDelay );
unsigned int getLongClickStartDelay( void );
void setLongClickPulseDelay( unsigned int lclickPulseDelay );
unsigned int getLongClickPulseDelay( void );

Events

BTN_CLICK_EVENT,				// Click
BTN_DOUBLECLICK_EVENT,			// DoubleClick
BTN_MULTICLICK_EVENT,			// MultiClick, getClickCount() for the count.
BTN_LONGCLICK_DETECT_EVENT,		// LongClick detect, pulse start.
BTN_LONGCLICK_PULSE_EVENT,		// LongClick pulse.
BTN_LONGCLICK_EVENT				// LongClick (end)

Callback function

void BTN_Handler( unsigned int event )
{
	switch ( event )
	{
		case BTN_CLICK_EVENT:
			break;

		case BTN_DOUBLECLICK_EVENT:
			break;

		case BTN_MULTICLICK_EVENT:
			break;

		case BTN_LONGCLICK_DETECT_EVENT:
			break;

		case BTN_LONGCLICK_PULSE_EVENT:
			break;

		case BTN_LONGCLICK_EVENT:
			break;
	}
}

About

Class for button control. Click, DoubleClick, LongClick, LongClickPulse raise a event.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages