From 81b6d3aa30b0ce29b3eaf83bc3750859061b34a1 Mon Sep 17 00:00:00 2001 From: tekka007 Date: Mon, 2 Feb 2015 13:50:06 +0100 Subject: [PATCH 1/4] Clear routing table extendend I_CHILDREN + "C" clears routing table, parent node and gw distance followed by findParentNode. --- libraries/MySensors/MySensor.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/MySensors/MySensor.cpp b/libraries/MySensors/MySensor.cpp index da0f60e..ae918e2 100755 --- a/libraries/MySensors/MySensor.cpp +++ b/libraries/MySensors/MySensor.cpp @@ -365,6 +365,11 @@ boolean MySensor::process() { for (uint8_t i=0;i< sizeof(childNodeTable); i++) { removeChildRoute(i); } + // Clear parent node id & distance to gw + eeprom_write_byte((uint8_t*)EEPROM_PARENT_NODE_ID_ADDRESS, 0xFF); + eeprom_write_byte((uint8_t*)EEPROM_DISTANCE_ADDRESS, 0xFF); + // Find parent node + findParentNode(); sendRoute(build(msg, nc.nodeId, GATEWAY_ADDRESS, NODE_SENSOR_ID, C_INTERNAL, I_CHILDREN,false).set("")); } } else if (type == I_TIME) { From 43755e51b8d24ed7b6268927a9f248be6f70015e Mon Sep 17 00:00:00 2001 From: tekka007 Date: Tue, 3 Feb 2015 12:04:30 +0100 Subject: [PATCH 2/4] failedTransmissions=1 after findParentNode() --- libraries/MySensors/MySensor.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/MySensors/MySensor.cpp b/libraries/MySensors/MySensor.cpp index ae918e2..86b30df 100755 --- a/libraries/MySensors/MySensor.cpp +++ b/libraries/MySensors/MySensor.cpp @@ -198,8 +198,9 @@ boolean MySensor::sendRoute(MyMessage &message) { // need to find another route to gateway. if (autoFindParent && failedTransmissions > SEARCH_FAILURES) { findParentNode(); + } else { + failedTransmissions++; } - failedTransmissions++; } else { failedTransmissions = 0; } From 6cfafab0521e74addbc9577559cb4de3218e25ac Mon Sep 17 00:00:00 2001 From: tekka007 Date: Tue, 3 Feb 2015 12:08:09 +0100 Subject: [PATCH 3/4] Revert "failedTransmissions=1 after findParentNode()" This reverts commit 43755e51b8d24ed7b6268927a9f248be6f70015e. --- libraries/MySensors/MySensor.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/MySensors/MySensor.cpp b/libraries/MySensors/MySensor.cpp index 86b30df..ae918e2 100755 --- a/libraries/MySensors/MySensor.cpp +++ b/libraries/MySensors/MySensor.cpp @@ -198,9 +198,8 @@ boolean MySensor::sendRoute(MyMessage &message) { // need to find another route to gateway. if (autoFindParent && failedTransmissions > SEARCH_FAILURES) { findParentNode(); - } else { - failedTransmissions++; } + failedTransmissions++; } else { failedTransmissions = 0; } From f06e91569c25ad37df6b23b5647e2b90f313cfb7 Mon Sep 17 00:00:00 2001 From: tekka007 Date: Tue, 3 Feb 2015 12:15:31 +0100 Subject: [PATCH 4/4] failedTransmissions=1 after findParentNode() --- libraries/MySensors/MySensor.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/MySensors/MySensor.cpp b/libraries/MySensors/MySensor.cpp index ae918e2..86b30df 100755 --- a/libraries/MySensors/MySensor.cpp +++ b/libraries/MySensors/MySensor.cpp @@ -198,8 +198,9 @@ boolean MySensor::sendRoute(MyMessage &message) { // need to find another route to gateway. if (autoFindParent && failedTransmissions > SEARCH_FAILURES) { findParentNode(); + } else { + failedTransmissions++; } - failedTransmissions++; } else { failedTransmissions = 0; }