 boolean systemReseted() {
   // with EMI, be very sure.
   Metro readTime(DEBOUNCE_TIME);
+  readTime.interval(DEBOUNCE_TIME);
   readTime.reset();
+  
   while( !readTime.check() ) systemReset.update();
 
   // at system power up, relay is open, meaning pin will read HIGH.

  
  // start the IR control of the floodlight
  flood.begin();
}

void loop() {

void Flood::sendMultiple(unsigned long data, byte repeats) {
  send(data); 
  for( byte i=1; i < repeats; i++ ) {
    myDelay(8); // need a 8ms interval before resend
    send(data); 
//    send(K24_REPEAT);
  }
}

int freeRam () {
  extern int __heap_start, *__brkval;
  int v;
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}

