|
SensESP 3.1.1
Universal Signal K sensor toolkit ESP32
|
Uses the voltage divider formula to calculate (and output) the resistance of R2 in the circuit. More...
#include <sensesp/transforms/voltagedivider.h>
Public Member Functions | |
| VoltageDividerR2 (float R1, float Vin=3.3, const String &config_path="") | |
| virtual void | set (const float &Vout) override |
| virtual bool | to_json (JsonObject &root) override |
| virtual bool | from_json (const JsonObject &config) override |
Public Member Functions inherited from sensesp::SymmetricTransform< float > | |
| SymmetricTransform (String config_path="") | |
| SymmetricTransform (String config_path="") | |
Public Member Functions inherited from sensesp::Transform< float, float > | |
| Transform (String config_path="") | |
| Transform< float, float > * | connect_from (ValueProducer< float > *producer0, ValueProducer< float > *producer1=NULL, ValueProducer< float > *producer2=NULL, ValueProducer< float > *producer3=NULL, ValueProducer< float > *producer4=NULL) |
Public Member Functions inherited from sensesp::TransformBase | |
| TransformBase (const String &config_path) | |
Public Member Functions inherited from sensesp::FileSystemSaveable | |
| FileSystemSaveable (const String &config_path) | |
| virtual bool | load () override |
| Load and populate the object from a persistent storage. | |
| virtual bool | save () override |
| Save the object to a persistent storage. | |
| virtual bool | clear () override |
| Delete the data from a persistent storage. | |
| bool | find_config_file (const String &config_path, String &filename) |
Public Member Functions inherited from sensesp::Saveable | |
| Saveable (const String &config_path) | |
| virtual bool | refresh () |
| Refresh the object. This may or may not access the persistent storage but is not expected to overwrite the object's state. | |
| const String & | get_config_path () const |
Public Member Functions inherited from sensesp::ValueConsumer< float > | |
| virtual void | set_input (const float &new_value) |
| void | connect_from (ValueProducer< float > *producer) |
| virtual void | set_input (const float &new_value) |
| void | connect_from (ValueProducer< float > *producer) |
Public Member Functions inherited from sensesp::ValueProducer< float > | |
| ValueProducer () | |
| ValueProducer (const float &initial_value) | |
| virtual const float & | get () const |
| std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< float, typenameVConsumer::input_type >::value, std::shared_ptr< VConsumer > >::type | connect_to (std::shared_ptr< VConsumer > consumer) |
| Connect a producer to a transform with a different input type. | |
| std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< float, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer *consumer) |
| std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< float, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer &consumer) |
| void | emit (const float &new_value) |
| ValueProducer () | |
| ValueProducer (const float &initial_value) | |
| virtual const float & | get () const |
| std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< float, typenameVConsumer::input_type >::value, std::shared_ptr< VConsumer > >::type | connect_to (std::shared_ptr< VConsumer > consumer) |
| Connect a producer to a transform with a different input type. | |
| std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< float, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer *consumer) |
| std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< float, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer &consumer) |
| void | emit (const float &new_value) |
Public Member Functions inherited from sensesp::Observable | |
| Observable () | |
| Observable (Observable &&other) | |
| Move constructor. | |
| void | notify () |
| void | attach (std::function< void()> observer) |
Protected Attributes | |
| float | R1_ |
| float | Vin_ |
Protected Attributes inherited from sensesp::Saveable | |
| const String | config_path_ |
Protected Attributes inherited from sensesp::ValueProducer< float > | |
| float | output_ |
| float | output_ |
Additional Inherited Members | |
Public Types inherited from sensesp::ValueConsumer< float > | |
| using | input_type |
Static Public Member Functions inherited from sensesp::TransformBase | |
| static const std::set< TransformBase * > & | get_transforms () |
Uses the voltage divider formula to calculate (and output) the resistance of R2 in the circuit.
Vout = (Vin x R2) / (R1 + R2) is the voltage divider formula. We know:
Knowing Vin, Vout, and R1, we can calculate R2 (which is what this transform does).
The purpose of this transform is to help determine the resistance value of a physical sensor of the "variable resistor" type, such as a temperature sensor, or an oil pressure sensor. If we know the resistance of the sensor, we can then determine the temperature (or pressure, etc.) that the sensor is reading, by connecting this transform's output to an instance of the CurveInterpolator transform.
Definition at line 75 of file voltagedivider.h.
| sensesp::VoltageDividerR2::VoltageDividerR2 | ( | float | R1, |
| float | Vin = 3.3, | ||
| const String & | config_path = "" ) |
|
overridevirtual |
Deserializes the current object data from a JsonObject.
Reimplemented from sensesp::Serializable.
Definition at line 59 of file voltagedivider.cpp.
|
overridevirtual |
Used to set an input of this consumer. It is called automatically by a ValueProducer but can also be called manually.
| new_value | the value of the input |
Reimplemented from sensesp::ValueConsumer< float >.
Definition at line 49 of file voltagedivider.cpp.
|
overridevirtual |
Serializes the current object data into a JsonObject.
Reimplemented from sensesp::Serializable.
Definition at line 53 of file voltagedivider.cpp.
|
protected |
Definition at line 86 of file voltagedivider.h.
|
protected |
Definition at line 87 of file voltagedivider.h.