#include "Arduino.h"
#include "McKenzie.h"

Timer_rlm::Timer_rlm (float preset){
    this->preset = preset;
    en = false;
    dn = false;
    acc = 0;
}  
  
void Timer_rlm::start() {
  //t0 = micros ();
  t0 = micros () - acc*1000;
  en = true;
  tt = true;
  //acc = 0;
}

void Timer_rlm::stop(){
  check();
  en = false;
  tt = false;
}

/*
void Timer::restart(){
  t0 = micros() - acc *1000;
  en = true;
  tt = true;
  t0 = micros() - acc *1000;
}
*/

void Timer_rlm::reset() {
  en = false;
  dn = false;
  tt = false;
  acc = 0;
}
  
void Timer_rlm::check(){
  if (!en) {
    tt = false;
    return;
  } 
  if (!dn) {
    tc = micros();
    acc = (tc - t0) / 1000;
    if (( tc - t0) /1000.0 < preset) { 
      dn = false;
    }  
    else {
      dn = true;
      acc = preset;
      tt = false;
    }
  }
}
