     expire_at(time() + period());
     start();
   }
-#endif
-
-#if defined(USE_ISR_RESCHEDULE)
+#elif defined(USE_ISR_RESCHEDULE)
   virtual void on_expired()
   {
     run();
     reschedule();
   }
+#else
+#error "on_expired: not defined"
 #endif
 
   virtual void run()

void setup()
{
  // Start serial output with given baud-rate
  uart.begin(500000);
  // uart.begin(2000000);
  // uart.begin(1000000);
  // uart.begin(500000);

// This benchmark can be run with a background interrupt load. Set the
// below symbol to enable a periodic job with the given period in
// micro-seconds.
// #define BACKGROUND_PULSE 150
#define PULSE_WIDTH 50

#if defined(BACKGROUND_PULSE)
