SensESP 2.7.2
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, String config_path="")
 
virtual void set_input (float input, uint8_t inputChannel=0)
 
- Public Member Functions inherited from sensesp::SymmetricTransform< float >
 SymmetricTransform (String config_path="")
 
- Public Member Functions inherited from sensesp::Transform< C, P >
 Transform (String config_path="")
 
Transform< C, P > * connect_from (ValueProducer< P > *producer0, ValueProducer< P > *producer1=NULL, ValueProducer< P > *producer2=NULL, ValueProducer< P > *producer3=NULL, ValueProducer< P > *producer4=NULL)
 
- Public Member Functions inherited from sensesp::TransformBase
 TransformBase (String config_path="")
 
- Public Member Functions inherited from sensesp::Configurable
 Configurable (String config_path="", String description="", int sort_order=1000)
 
String get_description ()
 
void set_description (String description)
 Set the description of the Configurable.
 
int get_sort_order ()
 
void set_sort_order (int sort_order)
 
virtual void save_configuration ()
 
- Public Member Functions inherited from sensesp::Startable
 Startable (int priority=0)
 
virtual void start ()
 
const int get_start_priority ()
 
void set_start_priority (int priority)
 
- Public Member Functions inherited from sensesp::ValueConsumer< C >
virtual void set_input (C new_value, uint8_t input_channel=0)
 
void connect_from (ValueProducer< C > *producer, uint8_t input_channel=0)
 
- Public Member Functions inherited from sensesp::ValueProducer< P >
 ValueProducer ()
 
virtual const Pget () const
 
void connect_to (ValueConsumer< P > *consumer, uint8_t input_channel=0)
 
void connect_to (ValueConsumer< CT > *consumer, uint8_t input_channel=0)
 Connect a producer to a consumer of a different type.
 
Transform< P, T2 > * connect_to (Transform< P, T2 > *consumer_producer, uint8_t input_channel=0)
 
Transform< TT, T2 > * connect_to (Transform< TT, T2 > *consumer_producer, uint8_t input_channel=0)
 Connect a producer to a transform with a different input type.
 
void emit (P 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

- Static Public Member Functions inherited from sensesp::TransformBase
static const std::set< TransformBase * > & get_transforms ()
 
- Static Public Member Functions inherited from sensesp::Startable
static void start_all ()
 
- Public Attributes inherited from sensesp::Configurable
const String config_path_
 
- Protected Member Functions inherited from sensesp::Configurable
virtual void load_configuration ()
 
- Protected Attributes inherited from sensesp::Configurable
String description_ = ""
 
int sort_order_ = 1000
 
- Protected Attributes inherited from sensesp::ValueProducer< P >
P 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 30 of file voltage_multiplier.h.

Constructor & Destructor Documentation

◆ VoltageMultiplier()

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

Definition at line 5 of file voltage_multiplier.cpp.

Member Function Documentation

◆ set_input()

void sensesp::VoltageMultiplier::set_input ( float  input,
uint8_t  inputChannel = 0 
)
virtual

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: