From 0c4c578921adbf2d3d07d9fbef4036ae1fcce400 Mon Sep 17 00:00:00 2001 From: tekka007 Date: Sat, 7 May 2016 10:05:22 +0200 Subject: [PATCH] - re-assign ID via I_ID_RESPONSE - implement getParentNodeID() --- libraries/MySensors/core/MySensorCore.cpp | 4 ++++ libraries/MySensors/core/MySensorCore.h | 5 +++++ libraries/MySensors/core/MyTransport.cpp | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libraries/MySensors/core/MySensorCore.cpp b/libraries/MySensors/core/MySensorCore.cpp index 00c443f..f175d42 100644 --- a/libraries/MySensors/core/MySensorCore.cpp +++ b/libraries/MySensors/core/MySensorCore.cpp @@ -203,6 +203,10 @@ uint8_t getNodeId() { return _nc.nodeId; } +uint8_t getParentNodeId() { + return _nc.parentNodeId; +} + ControllerConfig getConfig() { return _cc; } diff --git a/libraries/MySensors/core/MySensorCore.h b/libraries/MySensors/core/MySensorCore.h index 16255d9..b5444e5 100644 --- a/libraries/MySensors/core/MySensorCore.h +++ b/libraries/MySensors/core/MySensorCore.h @@ -71,6 +71,11 @@ struct ControllerConfig { */ uint8_t getNodeId(); +/** + * Return the parent node id. + */ +uint8_t getParentNodeId(); + /** * Each node must present all attached sensors before any values can be handled correctly by the controller. * It is usually good to present all attached sensors after power-up in setup(). diff --git a/libraries/MySensors/core/MyTransport.cpp b/libraries/MySensors/core/MyTransport.cpp index 1e2e5a1..cd370c7 100644 --- a/libraries/MySensors/core/MyTransport.cpp +++ b/libraries/MySensors/core/MyTransport.cpp @@ -159,7 +159,7 @@ inline void transportProcess() { } return; } else if (sender == GATEWAY_ADDRESS) { - if (type == I_ID_RESPONSE && _nc.nodeId == AUTO) { + if (type == I_ID_RESPONSE) { _nc.nodeId = _msg.getByte(); if (_nc.nodeId == AUTO) { // sensor net gateway will return max id if all sensor id are taken