#include <mechButton.h>
#include <timeObj.h>

#define BTN_PIN     2
#define LED_PIN     3
#define DELAY       1000

mechButton  myBtn(BTN_PIN);
timeObj     myLEDTimer(DELAY);
bool        LEDState;

void setup() {
  

  Serial.begin(115200);

  myBtn.setCallback(btnClick);
  pinMode(LED_PIN,OUTPUT);
  digitalWrite(LED_PIN,LOW);
  LEDState = false;
}


// If the button changes state, this is called.
void btnClick(void) { 

  if (!myBtn.getState()){
    digitalWrite(LED_PIN,HIGH);
    myLEDTimer.start();
    LEDState = true;
  }
}
 


void loop() {
  
  idle();
  if (LEDState) {
    if (myLEDTimer.ding()) {
      digitalWrite(LED_PIN,LOW);
      LEDState = false;
    }
  }
}