chiark / gitweb /
Add board reset reporting (from Repetier-Firmware)
authorPhil Hord <phord@phord.com>
Mon, 20 Feb 2012 07:30:31 +0000 (02:30 -0500)
committerPhil Hord <phord@phord.com>
Sun, 26 Feb 2012 23:26:56 +0000 (18:26 -0500)
Marlin/Marlin.pde

index 93c3a7185f907bf22481bcec5b05d88439bd2872..3d906cc0ac04f171c751a0d2ca13bb2be8e4b4f7 100644 (file)
@@ -252,6 +252,16 @@ void setup()
   MYSERIAL.begin(BAUDRATE);
   SERIAL_PROTOCOLLNPGM("start");
   SERIAL_ECHO_START;
+
+  // Check startup - does nothing if bootloader sets MCUSR to 0
+  byte mcu = MCUSR;
+  if(mcu & 1) SERIAL_ECHOLNPGM("PowerUp");
+  if(mcu & 2) SERIAL_ECHOLNPGM("External Reset");
+  if(mcu & 4) SERIAL_ECHOLNPGM("Brown out Reset");
+  if(mcu & 8) SERIAL_ECHOLNPGM("Watchdog Reset");
+  if(mcu & 32) SERIAL_ECHOLNPGM("Software Reset");
+  MCUSR=0;
+
   SERIAL_ECHOPGM("Marlin: ");
   SERIAL_ECHOLNPGM(VERSION_STRING);
   #ifdef STRING_VERSION_CONFIG_H