From 0772fc5ff8af7b4ace2eabe7d90b46107fc4215d Mon Sep 17 00:00:00 2001
From: user2684 <you@example.com>
Date: Wed, 12 Apr 2017 14:59:31 +0200
Subject: [PATCH] Add option to unregister a sensor #52

---
 NodeManager.cpp | 6 ++++++
 NodeManager.h   | 2 ++
 README.md       | 6 ++++--
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/NodeManager.cpp b/NodeManager.cpp
index 8ceee8d..e220ccf 100644
--- a/NodeManager.cpp
+++ b/NodeManager.cpp
@@ -1479,6 +1479,12 @@ int NodeManager::registerSensor(Sensor* sensor) {
   return sensor->getChildId();
 }
 
+// un-register a sensor to this manager
+void NodeManager::unRegisterSensor(int sensor_index) {
+  // unlink the pointer to this sensor
+  _sensors[sensor_index] == 0;
+}
+
 // return a sensor given its index
 Sensor* NodeManager::get(int child_id) {
   // return a pointer to the sensor from the given child_id
diff --git a/NodeManager.h b/NodeManager.h
index 46d2fc6..4eb5b89 100644
--- a/NodeManager.h
+++ b/NodeManager.h
@@ -750,6 +750,8 @@ class NodeManager {
     int registerSensor(int sensor_type, int pin = -1, int child_id = -1);
     // register a custom sensor
     int registerSensor(Sensor* sensor);
+    // un-register a sensor
+    void unRegisterSensor(int sensor_index);
     // return a sensor by its index
     Sensor* get(int sensor_index);
     Sensor* getSensor(int sensor_index);
diff --git a/README.md b/README.md
index 9cdd590..2284eb1 100644
--- a/README.md
+++ b/README.md
@@ -154,6 +154,8 @@ Node Manager comes with a reasonable default configuration. If you want/need to
     void setSleepBetweenSend(int value);
     // register a built-in sensor
     int registerSensor(int sensor_type, int pin = -1, int child_id = -1);
+    // un-register a sensor
+    void unRegisterSensor(int sensor_index);
     // register a custom sensor
     int registerSensor(Sensor* sensor);
     // return a sensor by its index
@@ -305,13 +307,13 @@ Each sensor class can expose additional methods.
 #### SensorThermistor
 ~~~c
     // resistance at 25 degrees C (default: 10000)
-    void setNominalResistor(int value);
+    void setNominalResistor(long value);
     // temperature for nominal resistance (default: 25)
     void setNominalTemperature(int value);
     // The beta coefficient of the thermistor (default: 3950)
     void setBCoefficient(int value);
     // the value of the resistor in series with the thermistor (default: 10000)
-    void setSeriesResistor(int value);
+    void setSeriesResistor(long value);
     // set a temperature offset
     void setOffset(float value);
 ~~~
-- 
GitLab