  * Lesser General Public License for more details.
  *
  * @section Description
- * Cosa demonstration of the DS1307 I2C/Two-Wire Realtime clock device.
+ * Cosa demonstration of the DS1307 I2C/Two-Wire Realtime clock
+ * device; read and write RAM, square wave signal generation, and time
+ * keeping.
  *
  * @section Circuit
  * @code

  uint8_t pos = offsetof(DS1307::timekeeper_t, control);
  count = rtc.read(&control, sizeof(control), pos);
  ASSERT(count == sizeof(control));
  trace << PSTR("control:") << bin << control << endl;
  trace.flush();

  // Set calibration (from error measurement)
#if defined(RTC_CALIBRATION_MS)
  RTC::clock.calibration(RTC_CALIBRATION_MS);
#endif
#if defined(WATCHDOG_CALIBRATION_MS)
  Watchdog::clock.calibration(WATCHDOG_CALIBRATION_MS);
#endif

  // Synchronize clocks
  while (clkPin.is_set()) yield();
  ASSERT(rtc.get_time(now));
  now.to_binary();
  RTC::clock.time(now);
  Watchdog::clock.time(now);
}

void loop()

  uart.begin(57600);
  trace.begin(&uart, PSTR("CosaDS1307: started"));

  // Start the watchdog for low power yield
  Watchdog::begin();

  // Read the latest set and run time
  latest_t latest;
