From 6aa321cf2e94778409222a896d73fc8b27ce17a3 Mon Sep 17 00:00:00 2001 From: ToSa27 Date: Thu, 24 Jul 2014 13:31:00 +0200 Subject: [PATCH] Remote reboot capability --- libraries/MySensors/MyMessage.h | 3 ++- libraries/MySensors/MySensor.cpp | 4 ++++ libraries/MySensors/MySensor.h | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libraries/MySensors/MyMessage.h b/libraries/MySensors/MyMessage.h index 34deb03..a1999b6 100644 --- a/libraries/MySensors/MyMessage.h +++ b/libraries/MySensors/MyMessage.h @@ -41,7 +41,8 @@ typedef enum { typedef enum { I_BATTERY_LEVEL, I_TIME, I_VERSION, I_ID_REQUEST, I_ID_RESPONSE, I_INCLUSION_MODE, I_CONFIG, I_PING, I_PING_ACK, - I_LOG_MESSAGE, I_CHILDREN, I_SKETCH_NAME, I_SKETCH_VERSION + I_LOG_MESSAGE, I_CHILDREN, I_SKETCH_NAME, I_SKETCH_VERSION, + I_REBOOT } internal; // Type of sensor (for presentation message) diff --git a/libraries/MySensors/MySensor.cpp b/libraries/MySensors/MySensor.cpp index a0ddcf2..87fae97 100644 --- a/libraries/MySensors/MySensor.cpp +++ b/libraries/MySensors/MySensor.cpp @@ -326,6 +326,10 @@ boolean MySensor::process() { bool isMetric; switch (type) { + case I_REBOOT: + wdt_enable(WDTO_15MS); + for (;;); + break; case I_ID_RESPONSE: if (nc.nodeId == AUTO) { nc.nodeId = msg.getByte(); diff --git a/libraries/MySensors/MySensor.h b/libraries/MySensors/MySensor.h index 6e16071..5f81727 100644 --- a/libraries/MySensors/MySensor.h +++ b/libraries/MySensors/MySensor.h @@ -20,6 +20,7 @@ #include #include #include +#include #include #include "utility/LowPower.h" #include "utility/RF24.h"