  *
  * @section Description
  * Calibrate RTC and Watchdog clocks with external clock source on
- * external interrupt pin (EXT1/D3). The source can for instance be
- * square wave from an external I2C RTC module such as DS1307.
+ * external interrupt pin. The source can for instance be square wave
+ * from an external I2C RTC module such as DS1307.
  *
  * @section Calibration
- * 1. Run without calibration settings.
- * 2. Run for at least 10-20 minutes (600-1200 seconds) alternatively
- *    connect a Logic Analyzer and probe D7(Clock), D8(RTC),
- *    D9(Watchdog).
- * 3. Use the integer part of the error as calibration value or
- *    collect the period time error from the Logic Analyzer.
- * 4. Rerun and verify that the error level reduced.
+ * 1. Comment out any calibration values.
+ * 2. Run the tool and it will generate print of calibration settings.
+ * 3. When values are stable stop the run and add the suggested settings.
+ * 4. Rerun and verify that the error levels are reduced to max +-1.
+ *
+ * @section Circuit
+ * External RTC connected to EXT1/D3, EXT2:Leonardo/D0 and
+ * EXT3:Pro-Micro/D1,Mega 2560/D18.
  *
  * This file is part of the Arduino Che Cosa project.
  */

  OutputPin m_pin;
};

// Pulse generators
Pulse red(&clock, 1, Board::D7);
Pulse green(&wall, 1, Board::D8);
Pulse blue(&bark, 1, Board::D9);

void setup()
{

  bark.calibration(WATCHDOG_CALIBRATION_MS);
#endif

  // Start the clock and wait for next update
  clock.enable();
  uint32_t now = clock.await();

  // Start internal timers
  Watchdog::begin();
  RTC::begin();

  // Synchronize wall clocks
  delay(500);
  wall.time(now + 1);
  bark.time(now + 1);

  // Start the probe outputs
  black.start();
  brown.start();
  red.start();
}

void loop()
