SensESP 3.0.1
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp::VoltageMultiplier Class Reference

OBSOLETE: Since you can now apply an "output_scale" to the AnalogInput sensor, you don't need this transform anymore. See the description of "output_scale" in analog_input.h. More...

#include <sensesp/transforms/voltage_multiplier.h>

Inheritance diagram for sensesp::VoltageMultiplier:
[legend]

Public Member Functions

 VoltageMultiplier (uint16_t R1, uint16_t R2, const String &config_path="")
 
virtual void set (const float &input)
 
- Public Member Functions inherited from sensesp::SymmetricTransform< float >
 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::Serializable
- Public Member Functions inherited from sensesp::ValueConsumer< float >
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)
 
- Public Member Functions inherited from sensesp::Observable
 Observable ()
 
 Observable (Observable &&other)
 Move constructor.
 
void notify ()
 
void attach (std::function< void()> observer)
 

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 ()
 
- Protected Attributes inherited from sensesp::Saveable
const String config_path_
 
- Protected Attributes inherited from sensesp::ValueProducer< float >
float output_
 

Detailed Description

OBSOLETE: Since you can now apply an "output_scale" to the AnalogInput sensor, you don't need this transform anymore. See the description of "output_scale" in analog_input.h.

A transform that does the opposite of what a physical voltage divider circuit does: convert the voltage that comes out of a voltage divider back into the original voltage that went into the voltage divider.

Use case: measuring a ~12V DC source with an analog-to-digital converter (ADC) that can take only 5V. You use a physical voltage divider circuit to reduce from ~12V down to a range that's no higher than 5V. After you read the output from the ADC and convert it into voltage, you have to reverse the effect of the voltage divider circuit to know the original source voltage.

Parameters
R1The value, in ohms, of R1 in your voltage divider circuit.
R2The value, in ohms, of R2 in your voltage divider circuit.

For maximum accuracy, you should measure the actual ohms value of your resistors, rather than just assuming they are as labeled.

Definition at line 31 of file voltage_multiplier.h.

Constructor & Destructor Documentation

◆ VoltageMultiplier()

sensesp::VoltageMultiplier::VoltageMultiplier ( uint16_t R1,
uint16_t R2,
const String & config_path = "" )

Definition at line 5 of file voltage_multiplier.cpp.

Member Function Documentation

◆ set()

void sensesp::VoltageMultiplier::set ( const float & new_value)
virtual

Used to set an input of this consumer. It is called automatically by a ValueProducer but can also be called manually.

Parameters
new_valuethe value of the input

Reimplemented from sensesp::ValueConsumer< float >.

Definition at line 9 of file voltage_multiplier.cpp.

Here is the call graph for this function:

The documentation for this class was generated from the following files: