#include "KTS_Button.h"

#define blueLed 3
#define greenLed 2
#define buttonPin 4
#define flashInterval 150
#define debounceLength 10

KTS_Button button(buttonPin);

void setup() {
  pinMode(blueLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
}

void loop() {
  static bool lightsOn = false;
  if (button.read())
    lightsOn = !lightsOn;
  lightsOn ? flashLights() : lightsOff();
}

void lightsOff() {
  digitalWrite(blueLed, LOW);
  digitalWrite(greenLed, LOW);
}

void flashLights() {
  static uint32_t capturedTimeLights;
  if ((millis() - capturedTimeLights) >= flashInterval) {
    capturedTimeLights = millis();
    digitalWrite(blueLed, !digitalRead(blueLed));
    digitalWrite(greenLed, !digitalRead(blueLed));
  }
}