diff --git a/NodeManager.cpp b/NodeManager.cpp index 8ceee8d2461728b4341cc2cb86c07e604d28738c..e220ccf77a6bcc178c1031d07d28b0290b7f7ef8 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 46d2fc64868384f7e84716455254eb7e8e166296..4eb5b89933c69e20a3193c2b917682a6e832df60 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 9cdd59081043ba00a1e56b1520403d6b6c8df1bb..2284eb1d39c3698140632040b7cc69bd8d935dee 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); ~~~