6#include "roo_logging.h"
11#if defined(ESP32) || defined(ESP8266) || defined(__linux__)
31 float inFarads()
const {
return capacitance_; }
40 float inNanoFarads()
const {
return capacitance_ * 1000000000.0f; }
43 float inPicoFarads()
const {
return capacitance_ * 1000000000000.0f; }
46 bool isUnknown()
const {
return std::isnan(capacitance_); }
49 return capacitance_ < other.capacitance_;
53 return capacitance_ == other.capacitance_;
57 return other.capacitance_ < capacitance_;
61 return !(other.capacitance_ < capacitance_);
65 return !(capacitance_ < other.capacitance_);
69 return !(capacitance_ == other.capacitance_);
83 capacitance_ *= multi;
92#if defined(ESP32) || defined(ESP8266) || defined(__linux__)
94 std::string asString()
const;
98 String asArduinoString()
const;
106 explicit Capacitance(
float capacitance) : capacitance_(capacitance) {}
199roo_logging::Stream&
operator<<(roo_logging::Stream& os,
200 const Capacitance& val);
Representation of capacitance, internally stored as floating-point Farads.
float inMilliFarads() const
Returns the capacitance in milliFarads.
Capacitance()
Creates a capacitance object representing an 'unknown' capacitance.
float inNanoFarads() const
Returns the capacitance in nanoFarads.
float inFarads() const
Returns the capacitance in Farads.
Capacitance & operator*=(float multi)
float inPicoFarads() const
Returns the capacitance in picoFarads.
bool operator<=(const Capacitance &other) const
bool operator==(const Capacitance &other) const
Capacitance & operator+=(const Capacitance &other)
float inKiloFarads() const
Returns the capacitance in kiloFarads.
float inMicroFarads() const
Returns the capacitance in microFarads.
bool isUnknown() const
Returns whether the object represents an unknown capacitance.
Capacitance & operator/=(float div)
friend Capacitance CapacitanceInFarads(float)
Returns a capacitance object equivalent to the specified capacitance expressed in Farads.
Capacitance & operator-=(const Capacitance &other)
bool operator>(const Capacitance &other) const
bool operator<(const Capacitance &other) const
bool operator!=(const Capacitance &other) const
bool operator>=(const Capacitance &other) const
friend Capacitance UnknownCapacitance()
Returns a capacitance object representing an unknown capacitance.
Representation of charge, internally stored as floating-point Coulombs.
float inCoulombs() const
Returns the charge in Coulombs.
Representation of voltage, internally stored as floating-point Volts.
float inVolts() const
Returns the voltage in Volts.
For convenience conversion from roo_time::Duration.
roo_logging::Stream & operator<<(roo_logging::Stream &os, const Area &val)
Capacitance CapacitanceInMicroFarads(float capacitance)
Returns a capacitance object equivalent to the specified capacitance expressed in microFarads.
Capacitance CapacitanceInPicoFarads(float capacitance)
Returns a capacitance object equivalent to the specified capacitance expressed in picoFarads.
Voltage VoltageInVolts(float voltage)
Returns a voltage object equivalent to the specified voltage expressed in Volts.
Capacitance CapacitanceInMilliFarads(float capacitance)
Returns a capacitance object equivalent to the specified capacitance expressed in milliFarads.
Capacitance UnknownCapacitance()
Returns a capacitance object representing an unknown capacitance.
Area operator+(Area a, Area b)
Area operator-(Area a, Area b)
Capacitance CapacitanceInKiloFarads(float capacitance)
Returns a capacitance object equivalent to the specified capacitance expressed in kiloFarads.
Capacitance CapacitanceInFarads(float capacitance)
Returns a capacitance object equivalent to the specified capacitance expressed in Farads.
Capacitance CapacitanceInNanoFarads(float capacitance)
Returns a capacitance object equivalent to the specified capacitance expressed in nanoFarads.
Area operator/(Area a, float b)
Area operator*(Area a, float b)
Charge ChargeInCoulombs(float charge)
Returns a charge object equivalent to the specified charge expressed in Coulombs.