SensESP
1.0.1
Universal Signal K sensor framework for ESP8266 and ESP32
|
CADS1x15 | Represents an ADS1015 or ADS1115 Analog to Digital Converter. Values are read with ADS1x15RawValue or ADS1x15Voltage |
CADS1x15RawValue | Used to read the raw output of the ADS1x15, which is an integer between 0 and 32,768. If you want the voltage that was the input to the ADS1x15 (because voltage is what the ADS1x15 actually reads), use ADS1x15Voltage instead |
CADS1x15Voltage | Reads the raw output of the ADS1x15 (an integer between 0 and 32,768) and converts it back into the voltage that was actually read by the chip. If you want the raw output itself, use ADS1x15RawValue instead |
CAnalogInput | Sensor for reading the MCU analog input pins |
CAnalogVoltage | A transform that takes the output of the built-in analog-to-digital converter on the ESP and outputs the voltage that went into it |
CAngleCorrection | Add a value to an angle input (in radians). The output value is wrapped to a range between [0, 2*pi]. This transform is useful for correcting e.g. a heading or a wind direction reading |
CBaseAnalogReader | Used by AnalogInput to properly read the very different ADC's of the ESP8266 and ESP32 |
CBaseBlinker | A base class for LED blinker classes |
CBME280 | Represents an ADAfruit (or compatible) BME280 temperature / pressure / humidity sensor |
CBME280Value | BME280Value reads and outputs the specified value of a BME280 sensor |
CBMP280 | BMP280 represents an ADAfruit or compatible BMP280 temperature & pressure sensor |
CBMP280Value | BMP280Value reads and outputs the specified value of a BMP280 sensor |
CChangeFilter | A numeric passthrough transform that will only pass that value through if it is "sufficiently different" from the last value passed through |
CClickType | ClickType is a transform that consumes button clicks and translates them as events of type ClickTypes |
CConfigurable | An object that is capable of having configuration data that can be set remotely using a RESTful API, and can be persisted to the local file system |
►CCurveInterpolator | Uses a collection of input/output samples that approximate a non-linear curve and outputs a value on that curve. The output is the linear interpolation between the two sample points that the input falls between. It is used primarily for non-linear analog gauges such as temperature gauges and oil pressure gauges, which get their input from analog sensors that are variable resistors |
CDallasTemperatureSensors | Finds all 1-Wire temperature sensors that are connected to the ESP and makes the address(es) and temperature data available to the OneWireTemperature class |
CDebounceTemplate | Implements debounce code for a button or switch |
CDifference | |
CDigitalInput | DigitalInput is the base class for reading a digital GPIO pin |
CDigitalInputChange | DigitalInputChange is meant to report when a digital pin changes its state |
CDigitalInputCounter | DigitalInputCounter counts interrupts and reports the count every read_delay ms |
CDigitalInputState | DigitalInputState reports the state of a digital pin every read_delay ms |
CDigitalOutput | Sets a GPIO pin to whatever the input is (true = HIGH, false = LOW), and passes the value on to the next ValueConsumer |
CEnable | Classes that implement "Enable" will have their enable() method called automatically at startup when the SensESP app itself is enabled. The optional priority allows for certain classes to be initialized first. The default priority is zero. A higher priority (i.e. greater than zero) will be enabled before a lower one (i.e. less than zero) |
CENUVector | |
CEvenBlinker | An LED blinker class that blinks the LED 50% off, 50% on, at a given period |
CFreeMem | Reports the current amount of unused memory of the ESP |
CFrequency | Transforms its input into frequency (Hz: cycles per second) |
CGPGGASentenceParser | |
CGPGLLSentenceParser | |
CGPRMCSentenceParser | |
CGPSInput | Support for a GPS module communicating with NMEA-0183 messages over a serial interface |
CHTTPServer | Handles external interactions with the device via the web interface |
CHysteresis | Hysteresis function |
CINA219 | Represents an ADAfruit (or compatible) INA219 High Side DC Current Sensor |
CINA219Value | INA219Value reads and outputs the specified value of an INA219 sensor |
CIntegerSensor | A Sensor whose output is an integer |
CIntegerThreshold | Translates an integer value into a boolean value, which depends on whether the integer value is "in range" or "out of range" |
CIntegratorT | Integrator integrates (accumulates) the incoming values |
CIPAddrDev | Reports the IP address of the ESP once it's connected to wifi |
CLambdaConsumer | Provides an easy way of calling a function based on the output of any ValueProducer |
CLambdaTransform | Construct a new transform based on a single function |
CLinear | Performs a linear transform on the input value: output = (input * multiplier) + offset |
CMAX31856Thermocouple | Reads the temperature from an Adafruit MAX31856 (or compatible) thermocouple breakout board. Communicates with the ESP via SPI |
CMedian | Outputs the median value of sample_size inputs |
CMovingAverage | Outputs the moving average of the last sample_size inputs |
CNetworking | Manages the ESP's connection to the Wifi network |
CNMEAData | |
CNMEAParser | |
CNumericSensor | A Sensor whose output is a float |
CNumericThreshold | Translates a float value into a boolean value, which depends on whether the float value is "in range" or "out of range" |
CObservable | A base class which allow observers to attach callbacks to themselves. The callbacks will be called when the observable needs to notify the observers about some state change |
CObservableValue | A value that notifies its observers if it gets changed |
COneWireTemperature | Used to read the temperature from a single 1-Wire temperature sensor. If you have X sensors connected to your ESP, you need to create X instances of this class in main.cpp |
COrientation9DOF | Represents an NXP FXOS8700 accelerometer and magnetometer sensor, plus an NXP FXAS21002C gyroscope |
CParamInfo | |
CPatternBlinker | A blinker that blinks the LED according to a defined repeating pattern |
CPeriodicBlinker | A base class for periodic blinkers |
CPosition | |
CPressRepeater | A transform that takes boolean inputs and adds button behaviors familiar to many device end users |
CPSTI030SentenceParser | |
CPSTI032SentenceParser | |
CPSTISentenceParser | |
CPWMOutput | Provides a cross platform mechanism for generating Pulse Width Modulation signals over one or more GPIO pins on the MCU |
CRatioBlinker | A periodic blinker that defines both the on-ratio and the period length |
CRead9DOF | Sets up the combo FXOS8700 + FXAS21002 sensor and outputs the specified orientation parameter value |
CRepeatReport | Ensures that values that do not change frequently are still reported at a specified maximum silence interval. If the value has not changed in max_silence_interval milliseconds, the current value is emmitted again |
CRgbLed | A special device object that can be used to control a multi-channel color rgb LED light using up to 3 digital output channels. A "color" is defined using the standard 24 bit color depth numbers composed of three 8 bit channels for Red, Green, and Blue (see https://techterms.com/definition/rgb) |
CRoundToInt | Takes as its input a float, rounds it to the nearest whole number, then outputs it as an int |
CSensESPApp | |
CSensESPAppBuilder | A class for quickly configuring a SensESP application object before wiring up your sensors |
CSensor | The base class for all sensors. Used only as a base class - never instantiated directly in a project |
CSensorNXP_FXOS8700_FXAS21002 | |
CSentenceParser | |
CSHT31 | SHT31 represents an ADAfruit (or compatible) SHT31 temperature & humidity sensor |
CSHT31Value | SHT31Value reads and outputs the specified value of an SHT31 sensor |
CSKDelta | |
CSKEmitter | A class that produces Signal K output to be forwarded to the Signal K server (if the system is connected to one). Signal K is reported via the as_signalK() method |
CSKListener | An Obervable class that listens for Signal K stream deltas and notifies any observers of value changes. This serves as a base class for code that needs to listen to the stream, with the most common descendant being SKValueListener |
CSKMetadata | Holds Signal K meta data that is associated with the sk_path an SKEmitter class may optionally send to the server. According to the official Signal K specification: "All keys in the Signal K specification must have a description , and where the key is a numeric value it must have units ". Thus, any paths that you output that are not already part of the official Signal K specification should have these two fields defined as metadata |
CSKOutput | A specialized transform whose primary purpose is to output Signal K data on the Signal K network |
CSKOutputNumeric | A special class for sending numeric values to the Signal K server on a specific Signal K path |
CSKOutputTime | |
CSKPutListener | An Obervable class that listens for Signal K PUT requests coming over the websocket connection and notifies observers of the change |
CSKPutRequest | Used to send requests to the server to change the value of the specified path to a specific value according to the specification at https://signalk.org/specification/1.5.0/doc/put.html |
CSKPutRequestBase | A base class for all template variations of the PUT request class SKPutRequest. This base class keeps the compiler from generating reduntant object code for common functionality of each template version |
CSKPutRequestListener | An object that listens for PUT requests to come in for the specified SignalK path. The value is then emitted for further processing |
►CSKRequest | A base class for all objects that are capable of sending "requests" to the SignalK server (and optionally receiving the responses) according to the specification located at https://signalk.org/specification/1.5.0/doc/request_response.html |
CSKValueListener | An ValueProducer that listens to specific Signal K paths and emits its value whenever it changes |
CSmartSwitchController | A high level transform designed to control a digital output (such as a relay) via manual button presses or programatic commands. To accomplish this, the controller accepts inputs from a generic boolean producer (usually a SignalK listener), as well as String and ClickType inputs. The latter allows a physical button to control the load as well as add special behaviors to the sensor application. In particular, an ultra long press of the button will cause the MCU to reboot |
CStringSensor | A Sensor whose output is a String |
CSymmetricTransform | A common type of transform that consumes, transforms, then outputs values of the same data type |
CSystemHz | Reports the current clock speed of the ESP |
CSystemStatusController | Base class for a controller that can react to system status events |
CSystemStatusLed | Consumes the networking and websocket states and delta counts and updates the device LED accordingly. Inherit this class and override the methods to customize the behavior |
CTextToTruth | Consumes a string and outputs boolean "true" if the text represents a human readable version of "true" |
CThresholdTransform | A Transform base class that translates the value of type C into value of type P. Base class for classes NumericThreshold and IntegerThreshold |
CTimeString | Consumes a time_t time object and produces a human readable string of the time for UTC in ISO 8601 format |
CTransform | The main Transform class. A transform is identified primarily by the type of value that is produces (i.e. a Transform<float> is a ValueProducer<float> that generates float values) |
CTransformBase | The base class for all transforms. A transforms takes a value in, transforms it in some way, and outputs the transformed value |
CTruthToText | Consumes a boolean value and outputs one the appropriate truth string specified in the constructor. This is the inverse of TextToTruth |
CTypecast | Converts input from one data type to another, then outputs the new type |
CUltrasonicDistance | Reads a DYP-A02YYWM-V1.0 (and possibly other types) ultrasonic sensor and outputs the number of microseconds that it takes the sound wave to bounce off an object and return to the sensor |
CUptime | Reports the number of seconds since the last restart of the ESP |
CValueConsumer | A base class for piece of code (like a transform) that accepts data for input. ValueConsumers can accept one or more input values via the set_input() method. They are connected to ValueProducers via the connect_to() method |
CValueProducer | A base class for any sensor or piece of code that outputs a value for consumption elsewhere |
CVoltageDividerR1 | Uses the voltage divider formula to calculate (and output) the resistance of R1 in the circuit |
CVoltageDividerR2 | Uses the voltage divider formula to calculate (and output) the resistance of R2 in the circuit |
CVoltageMultiplier | 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 |
CWifiSignal | Reports the current strength of the wifi signal that the ESP is connected to |
CWSClient | The websocket connection to the Signal K server |