#define BUTTON_PIN              2
#define STATUS_LED_PIN          7

const uint8_t debounceDelay = 100;

volatile bool robotEnabled = true;

void setup() 
{
  /* Surunupp */
  pinMode(BUTTON_PIN, INPUT);

  /* Roboti seisundi LED */
  pinMode(STATUS_LED_PIN, OUTPUT);

  /* Konfigureerime katkestuse nupu langevale äärele */
  attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), RobotPower, FALLING);
}

void loop() 
{
  digitalWrite(STATUS_LED_PIN, robotEnabled);
}


void RobotPower(void)
{
  static uint32_t lastDebounceTime = 0;

  /* stabiliseerimismehhanism, et nupu häiringuid vähendada */
  if ((millis() - lastDebounceTime) > debounceDelay) 
  {
    lastDebounceTime = millis();
    robotEnabled = !robotEnabled;
  }
}