SensESP 3.4.1-alpha
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp Namespace Reference

Classes

class  AccessPointSettings
 Storage object for WiFi access point settings. More...
 
class  AirDensity
 Transforms temperature, relative humidity and pressure in air density. More...
 
class  AnalogInput
 Sensor for reading the MCU analog input pins. More...
 
class  AnalogVoltage
 A transform that takes the output of an analog-to-digital converter and outputs the voltage that went into it. (This can be the built-in ADC on the ESP, or it can be an external ADC like the ADS1015/1115.) More...
 
class  AngleCorrection
 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. More...
 
class  AsyncResponseHandler
 Handle async command responses from remote systems. More...
 
struct  AttitudeVector
 Container for attitude data. More...
 
class  BaseAnalogReader
 Used by AnalogInput as a hardware abstraction layer. More...
 
class  BaseBlinker
 A base class for LED blinker classes. More...
 
class  BaseButtonHandler
 Base class for button handlers. More...
 
class  BaseSystemStatusLed
 Consumes the networking and websocket states and delta counts and updates the device LED accordingly. More...
 
class  ButtonHandler
 Default Button Handler for SensESPApp applications. More...
 
class  ChangeFilter
 A float passthrough transform that will only pass that value through if it is "sufficiently different" from the last value passed through. More...
 
class  CheckboxConfig
 
class  ClickType
 ClickType is a transform that consumes button clicks and translates them as events of type ClickTypes. Use AceButton instead. More...
 
class  ClientSSIDConfig
 Storage object for WiFi client settings. More...
 
class  ConfigItemBase
 
class  ConfigItemT
 Class providing sufficient data for rendering a config card in the frontend. More...
 
class  ConstantSensor
 ConstantSensor is the base class for virtual sensors that periodically emit a constant value. More...
 
struct  CRGB
 Minimal RGB color struct. More...
 
class  CurveInterpolator
 Implement a piecewise linear interpolation transform. More...
 
class  Debounce
 Implements debounce code for a button or switch. More...
 
class  DewPoint
 Transforms temperature and relative humidity in dew point temperature. More...
 
class  DigitalInput
 DigitalInput is the base class for reading a digital GPIO pin. More...
 
class  DigitalInputChange
 DigitalInputChange provides output whenever a digital pin changes its state. More...
 
class  DigitalInputCounter
 DigitalInputCounter counts interrupts and reports the count every read_delay ms. More...
 
class  DigitalInputDebounceCounter
 DigitalInputDebounceCounter counts interrupts and reports the count every read_delay ms, but ignores events that happen within ignore_interval_ms. More...
 
class  DigitalInputState
 DigitalInputState polls the state of an input pin every read_delay ms. More...
 
class  DigitalOutput
 Sets a GPIO pin to whatever the input is (true = HIGH, false = LOW), and passes the value on to the next ValueConsumer. More...
 
class  Enable
 On/off switch for signals: input is emitted as-is if the enable flag is set in the web UI. More...
 
struct  ENUVector
 Container for local tangent plane coordinates. More...
 
class  ESP32AnalogReader
 
class  ExpiringValue
 Value container that keeps track of its expiration time. More...
 
class  Filesystem
 
class  FileSystemSaveable
 
class  Filter
 Transform that only emits the output if the filter condition returns true. More...
 
class  FreeMem
 Reports the current amount of unused memory of the ESP. More...
 
class  Frequency
 Transforms its input into frequency (Hz: cycles per second) More...
 
class  HeatIndexEffect
 Transforms heat index temperature to heat index effect. More...
 
class  HeatIndexTemperature
 Transforms temperature and relative humidity in heat index temperature. More...
 
class  HTTPAuthenticator
 HTTP Authenticator base class. More...
 
class  HTTPDigestAuthenticator
 HTTP Digest Authenticator class. More...
 
class  HTTPRequestHandler
 HTTP request handler storage class. More...
 
class  HTTPServer
 HTTP server class wrapping the esp-idf http server. More...
 
class  Hysteresis
 Hysteresis function. More...
 
class  Integrator
 Integrator integrates (accumulates) the incoming values. More...
 
class  IPAddrDev
 Reports the IP address of the ESP once it's connected to wifi. More...
 
class  Join
 Join two producer values into a tuple. More...
 
class  Join3
 Merge three producer values into a tuple. More...
 
class  Join4
 Merge four producer values into a tuple. More...
 
class  Join5
 Merge five producer values into a tuple. More...
 
class  JoinBase
 
class  LambdaConsumer
 Provides an easy way of calling a function based on the output of any ValueProducer. More...
 
class  LambdaTransform
 Construct a new transform based on a single function. More...
 
class  LEDBlinker
 Blink the LED with a pattern specified by a vector of callback functions. More...
 
class  LEDPattern
 
class  LEDPatternFragment
 
class  Linear
 Performs a linear transform on the input value: output_ = (input * multiplier) + offset. More...
 
class  LocalDebug
 
class  LogBuffer
 Captures ESP_LOGx output into a bounded RAM buffer for the web UI. More...
 
struct  LogQueueItem
 
struct  LogRecord
 A single captured log line. More...
 
struct  LogSnapshot
 Result of a snapshot_since() query, ready to serialize for the web UI. More...
 
class  MDNSDiscovery
 
class  Median
 Outputs the median value of sample_size inputs. More...
 
class  MinimalButtonHandler
 Minimal Button Handler. More...
 
class  MovingAverage
 Outputs the moving average of the last sample_size inputs. More...
 
class  NetworkProvisioner
 Transport-agnostic network provisioner interface. More...
 
class  NetworkStateProducer
 Unified producer that emits NetworkState transitions. More...
 
struct  NonceData
 
class  Nullable
 Template class that supports a special invalid magic value for a type. More...
 
class  Nullable< bool >
 Validity-flag specialization of Nullable for bool. More...
 
class  NumberConfig
 
class  Observable
 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. More...
 
class  ObservableValue
 A value container that notifies its observers if it gets changed. More...
 
class  OTA
 
struct  ParamInfo
 
class  PersistingObservableValue
 An ObservableValue that saves its value to the configuration. More...
 
struct  Position
 Position data container. More...
 
class  PressRepeater
 A transform that takes boolean inputs and adds button behaviors familiar to many device end users. DEPRECATED: use AceButton for button inputs. More...
 
class  PWMOutput
 DEPRECATED. Use Android native ledcAttach and ledcWrite instead. More...
 
class  Repeat
 Repeat the input at specific intervals. More...
 
class  RepeatConstantRate
 Repeat transform that emits the last value at a constant interval. More...
 
class  RepeatExpiring
 Repeat transform that emits an expired value if the value age exceeds max_age. More...
 
class  RepeatReport
 
class  RepeatSensor
 
class  RepeatStopping
 Repeat transform that stops emitting if the value age exceeds max_age. More...
 
class  Resettable
 Automatic calling of the reset() method when the device needs to be reset. More...
 
class  ResettableCompare
 
class  RgbLed
 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) More...
 
class  RGBSystemStatusLed
 
class  RoundToInt
 Takes as its input a float, rounds it to the nearest whole number, then outputs it as an int. More...
 
class  RouteDefinition
 
class  SafeQueue
 Thread-safe queue for inter-task communication. More...
 
class  Saveable
 Interface for saveable objects. More...
 
class  SelectConfig
 
class  SemaphoreValue
 A value container wrapped in a semaphore. More...
 
class  SensESPApp
 
class  SensESPAppBuilder
 A class for quickly configuring a SensESP application object before wiring up your sensors. More...
 
class  SensESPBaseApp
 The base class for SensESP applications. More...
 
class  SensESPBaseAppBuilder
 Abstract base class for other SensESP*AppBuilder classes. More...
 
class  SensESPMinimalApp
 
class  SensESPMinimalAppBuilder
 
class  Sensor
 Sensor template class for any sensor producing actual values. More...
 
class  SensorConfig
 The base class for all sensors. Used only as a base class - never instantiated directly in a project. More...
 
class  Serializable
 Interface for serializable objects. More...
 
class  SKDeltaQueue
 Signal K delta queue. More...
 
class  SKEmitter
 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. More...
 
class  SKListener
 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 More...
 
class  SKMetadata
 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 <tt>description</tt>, and where the key is a numeric value it must have <tt>units</tt>". 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. More...
 
class  SKMetadataListener
 A ValueProducer that listens to the metadata stream for a single Signal K path and emits a typed SKMetaView whenever it changes. More...
 
struct  SKMetaView
 A typed, read-only view of Signal K metadata received for a path. More...
 
class  SKOutput
 A specialized transform whose primary purpose is to output Signal K data on the Signal K network. More...
 
class  SKOutputNumeric
 A special class for sending numeric values to the Signal K server on a specific Signal K path. More...
 
class  SKOutputRawJson
 Class for sending raw Json strings on a specific Signal K path. More...
 
class  SKOutputTime
 
class  SKPutListener
 An Obervable class that listens for Signal K PUT requests coming over the websocket connection and notifies observers of the change. More...
 
class  SKPutRequest
 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. More...
 
class  SKPutRequestBase
 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. More...
 
class  SKPutRequestListener
 An object that listens for PUT requests to come in for the specified SignalK path. The value is then emitted for further processing. More...
 
class  SKRequest
 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. More...
 
class  SKValueListener
 An ValueProducer that listens to specific Signal K paths and emits its value whenever it changes. More...
 
class  SKWSClient
 The websocket connection to the Signal K server. More...
 
struct  SKZone
 A single Signal K metadata zone. More...
 
class  SmartSwitchController
 A high level transform designed to control a digital output (such as a relay) via manual button presses or programatic commands. More...
 
class  Startable
 No-op Startable shim kept only for source compatibility. More...
 
struct  StaticFileData
 
class  StatusPageItem
 Item that renders its own value on the web UI status page. More...
 
class  StatusPageItemBase
 
class  StreamCharProducer
 ValueProducer that reads from a Stream and produces each character. More...
 
class  StreamLineProducer
 ValueProducer that reads from a Stream and produces a full line. More...
 
class  StringConfig
 
class  SymmetricTransform
 A common type of transform that consumes, transforms, then outputs values of the same data type. More...
 
class  SystemHz
 Reports the current clock speed of the ESP. More...
 
class  SystemStatusController
 Base class for a controller that can react to system status events. More...
 
class  SystemStatusLed
 Monochromatic system status LED. More...
 
class  TaskQueueProducer
 Producer class that works across task boundaries. More...
 
class  TextToTruth
 Consumes a string and outputs boolean "true" if the text represents a human readable version of "true". More...
 
class  ThresholdTransform
 A Transform base class that translates the value of type C into boolean. Base class for classes FloatThreshold and IntThreshold. More...
 
class  Throttle
 Throttle the input rate. More...
 
class  TimeCounter
 A transform that outputs the duration of the input value being true or non-null. More...
 
class  TimeString
 Consumes a time_t time object and produces a human readable string of the time for UTC in ISO 8601 format. More...
 
class  Transform
 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) More...
 
class  TransformBase
 The base class for all transforms. A transforms takes a value in, transforms it in some way, and outputs the transformed value. More...
 
class  TruthToText
 Consumes a boolean value and outputs one the appropriate truth string specified in the constructor. This is the inverse of TextToTruth. More...
 
class  Typecast
 Converts input from one data type to another, then outputs the new type. More...
 
class  UIButton
 UIButton implements a button interface on the web UI. More...
 
class  Uptime
 Reports the number of seconds since the last restart of the ESP. More...
 
class  ValueConsumer
 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() method. They are connected to ValueProducers via the connect_to() method. More...
 
class  ValueProducer
 A base class for any sensor or piece of code that outputs a value for consumption elsewhere. More...
 
class  VoltageDividerR1
 Uses the voltage divider formula to calculate (and output) the resistance of R1 in the circuit. More...
 
class  VoltageDividerR2
 Uses the voltage divider formula to calculate (and output) the resistance of R2 in the circuit. More...
 
class  VoltageMultiplier
 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...
 
class  WiFiNetworkInfo
 WiFi network info storage class returned by scan results. More...
 
class  WiFiProvisioner
 Manages the ESP's WiFi connection. More...
 
class  WiFiSignal
 Reports the current strength of the wifi signal that the ESP is connected to. More...
 
class  Zip
 Zip two producer values into a tuple. More...
 
class  Zip3
 Zip three producer values into a tuple. More...
 
class  Zip4
 Zip four producer values into a tuple. More...
 
class  Zip5
 Zip five producer values into a tuple. More...
 
class  ZipBase
 

Typedefs

typedef std::function< void()> void_cb_func
 
using NetworkState = WiFiState
 Transport-agnostic network state.
 
using Networking = WiFiProvisioner
 
using WiFiStateProducer = NetworkStateProducer
 
using WifiState = WiFiState
 
typedef ESP32AnalogReader AnalogReader
 
typedef ConstantSensor< float > FloatConstantSensor
 
typedef ConstantSensor< int > IntConstantSensor
 
typedef ConstantSensor< bool > BoolConstantSensor
 
typedef ConstantSensor< String > StringConstantSensor
 
typedef Sensor< float > FloatSensor
 
typedef Sensor< int > IntSensor
 
typedef Sensor< bool > BoolSensor
 
typedef Sensor< String > StringSensor
 
typedef SKOutputNumeric< float > SKOutputFloat
 
typedef SKOutputNumeric< int > SKOutputInt
 
typedef SKOutput< bool > SKOutputBool
 
typedef SKOutput< String > SKOutputString
 
typedef SKPutRequest< float > FloatSKPutRequest
 
typedef SKPutRequest< int > IntSKPutRequest
 
typedef SKPutRequest< bool > BoolSKPutRequest
 
typedef SKPutRequest< String > StringSKPutRequest
 
typedef SKPutRequestListener< float > FloatSKPutRequestListener
 
typedef SKPutRequestListener< int > IntSKPutRequestListener
 
typedef SKPutRequestListener< bool > BoolSKPutRequestListener
 
typedef SKPutRequestListener< String > StringSKPutRequestListener
 
typedef SKOutput< PositionSKOutputPosition
 
typedef SKOutput< ENUVectorSKOutputENUVector
 
typedef SKOutput< AttitudeVectorSKOutputAttitudeVector
 
typedef SKValueListener< float > FloatSKListener
 
typedef SKValueListener< int > IntSKListener
 
typedef SKValueListener< bool > BoolSKListener
 
typedef SKValueListener< String > StringSKListener
 
using FragmentCallback = std::function< void(uint32_t, CRGB &)>
 
typedef ValueConsumer< float > FloatConsumer
 
typedef ValueConsumer< int > IntConsumer
 
typedef ValueConsumer< bool > BoolConsumer
 
typedef ValueConsumer< String > StringConsumer
 
typedef ValueProducer< float > FloatProducer
 
typedef ValueProducer< int > IntProducer
 
typedef ValueProducer< bool > BoolProducer
 
typedef ValueProducer< String > StringProducer
 
typedef Debounce< bool > DebounceBool
 
typedef Debounce< int > DebounceInt
 
typedef Debounce< float > DebounceFloat
 
typedef Integrator< float, float > FloatIntegrator
 
typedef Integrator< int, int > Accumulator
 
typedef ThresholdTransform< float > FloatThreshold
 
typedef ThresholdTransform< int > IntThreshold
 
typedef SymmetricTransform< float > FloatTransform
 
typedef SymmetricTransform< int > IntegerTransform
 
typedef SymmetricTransform< bool > BooleanTransform
 
typedef SymmetricTransform< String > StringTransform
 
typedef Typecast< int, bool > IntToBool
 
typedef Typecast< bool, int > BoolToInt
 
typedef Typecast< int, float > IntToFloat
 
typedef Typecast< float, int > FloatToInt
 
typedef Nullable< int > NullableInt
 
typedef Nullable< float > NullableFloat
 
typedef Nullable< double > NullableDouble
 
typedef Nullable< bool > NullableBool
 

Enumerations

enum class  SystemStatus {
  kWifiNoAP = 100 , kWifiDisconnected , kWifiManagerActivated , kSKWSDisconnected ,
  kSKWSAuthorizing , kSKWSConnecting , kSKWSConnected
}
 
enum class  WiFiState {
  kWifiNoAP = 0 , kWifiDisconnected , kWifiConnectedToAP , kWifiManagerActivated ,
  kWifiAPModeActivated
}
 
enum class  TofuCaptureDecision { kAccept , kReject , kCaptureLeaf , kCaptureCa }
 Capture-mode decision for TOFU certificate pinning. More...
 
enum class  SKWSConnectionState {
  kSKWSDisconnected , kSKWSAuthorizing , kSKWSConnecting , kSKWSConnected ,
  kSKWSCertificateError
}
 
enum class  AsyncResponseStatus {
  kReady , kPending , kSuccess , kFailure ,
  kTimeout
}
 
enum class  ClickTypes {
  ButtonPress , ButtonRelease , SingleClick , LongSingleClick ,
  UltraLongSingleClick , DoubleClick
}
 
enum class  SelectType { kUndefined , kCheckbox , kSelect }
 

Functions

std::shared_ptr< reactesp::EventLoop > event_loop ()
 
const String ConfigSchema (const SmartSwitchController &obj)
 
String get_random_hex_string ()
 
void urldecode2 (char *dst, const char *src)
 
esp_err_t call_request_dispatcher (httpd_req_t *req)
 
String get_content_type (httpd_req_t *req)
 
const String ConfigSchema (const HTTPServer &obj)
 
bool ConfigRequiresRestart (const HTTPServer &obj)
 
void add_tofu_reset_handler (std::shared_ptr< HTTPServer > &server)
 
void add_scan_wifi_networks_handlers (std::shared_ptr< HTTPServer > &server, std::shared_ptr< WiFiProvisioner > wifi_provisioner)
 
void add_app_http_command_handlers (std::shared_ptr< HTTPServer > &server, std::shared_ptr< WiFiProvisioner > wifi_provisioner)
 
void add_http_reset_handler (std::shared_ptr< HTTPServer > &server)
 
void add_http_restart_handler (std::shared_ptr< HTTPServer > &server)
 
void add_http_info_handler (std::shared_ptr< HTTPServer > &server)
 
void add_http_log_handler (std::shared_ptr< HTTPServer > &server)
 
void add_routes_handlers (std::shared_ptr< HTTPServer > &server)
 
void add_base_app_http_command_handlers (std::shared_ptr< HTTPServer > &server)
 
bool get_item_data (JsonDocument &doc, const std::shared_ptr< ConfigItemBase > &item)
 
esp_err_t handle_config_item_list (httpd_req_t *req)
 
void add_config_list_handler (std::shared_ptr< HTTPServer > &server)
 
void add_config_get_handler (std::shared_ptr< HTTPServer > &server)
 
void add_config_put_handler (std::shared_ptr< HTTPServer > &server)
 
void add_config_handlers (std::shared_ptr< HTTPServer > &server)
 Handle HTTP requests to /config.
 
void add_static_file_handlers (std::shared_ptr< HTTPServer > server)
 Provide handlers for static web content.
 
const String ConfigSchema (const WiFiProvisioner &obj)
 
bool ConfigRequiresRestart (const WiFiProvisioner &obj)
 
const String ConfigSchema (AnalogInput &obj)
 
bool ConfigRequiresRestart (const AnalogInput &obj)
 
template<typename T >
const String ConfigSchemaSensorType (const T &obj)
 
template<>
const String ConfigSchemaSensorType< int > (const int &obj)
 
template<>
const String ConfigSchemaSensorType< float > (const float &obj)
 
template<>
const String ConfigSchemaSensorType< String > (const String &obj)
 
template<>
const String ConfigSchemaSensorType< bool > (const bool &obj)
 
template<typename T >
const String ConfigSchema (const ConstantSensor< T > &obj)
 
const String ConfigSchema (DigitalInputState &obj)
 
bool ConfigRequiresRestart (const DigitalInputState &obj)
 
const String ConfigSchema (const DigitalInputCounter &obj)
 
bool ConfigRequiresRestart (const DigitalInputCounter &obj)
 
const String ConfigSchema (const DigitalInputDebounceCounter &obj)
 
bool ConfigRequiresRestart (const DigitalInputDebounceCounter &obj)
 
const String ConfigSchema (const DigitalInputState &obj)
 
template<typename T >
void connect_system_info_sensor (std::shared_ptr< ValueProducer< T > > &sensor, const String &prefix, const String &name)
 Connect a system information sensor to SKOutput.
 
const String ConfigSchema (const SKListener &obj)
 
template<typename T >
const String ConfigSchema (const SKOutput< T > &obj)
 
template<typename T >
bool ConfigRequiresRestart (const SKOutput< T > &obj)
 
template<typename T >
const String ConfigSchema (const SKPutRequest< T > &obj)
 
const String ConfigSchema (const SKOutputTime &obj)
 
TofuCaptureDecision tofu_decide_capture (bool has_leaf_anchor, bool leaf_matches_anchor, bool ca_present, bool leaf_has_identity)
 
bool should_clear_token_on_status (bool ssl_enabled, int handshake_status)
 Called when the websocket connection encounters an error.
 
const String ConfigSchema (const SKWSClient &obj)
 
bool ConfigRequiresRestart (const SKWSClient &obj)
 
bool sk_delta_exceeds_ws_buffer (size_t delta_length, size_t buffer_size)
 True if a delta is too large to hand to esp_websocket_client as a single tx chunk, so send_delta drops it to keep the connection alive.
 
uint8_t gamma_correct (uint8_t value)
 Apply gamma correction to an 8-bit value.
 
uint8_t apply_brightness (uint8_t value, uint8_t brightness)
 Apply gamma correction and brightness scaling to a color value.
 
uint8_t rgb_to_luminance (uint8_t r, uint8_t g, uint8_t b)
 Convert RGB color to perceptual luminance.
 
CRGB blend (const CRGB &p1, const CRGB &p2, uint8_t amountOfP2)
 Linear interpolation (blend) between two colors.
 
void Sha1 (const String &payload_str, uint8_t *hash_output)
 SHA-1 hash function.
 
String MD5 (const String &payload_str)
 MD5 hash function.
 
String Base64Sha1 (const String &payload_str)
 A base64-encoded SHA-1 hash function.
 
LEDPatternFragment frag_solid_color (uint32_t duration_ms, const CRGB &color)
 
LEDPatternFragment frag_linear_fade (uint32_t duration_ms, uint32_t fade_duration_ms, const CRGB &target_color)
 
LEDPatternFragment frag_linear_invert (uint32_t duration_ms, bool reverse)
 
LEDPatternFragment frag_blend (uint32_t duration_ms, const CRGB &target_color, bool reverse)
 
LEDPatternFragment frag_nop (uint32_t duration_ms)
 
template<class T >
bool operator== (ObservableValue< T > const &lhs, T const &rhs)
 
template<class T >
bool operator!= (ObservableValue< T > const &lhs, T const &rhs)
 
template<class T >
const String ConfigSchema (const PersistingObservableValue< T > &obj)
 
void begin_reset_info ()
 Reset-cause and pre-reset heap diagnostics for the status page.
 
const char * reset_reason_str ()
 
uint32_t min_free_heap_before_reset ()
 
void update_min_free_heap_watermark ()
 
const String ConfigSchema (const RgbLed &obj)
 
String generate_uuid4 ()
 Generate a random UUIDv4 string.
 
const String ConfigSchema (const AnalogVoltage &obj)
 
const String ConfigSchema (const AngleCorrection &obj)
 
const String ConfigSchema (ChangeFilter &obj)
 
const String ConfigSchema (const ClickType &obj)
 
const char * ConfigSchema (const CurveInterpolator &obj)
 
template<typename T >
const String ConfigSchema (const Debounce< T > &obj)
 
template<typename U >
const String ConfigSchema (const Enable< U > &obj)
 
const String ConfigSchema (const Frequency &obj)
 
template<typename T >
const String ConfigSchema (const Integrator< T, T > &obj)
 
template<class IN , class OUT >
const String ConfigSchema (const LambdaTransform< IN, OUT > &obj)
 
template<class IN , class OUT , class P1 >
const String ConfigSchema (const LambdaTransform< IN, OUT, P1 > &obj)
 
template<class IN , class OUT , class P1 , class P2 >
const String ConfigSchema (const LambdaTransform< IN, OUT, P1, P2 > &obj)
 
template<class IN , class OUT , class P1 , class P2 , class P3 >
const String ConfigSchema (const LambdaTransform< IN, OUT, P1, P2, P3 > &obj)
 
template<class IN , class OUT , class P1 , class P2 , class P3 , class P4 >
const String ConfigSchema (const LambdaTransform< IN, OUT, P1, P2, P3, P4 > &obj)
 
template<class IN , class OUT , class P1 , class P2 , class P3 , class P4 , class P5 >
const String ConfigSchema (const LambdaTransform< IN, OUT, P1, P2, P3, P4, P5 > *obj)
 
template<class IN , class OUT , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 >
const String ConfigSchema (const LambdaTransform< IN, OUT, P1, P2, P3, P4, P5, P6 > *obj)
 
const String ConfigSchema (const Median &obj)
 
bool ConfigRequiresRestart (const Median &obj)
 
const String ConfigSchema (const MovingAverage &obj)
 
bool ConfigRequiresRestart (const MovingAverage &obj)
 
const String ConfigSchema (const PressRepeater &obj)
 
const String ConfigSchema (const ThresholdTransform< float > &obj)
 
const String ConfigSchema (const ThresholdTransform< int > &obj)
 
uint64_t ARDUINO_ISR_ATTR millis64 ()
 
template<typename U >
const String ConfigSchema (TimeCounter< U > &obj)
 
const String ConfigSchema (const VoltageMultiplier &obj)
 
const String ConfigSchema (const VoltageDividerR1 &obj)
 
const String ConfigSchema (const VoltageDividerR2 &obj)
 
template<typename T >
void convertFromJson (JsonVariantConst src, Nullable< T > &dst)
 
template<typename T >
void convertToJson (const Nullable< T > &src, JsonVariant dst)
 
void convertFromJson (JsonVariantConst src, Position &dst)
 Adds support in ArduinoJson to deserialize Position type data.
 
void convertFromJson (JsonVariantConst src, ENUVector &dst)
 
void convertFromJson (JsonVariantConst src, AttitudeVector &dst)
 
bool canConvertFromJson (JsonVariantConst src, const Position &)
 Tells ArduinoJson whether the given JSON is a Position or not.
 
bool canConvertFromJson (JsonVariantConst src, const ENUVector &)
 
bool canConvertFromJson (JsonVariantConst src, const AttitudeVector &)
 
void convertToJson (const Position &src, JsonVariant dst)
 
void convertToJson (const ENUVector &src, JsonVariant dst)
 
void convertToJson (const AttitudeVector &src, JsonVariant dst)
 
template<>
const char * get_schema_type_string (const int)
 
template<>
const char * get_schema_type_string (const float)
 
template<>
const char * get_schema_type_string (const String &)
 
template<>
const char * get_schema_type_string (const bool)
 
template<class T >
const char * get_schema_type_string (const T dummy)
 
template<>
const char * get_schema_type_string (const int dummy)
 
template<>
const char * get_schema_type_string (const float dummy)
 
template<>
const char * get_schema_type_string (const String &dummy)
 
template<>
const char * get_schema_type_string (const bool dummy)
 
const String ConfigSchema (const std::nullptr_t &obj)
 Provide a configuration schema for a ConfigItemT<nullptr>.
 
template<typename T >
bool ConfigRequiresRestart (const T &obj)
 
template<typename T >
bool ConfigRequiresRestart (const std::shared_ptr< T > &obj)
 
template<typename T >
std::shared_ptr< ConfigItemT< T > > ConfigItem (std::shared_ptr< T > config_object)
 Register a ConfigItemT with the ConfigItemBase.
 
template<typename T >
std::shared_ptr< ConfigItemT< T > > ConfigItem (T *config_object)
 Register a ConfigItemT, transferring ownership of a raw pointer.
 
const String ConfigSchema (const StringConfig &obj)
 
const String ConfigSchema (const NumberConfig &obj)
 
const String ConfigSchema (const CheckboxConfig &obj)
 
const String ConfigSchema (const SelectConfig &obj)
 
void SetupLogging (esp_log_level_t default_level=ESP_LOG_DEBUG)
 
void SetupSerialDebug (uint32_t baudrate)
 

Variables

constexpr NetworkState kNetworkNoConnection = NetworkState::kWifiNoAP
 
constexpr NetworkState kNetworkDisconnected = NetworkState::kWifiDisconnected
 
constexpr NetworkState kNetworkConnected = NetworkState::kWifiConnectedToAP
 
constexpr NetworkState kNetworkAPMode = NetworkState::kWifiAPModeActivated
 
constexpr NetworkState kNetworkProvisioning
 
const StaticFileData kFrontendFiles []
 
const char kContentType [] = "Content-Type"
 
const char kContentEncoding [] = "Content-Encoding"
 
constexpr int kMaxNumClientConfigs = 3
 
const char *const kSensESPVersion = "3.4.1-alpha"
 
constexpr int kWsClientTaskStackSize = 8192
 
constexpr int kWsTransportTaskStackSize = 6144
 
constexpr TickType_t kWsSendTimeoutTicks = pdMS_TO_TICKS(5000)
 
constexpr TickType_t kWsDeltaSendTimeoutTicks = 0
 
constexpr uint32_t kOversizeDropLogIntervalMs = 10000
 
SKWSClientws_client
 
constexpr uint8_t kGammaTable [256]
 Gamma correction lookup table (γ=2.2, inverted).
 
constexpr size_t kLogCaptureLineMax = 256
 Maximum captured line length, and the size of each queue slot's text.
 
constexpr size_t kLogCaptureQueueDepth = 8
 
constexpr uint32_t kLogCaptureTaskStackSize = 3072
 
constexpr UBaseType_t kLogCaptureTaskPriority = 1
 
constexpr size_t kLogCaptureMinHeadroomBytes = 8192
 
constexpr int kPWMResolution = 13
 
LEDPattern no_ap_pattern
 
LEDPattern wifi_disconnected_pattern
 
LEDPattern wifi_connected_pattern
 
LEDPattern ws_connecting_pattern
 
LEDPattern ws_connected_pattern
 
LEDPattern ws_disconnected_pattern
 
LEDPattern ws_authorizing_pattern
 
LEDPattern blip_pattern
 
constexpr int kMaxAnalogOutput = 4096
 
constexpr double kPi = 3.14159265358979323846
 
const ParamInfo hysteresis_param_info [4]
 
constexpr double kInvalidDouble = std::numeric_limits<double>::lowest()
 Value used to indicate an invalid or missing altitude.
 
constexpr float kPositionInvalidAltitude = std::numeric_limits<float>::lowest()
 
constexpr char kUIOutputDefaultGroup [] = "Default"
 
constexpr int kUIOutputDefaultOrder = 1000
 
std::shared_ptr< SensESPAppsensesp_app
 
constexpr const char * kDefaultSystemInfoSensorPrefix = "sensorDevice."
 
constexpr auto kDefaultHostname = "SensESP"
 

Typedef Documentation

◆ Accumulator

typedef Integrator<int, int> sensesp::Accumulator

Definition at line 64 of file integrator.h.

◆ AnalogReader

Definition at line 27 of file analog_reader.h.

◆ BoolConstantSensor

Definition at line 118 of file constant_sensor.h.

◆ BoolConsumer

Definition at line 49 of file valueconsumer.h.

◆ BooleanTransform

Definition at line 116 of file transform.h.

◆ BoolProducer

Definition at line 104 of file valueproducer.h.

◆ BoolSensor

typedef Sensor<bool> sensesp::BoolSensor

Definition at line 49 of file sensor.h.

◆ BoolSKListener

Definition at line 39 of file signalk_value_listener.h.

◆ BoolSKPutRequest

Definition at line 186 of file signalk_put_request.h.

◆ BoolSKPutRequestListener

◆ BoolToInt

typedef Typecast<bool, int> sensesp::BoolToInt

Definition at line 43 of file typecast.h.

◆ DebounceBool

Definition at line 87 of file debounce.h.

◆ DebounceFloat

Definition at line 89 of file debounce.h.

◆ DebounceInt

Definition at line 88 of file debounce.h.

◆ FloatConstantSensor

Definition at line 116 of file constant_sensor.h.

◆ FloatConsumer

Definition at line 47 of file valueconsumer.h.

◆ FloatIntegrator

typedef Integrator<float, float> sensesp::FloatIntegrator

Definition at line 63 of file integrator.h.

◆ FloatProducer

Definition at line 102 of file valueproducer.h.

◆ FloatSensor

typedef Sensor<float> sensesp::FloatSensor

Definition at line 47 of file sensor.h.

◆ FloatSKListener

Definition at line 37 of file signalk_value_listener.h.

◆ FloatSKPutRequest

Definition at line 184 of file signalk_put_request.h.

◆ FloatSKPutRequestListener

◆ FloatThreshold

Definition at line 73 of file threshold.h.

◆ FloatToInt

typedef Typecast<float, int> sensesp::FloatToInt

Definition at line 46 of file typecast.h.

◆ FloatTransform

Definition at line 114 of file transform.h.

◆ FragmentCallback

using sensesp::FragmentCallback = typedef std::function<void(uint32_t, CRGB&)>

Definition at line 100 of file led_blinker.h.

◆ IntConstantSensor

Definition at line 117 of file constant_sensor.h.

◆ IntConsumer

Definition at line 48 of file valueconsumer.h.

◆ IntegerTransform

Definition at line 115 of file transform.h.

◆ IntProducer

Definition at line 103 of file valueproducer.h.

◆ IntSensor

typedef Sensor<int> sensesp::IntSensor

Definition at line 48 of file sensor.h.

◆ IntSKListener

Definition at line 38 of file signalk_value_listener.h.

◆ IntSKPutRequest

Definition at line 185 of file signalk_put_request.h.

◆ IntSKPutRequestListener

◆ IntThreshold

Definition at line 74 of file threshold.h.

◆ IntToBool

typedef Typecast<int, bool> sensesp::IntToBool

Definition at line 42 of file typecast.h.

◆ IntToFloat

typedef Typecast<int, float> sensesp::IntToFloat

Definition at line 45 of file typecast.h.

◆ Networking

Deprecated:
Use WiFiProvisioner directly, or NetworkProvisioner if transport-agnostic. Kept as a typedef so existing user code continues to compile.

Definition at line 41 of file networking.h.

◆ NetworkState

Transport-agnostic network state.

Replaces the WiFi-specific WiFiState enum with values that any transport (WiFi, Ethernet, ESP-Hosted, future PPP/cellular, …) can produce. The legacy WiFiState enum is kept as a strong alias of NetworkState in wifi_state.h, and existing user code that uses the old kWifi* member names continues to compile unchanged.

Semantic mapping (new neutral name → existing kWifi* alias): kNoConnection ↔ kWifiNoAP kDisconnected ↔ kWifiDisconnected kConnected ↔ kWifiConnectedToAP (interface has a routable IP) kAPMode ↔ kWifiAPModeActivated (WiFi-only soft-AP fallback) kProvisioning ↔ kWifiManagerActivated (interactive provisioner)

Non-WiFi provisioners must never emit kAPMode or kProvisioning.

Definition at line 29 of file network_state.h.

◆ NullableBool

Definition at line 122 of file nullable.h.

◆ NullableDouble

Definition at line 121 of file nullable.h.

◆ NullableFloat

Definition at line 120 of file nullable.h.

◆ NullableInt

Definition at line 119 of file nullable.h.

◆ SKOutputAttitudeVector

◆ SKOutputBool

Definition at line 135 of file signalk_output.h.

◆ SKOutputENUVector

Definition at line 21 of file signalk_types.h.

◆ SKOutputFloat

Definition at line 133 of file signalk_output.h.

◆ SKOutputInt

Definition at line 134 of file signalk_output.h.

◆ SKOutputPosition

Definition at line 20 of file signalk_types.h.

◆ SKOutputString

Definition at line 136 of file signalk_output.h.

◆ StringConstantSensor

Definition at line 119 of file constant_sensor.h.

◆ StringConsumer

Definition at line 50 of file valueconsumer.h.

◆ StringProducer

Definition at line 105 of file valueproducer.h.

◆ StringSensor

typedef Sensor<String> sensesp::StringSensor

Definition at line 50 of file sensor.h.

◆ StringSKListener

Definition at line 40 of file signalk_value_listener.h.

◆ StringSKPutRequest

Definition at line 187 of file signalk_put_request.h.

◆ StringSKPutRequestListener

◆ StringTransform

Definition at line 117 of file transform.h.

◆ void_cb_func

typedef std::function<void()> sensesp::void_cb_func

Definition at line 21 of file sensesp.h.

◆ WifiState

using sensesp::WifiState = typedef WiFiState

Definition at line 15 of file wifi_state.h.

◆ WiFiStateProducer

Deprecated:
Use NetworkStateProducer directly. Kept so code that references the WiFiStateProducer type by name continues to compile.

Definition at line 45 of file networking.h.

Enumeration Type Documentation

◆ AsyncResponseStatus

enum class sensesp::AsyncResponseStatus
strong
Enumerator
kReady 
kPending 
kSuccess 
kFailure 
kTimeout 

Definition at line 13 of file async_response_handler.h.

◆ ClickTypes

enum class sensesp::ClickTypes
strong

ClickTypes defines the types of clicks and button presses a ClickType transform can detect

Enumerator
ButtonPress 
ButtonRelease 
SingleClick 
LongSingleClick 
UltraLongSingleClick 
DoubleClick 

Definition at line 15 of file click_type.h.

◆ SelectType

enum class sensesp::SelectType
strong
Enumerator
kUndefined 
kCheckbox 
kSelect 

Definition at line 80 of file ui_controls.h.

◆ SKWSConnectionState

enum class sensesp::SKWSConnectionState
strong
Enumerator
kSKWSDisconnected 
kSKWSAuthorizing 
kSKWSConnecting 
kSKWSConnected 
kSKWSCertificateError 

Definition at line 66 of file signalk_ws_client.h.

◆ SystemStatus

enum class sensesp::SystemStatus
strong
Enumerator
kWifiNoAP 
kWifiDisconnected 
kWifiManagerActivated 
kSKWSDisconnected 
kSKWSAuthorizing 
kSKWSConnecting 
kSKWSConnected 

Definition at line 11 of file system_status_controller.h.

◆ TofuCaptureDecision

enum class sensesp::TofuCaptureDecision
strong

Capture-mode decision for TOFU certificate pinning.

Pure and dependency-free (no mbedTLS, no Arduino) so it can be unit-tested on the host. Captures the security-relevant branching of the verify callback in one place; the callback supplies the booleans from the presented chain and acts on the result.

Enumerator
kAccept 

leaf matches the stored fingerprint; nothing to capture

kReject 

leaf does not match the stored fingerprint

kCaptureLeaf 

first use, no usable CA in the chain: pin the leaf

kCaptureCa 

first use, usable CA present: pin the CA

Definition at line 14 of file signalk_tofu.h.

◆ WiFiState

enum class sensesp::WiFiState
strong
Enumerator
kWifiNoAP 
kWifiDisconnected 
kWifiConnectedToAP 
kWifiManagerActivated 
kWifiAPModeActivated 

Definition at line 6 of file wifi_state.h.

Function Documentation

◆ add_app_http_command_handlers()

void sensesp::add_app_http_command_handlers ( std::shared_ptr< HTTPServer > &  server,
std::shared_ptr< WiFiProvisioner wifi_provisioner 
)

Register the WiFi-only command handlers (network scan + TOFU reset). Should only be called when WiFi is the active network provisioner. wifi_provisioner is taken by value so callers can pass the result of SensESPApp::get_wifi_provisioner() (which returns a temporary).

Definition at line 73 of file app_command_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_base_app_http_command_handlers()

void sensesp::add_base_app_http_command_handlers ( std::shared_ptr< HTTPServer > &  server)

Definition at line 262 of file base_command_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_config_get_handler()

void sensesp::add_config_get_handler ( std::shared_ptr< HTTPServer > &  server)

Definition at line 102 of file config_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_config_handlers()

void sensesp::add_config_handlers ( std::shared_ptr< HTTPServer > &  server)

Handle HTTP requests to /config.

This class handles HTTP requests to /config. It is used by the HTTPServer to provide a RESTful API for configuring Configurable objects.

Definition at line 227 of file config_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_config_list_handler()

void sensesp::add_config_list_handler ( std::shared_ptr< HTTPServer > &  server)

Definition at line 96 of file config_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_config_put_handler()

void sensesp::add_config_put_handler ( std::shared_ptr< HTTPServer > &  server)

Definition at line 146 of file config_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_http_info_handler()

void sensesp::add_http_info_handler ( std::shared_ptr< HTTPServer > &  server)

Definition at line 93 of file base_command_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_http_log_handler()

void sensesp::add_http_log_handler ( std::shared_ptr< HTTPServer > &  server)

Definition at line 141 of file base_command_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_http_reset_handler()

void sensesp::add_http_reset_handler ( std::shared_ptr< HTTPServer > &  server)

Definition at line 64 of file base_command_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_http_restart_handler()

void sensesp::add_http_restart_handler ( std::shared_ptr< HTTPServer > &  server)

Definition at line 80 of file base_command_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ add_routes_handlers()

void sensesp::add_routes_handlers ( std::shared_ptr< HTTPServer > &  server)

Definition at line 199 of file base_command_handler.cpp.

Here is the caller graph for this function:

◆ add_scan_wifi_networks_handlers()

void sensesp::add_scan_wifi_networks_handlers ( std::shared_ptr< HTTPServer > &  server,
std::shared_ptr< WiFiProvisioner wifi_provisioner 
)

Definition at line 28 of file app_command_handler.cpp.

Here is the caller graph for this function:

◆ add_static_file_handlers()

void sensesp::add_static_file_handlers ( std::shared_ptr< HTTPServer server)

Provide handlers for static web content.

Definition at line 7 of file static_file_handler.cpp.

Here is the caller graph for this function:

◆ add_tofu_reset_handler()

void sensesp::add_tofu_reset_handler ( std::shared_ptr< HTTPServer > &  server)

Register the transport-agnostic Signal K TOFU reset handler. Safe to call regardless of which network provisioner is active.

Definition at line 10 of file app_command_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ apply_brightness()

uint8_t sensesp::apply_brightness ( uint8_t  value,
uint8_t  brightness 
)
inline

Apply gamma correction and brightness scaling to a color value.

Gamma correction is applied first to ensure perceptually correct colors, then brightness scaling is applied as a linear dimming factor.

Parameters
valueColor value (0-255)
brightnessBrightness scale (0-255), where 255 = full brightness
Returns
Scaled value (0-255)

Definition at line 111 of file crgb.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Base64Sha1()

String sensesp::Base64Sha1 ( const String &  payload_str)

A base64-encoded SHA-1 hash function.

For filesystem compatibility, the output string is further scrubbed to replace "/" with "_".

Parameters
payload_str
Returns
String

Definition at line 80 of file hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ begin_reset_info()

void sensesp::begin_reset_info ( )

Reset-cause and pre-reset heap diagnostics for the status page.

begin_reset_info() records esp_reset_reason() (why the last boot happened) and, from a value carried across the reset in RTC memory, the lowest free heap the previous boot reached before it ended. Together these distinguish a crash (Panic/abort) from a watchdog, a brownout, or a deliberate software restart, and show whether the heap was exhausted – diagnosable remotely over /api/info, without a serial console.

The watermark lives in RTC_NOINIT memory, which survives software reset, panic, and watchdog resets but not a power cycle. A magic number guards it so a cold boot reports "unknown" rather than uninitialised garbage. Record the reset reason and the previous boot's heap watermark, then re-arm the watermark for this boot. Call once, early in setup().

Definition at line 22 of file reset_info.cpp.

Here is the caller graph for this function:

◆ blend()

CRGB sensesp::blend ( const CRGB p1,
const CRGB p2,
uint8_t  amountOfP2 
)
inline

Linear interpolation (blend) between two colors.

Parameters
p1First color (returned when amountOfP2 == 0)
p2Second color (returned when amountOfP2 == 255)
amountOfP2Blend amount: 0 = 100% p1, 255 = 100% p2
Returns
Blended color

Definition at line 140 of file crgb.h.

Here is the caller graph for this function:

◆ call_request_dispatcher()

esp_err_t sensesp::call_request_dispatcher ( httpd_req_t *  req)

Definition at line 187 of file http_server.cpp.

◆ canConvertFromJson() [1/3]

bool sensesp::canConvertFromJson ( JsonVariantConst  src,
const AttitudeVector  
)

Definition at line 39 of file position.cpp.

◆ canConvertFromJson() [2/3]

bool sensesp::canConvertFromJson ( JsonVariantConst  src,
const ENUVector  
)

Definition at line 35 of file position.cpp.

◆ canConvertFromJson() [3/3]

bool sensesp::canConvertFromJson ( JsonVariantConst  src,
const Position  
)

Tells ArduinoJson whether the given JSON is a Position or not.

This function is automatically called by ArduinoJson whenever it has to convert a JSON to a Position struct.

Parameters
srcA JSON document
Returns
true if the given JSON contains "latitude" and "longitude" keys
false if the given JSON doesn't contain "latitude" or "longitude" keys

Definition at line 31 of file position.cpp.

◆ ConfigItem() [1/2]

template<typename T >
std::shared_ptr< ConfigItemT< T > > sensesp::ConfigItem ( std::shared_ptr< T >  config_object)

Register a ConfigItemT with the ConfigItemBase.

Note, this function only exists to avoid having to provide the template argument when creating a ConfigItemT. It should be possible to remove it once C++17 is supported.

Template Parameters
T
Parameters
config_object
title
description
sort_order
Returns
T*

Definition at line 305 of file config_item.h.

Here is the caller graph for this function:

◆ ConfigItem() [2/2]

template<typename T >
std::shared_ptr< ConfigItemT< T > > sensesp::ConfigItem ( T *  config_object)

Register a ConfigItemT, transferring ownership of a raw pointer.

Convenience overload for the new T(...) idiom used throughout the examples. It wraps config_object in a std::shared_ptr and registers it, so the configuration registry becomes the sole owner.

Warning
This overload TAKES OWNERSHIP. The caller must pass a pointer that is not owned by anyone else: allocate it with new and never delete it, never wrap it in another std::shared_ptr, and never pass a pointer to a stack or member object. Violating this causes a double free. When in doubt, use the std::shared_ptr<T> overload and keep ownership explicit.

The raw-pointer ownership model is a v3 carry-over; the planned v4 ownership refactor (#900) removes it. See #893.

Definition at line 331 of file config_item.h.

Here is the call graph for this function:

◆ ConfigRequiresRestart() [1/12]

bool sensesp::ConfigRequiresRestart ( const AnalogInput obj)
inline

Definition at line 70 of file analog_input.h.

◆ ConfigRequiresRestart() [2/12]

bool sensesp::ConfigRequiresRestart ( const DigitalInputCounter obj)

Definition at line 85 of file digital_input.cpp.

◆ ConfigRequiresRestart() [3/12]

bool sensesp::ConfigRequiresRestart ( const DigitalInputDebounceCounter obj)

Definition at line 93 of file digital_input.cpp.

◆ ConfigRequiresRestart() [4/12]

bool sensesp::ConfigRequiresRestart ( const DigitalInputState obj)

Definition at line 77 of file digital_input.cpp.

◆ ConfigRequiresRestart() [5/12]

bool sensesp::ConfigRequiresRestart ( const HTTPServer obj)
inline

Definition at line 239 of file http_server.h.

Here is the caller graph for this function:

◆ ConfigRequiresRestart() [6/12]

bool sensesp::ConfigRequiresRestart ( const Median obj)
inline

Definition at line 35 of file median.h.

◆ ConfigRequiresRestart() [7/12]

bool sensesp::ConfigRequiresRestart ( const MovingAverage obj)
inline

Definition at line 53 of file moving_average.h.

◆ ConfigRequiresRestart() [8/12]

template<typename T >
bool sensesp::ConfigRequiresRestart ( const SKOutput< T > &  obj)

Definition at line 88 of file signalk_output.h.

◆ ConfigRequiresRestart() [9/12]

bool sensesp::ConfigRequiresRestart ( const SKWSClient obj)
inline

Definition at line 543 of file signalk_ws_client.h.

◆ ConfigRequiresRestart() [10/12]

template<typename T >
bool sensesp::ConfigRequiresRestart ( const std::shared_ptr< T > &  obj)

Definition at line 57 of file config_item.h.

Here is the call graph for this function:

◆ ConfigRequiresRestart() [11/12]

template<typename T >
bool sensesp::ConfigRequiresRestart ( const T &  obj)

Definition at line 52 of file config_item.h.

◆ ConfigRequiresRestart() [12/12]

bool sensesp::ConfigRequiresRestart ( const WiFiProvisioner obj)
inline

Definition at line 230 of file wifi_provisioner.h.

◆ ConfigSchema() [1/46]

const String sensesp::ConfigSchema ( AnalogInput obj)

Definition at line 40 of file analog_input.cpp.

◆ ConfigSchema() [2/46]

const String sensesp::ConfigSchema ( ChangeFilter obj)

Definition at line 48 of file change_filter.cpp.

◆ ConfigSchema() [3/46]

const String sensesp::ConfigSchema ( const AnalogVoltage obj)

Definition at line 39 of file analogvoltage.cpp.

◆ ConfigSchema() [4/46]

const String sensesp::ConfigSchema ( const AngleCorrection obj)

Definition at line 43 of file angle_correction.cpp.

◆ ConfigSchema() [5/46]

const String sensesp::ConfigSchema ( const CheckboxConfig obj)
inline

Definition at line 74 of file ui_controls.h.

◆ ConfigSchema() [6/46]

const String sensesp::ConfigSchema ( const ClickType obj)

Definition at line 174 of file click_type.cpp.

◆ ConfigSchema() [7/46]

template<typename T >
const String sensesp::ConfigSchema ( const ConstantSensor< T > &  obj)

Definition at line 105 of file constant_sensor.h.

Here is the call graph for this function:

◆ ConfigSchema() [8/46]

const char * sensesp::ConfigSchema ( const CurveInterpolator obj)
inline

Definition at line 91 of file curveinterpolator.h.

◆ ConfigSchema() [9/46]

template<typename T >
const String sensesp::ConfigSchema ( const Debounce< T > &  obj)

Definition at line 83 of file debounce.h.

◆ ConfigSchema() [10/46]

const String sensesp::ConfigSchema ( const DigitalInputCounter obj)

Definition at line 81 of file digital_input.cpp.

◆ ConfigSchema() [11/46]

const String sensesp::ConfigSchema ( const DigitalInputDebounceCounter obj)

Definition at line 89 of file digital_input.cpp.

◆ ConfigSchema() [12/46]

const String sensesp::ConfigSchema ( const DigitalInputState obj)

◆ ConfigSchema() [13/46]

template<typename U >
const String sensesp::ConfigSchema ( const Enable< U > &  obj)

Definition at line 49 of file enable.h.

◆ ConfigSchema() [14/46]

const String sensesp::ConfigSchema ( const Frequency obj)

Definition at line 42 of file frequency.cpp.

◆ ConfigSchema() [15/46]

const String sensesp::ConfigSchema ( const HTTPServer obj)
inline

Definition at line 235 of file http_server.h.

◆ ConfigSchema() [16/46]

template<typename T >
const String sensesp::ConfigSchema ( const Integrator< T, T > &  obj)

Definition at line 59 of file integrator.h.

◆ ConfigSchema() [17/46]

template<class IN , class OUT >
const String sensesp::ConfigSchema ( const LambdaTransform< IN, OUT > &  obj)

Definition at line 281 of file lambda_transform.h.

◆ ConfigSchema() [18/46]

template<class IN , class OUT , class P1 >
const String sensesp::ConfigSchema ( const LambdaTransform< IN, OUT, P1 > &  obj)

Definition at line 288 of file lambda_transform.h.

Here is the call graph for this function:

◆ ConfigSchema() [19/46]

template<class IN , class OUT , class P1 , class P2 >
const String sensesp::ConfigSchema ( const LambdaTransform< IN, OUT, P1, P2 > &  obj)

Definition at line 300 of file lambda_transform.h.

Here is the call graph for this function:

◆ ConfigSchema() [20/46]

template<class IN , class OUT , class P1 , class P2 , class P3 >
const String sensesp::ConfigSchema ( const LambdaTransform< IN, OUT, P1, P2, P3 > &  obj)

Definition at line 317 of file lambda_transform.h.

Here is the call graph for this function:

◆ ConfigSchema() [21/46]

template<class IN , class OUT , class P1 , class P2 , class P3 , class P4 >
const String sensesp::ConfigSchema ( const LambdaTransform< IN, OUT, P1, P2, P3, P4 > &  obj)

Definition at line 339 of file lambda_transform.h.

Here is the call graph for this function:

◆ ConfigSchema() [22/46]

template<class IN , class OUT , class P1 , class P2 , class P3 , class P4 , class P5 >
const String sensesp::ConfigSchema ( const LambdaTransform< IN, OUT, P1, P2, P3, P4, P5 > *  obj)

Definition at line 365 of file lambda_transform.h.

Here is the call graph for this function:

◆ ConfigSchema() [23/46]

template<class IN , class OUT , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 >
const String sensesp::ConfigSchema ( const LambdaTransform< IN, OUT, P1, P2, P3, P4, P5, P6 > *  obj)

Definition at line 397 of file lambda_transform.h.

Here is the call graph for this function:

◆ ConfigSchema() [24/46]

const String sensesp::ConfigSchema ( const Median obj)

Definition at line 45 of file median.cpp.

◆ ConfigSchema() [25/46]

const String sensesp::ConfigSchema ( const MovingAverage obj)

Definition at line 60 of file moving_average.cpp.

◆ ConfigSchema() [26/46]

const String sensesp::ConfigSchema ( const NumberConfig obj)
inline

Definition at line 49 of file ui_controls.h.

◆ ConfigSchema() [27/46]

template<class T >
const String sensesp::ConfigSchema ( const PersistingObservableValue< T > &  obj)

Definition at line 134 of file observablevalue.h.

Here is the call graph for this function:

◆ ConfigSchema() [28/46]

const String sensesp::ConfigSchema ( const PressRepeater obj)

Definition at line 66 of file press_repeater.cpp.

◆ ConfigSchema() [29/46]

const String sensesp::ConfigSchema ( const RgbLed obj)

Definition at line 74 of file rgb_led.cpp.

◆ ConfigSchema() [30/46]

const String sensesp::ConfigSchema ( const SelectConfig obj)
inline

Definition at line 112 of file ui_controls.h.

◆ ConfigSchema() [31/46]

const String sensesp::ConfigSchema ( const SKListener obj)

Definition at line 62 of file signalk_listener.cpp.

◆ ConfigSchema() [32/46]

template<typename T >
const String sensesp::ConfigSchema ( const SKOutput< T > &  obj)

Definition at line 83 of file signalk_output.h.

◆ ConfigSchema() [33/46]

const String sensesp::ConfigSchema ( const SKOutputTime obj)

Definition at line 32 of file signalk_time.cpp.

◆ ConfigSchema() [34/46]

template<typename T >
const String sensesp::ConfigSchema ( const SKPutRequest< T > &  obj)

Definition at line 179 of file signalk_put_request.h.

◆ ConfigSchema() [35/46]

const String sensesp::ConfigSchema ( const SKWSClient obj)
inline

Definition at line 531 of file signalk_ws_client.h.

◆ ConfigSchema() [36/46]

const String sensesp::ConfigSchema ( const SmartSwitchController obj)
inline

Definition at line 133 of file smart_switch_controller.h.

Here is the caller graph for this function:

◆ ConfigSchema() [37/46]

const String sensesp::ConfigSchema ( const std::nullptr_t &  obj)
inline

Provide a configuration schema for a ConfigItemT<nullptr>.

For this to work, an overload or a specialization of this function must be provided for each type T that is used in a ConfigItemT<T>.

Template Parameters
T
Parameters
obj
Returns
const char*

Definition at line 47 of file config_item.h.

◆ ConfigSchema() [38/46]

const String sensesp::ConfigSchema ( const StringConfig obj)
inline

Definition at line 27 of file ui_controls.h.

◆ ConfigSchema() [39/46]

const String sensesp::ConfigSchema ( const ThresholdTransform< float > &  obj)

Definition at line 8 of file threshold.cpp.

◆ ConfigSchema() [40/46]

const String sensesp::ConfigSchema ( const ThresholdTransform< int > &  obj)

Definition at line 14 of file threshold.cpp.

◆ ConfigSchema() [41/46]

const String sensesp::ConfigSchema ( const VoltageDividerR1 obj)

Definition at line 40 of file voltagedivider.cpp.

◆ ConfigSchema() [42/46]

const String sensesp::ConfigSchema ( const VoltageDividerR2 obj)

Definition at line 79 of file voltagedivider.cpp.

◆ ConfigSchema() [43/46]

const String sensesp::ConfigSchema ( const VoltageMultiplier obj)

Definition at line 32 of file voltage_multiplier.cpp.

◆ ConfigSchema() [44/46]

const String sensesp::ConfigSchema ( const WiFiProvisioner obj)
inline

Definition at line 228 of file wifi_provisioner.h.

◆ ConfigSchema() [45/46]

const String sensesp::ConfigSchema ( DigitalInputState obj)

Definition at line 73 of file digital_input.cpp.

◆ ConfigSchema() [46/46]

template<typename U >
const String sensesp::ConfigSchema ( TimeCounter< U > &  obj)

Definition at line 95 of file time_counter.h.

◆ ConfigSchemaSensorType()

template<typename T >
const String sensesp::ConfigSchemaSensorType ( const T &  obj)

Definition at line 84 of file constant_sensor.h.

Here is the caller graph for this function:

◆ ConfigSchemaSensorType< bool >()

template<>
const String sensesp::ConfigSchemaSensorType< bool > ( const bool &  obj)

Definition at line 100 of file constant_sensor.h.

◆ ConfigSchemaSensorType< float >()

template<>
const String sensesp::ConfigSchemaSensorType< float > ( const float &  obj)

Definition at line 92 of file constant_sensor.h.

◆ ConfigSchemaSensorType< int >()

template<>
const String sensesp::ConfigSchemaSensorType< int > ( const int &  obj)

Definition at line 88 of file constant_sensor.h.

◆ ConfigSchemaSensorType< String >()

template<>
const String sensesp::ConfigSchemaSensorType< String > ( const String &  obj)

Definition at line 96 of file constant_sensor.h.

◆ connect_system_info_sensor()

template<typename T >
void sensesp::connect_system_info_sensor ( std::shared_ptr< ValueProducer< T > > &  sensor,
const String &  prefix,
const String &  name 
)

Connect a system information sensor to SKOutput.

Definition at line 18 of file system_info.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ convertFromJson() [1/4]

void sensesp::convertFromJson ( JsonVariantConst  src,
AttitudeVector dst 
)

Definition at line 25 of file position.cpp.

◆ convertFromJson() [2/4]

void sensesp::convertFromJson ( JsonVariantConst  src,
ENUVector dst 
)

Definition at line 16 of file position.cpp.

◆ convertFromJson() [3/4]

template<typename T >
void sensesp::convertFromJson ( JsonVariantConst  src,
Nullable< T > &  dst 
)

Definition at line 125 of file nullable.h.

Here is the call graph for this function:

◆ convertFromJson() [4/4]

void sensesp::convertFromJson ( JsonVariantConst  src,
Position dst 
)

Adds support in ArduinoJson to deserialize Position type data.

This is an ArduinoJson custom converter to convert position type data from JSON into a Position struct. The JSON data must at least contain "latitude" and "longitude", "altitude" is optional. ArduinoJson will automatically call this function whenever it has to convert a JSON to a Position struct. More info here: https://arduinojson.org/news/2021/05/04/version-6-18-0/

Parameters
srcThe JSON document containing the position data
dstThe address to a Position struct to write the data to

Definition at line 7 of file position.cpp.

◆ convertToJson() [1/4]

void sensesp::convertToJson ( const AttitudeVector src,
JsonVariant  dst 
)

Definition at line 65 of file position.cpp.

◆ convertToJson() [2/4]

void sensesp::convertToJson ( const ENUVector src,
JsonVariant  dst 
)

Definition at line 55 of file position.cpp.

◆ convertToJson() [3/4]

template<typename T >
void sensesp::convertToJson ( const Nullable< T > &  src,
JsonVariant  dst 
)

Definition at line 134 of file nullable.h.

Here is the call graph for this function:

◆ convertToJson() [4/4]

void sensesp::convertToJson ( const Position src,
JsonVariant  dst 
)

Definition at line 45 of file position.cpp.

◆ event_loop()

std::shared_ptr< reactesp::EventLoop > sensesp::event_loop ( )

Definition at line 9 of file sensesp.cpp.

Here is the call graph for this function:

◆ frag_blend()

LEDPatternFragment sensesp::frag_blend ( uint32_t  duration_ms,
const CRGB target_color,
bool  reverse 
)

Definition at line 59 of file led_blinker.cpp.

Here is the call graph for this function:

◆ frag_linear_fade()

LEDPatternFragment sensesp::frag_linear_fade ( uint32_t  duration_ms,
uint32_t  fade_duration_ms,
const CRGB target_color 
)

Definition at line 13 of file led_blinker.cpp.

Here is the call graph for this function:

◆ frag_linear_invert()

LEDPatternFragment sensesp::frag_linear_invert ( uint32_t  duration_ms,
bool  reverse 
)

Definition at line 41 of file led_blinker.cpp.

Here is the call graph for this function:

◆ frag_nop()

LEDPatternFragment sensesp::frag_nop ( uint32_t  duration_ms)

Definition at line 75 of file led_blinker.cpp.

◆ frag_solid_color()

LEDPatternFragment sensesp::frag_solid_color ( uint32_t  duration_ms,
const CRGB color 
)

Definition at line 8 of file led_blinker.cpp.

◆ gamma_correct()

uint8_t sensesp::gamma_correct ( uint8_t  value)
inline

Apply gamma correction to an 8-bit value.

LED brightness perception is non-linear - human eyes perceive brightness logarithmically. This function applies inverse gamma correction to boost low brightness values, making dim LEDs more visible.

Uses a lookup table for efficiency (called at 200Hz).

Parameters
valueLinear input value (0-255)
Returns
Gamma-corrected value (0-255)

Definition at line 49 of file crgb.h.

Here is the caller graph for this function:

◆ generate_uuid4()

String sensesp::generate_uuid4 ( )

Generate a random UUIDv4 string.

Returns
Formatted UUID string.

Definition at line 5 of file uuid.cpp.

Here is the caller graph for this function:

◆ get_content_type()

String sensesp::get_content_type ( httpd_req_t *  req)

Definition at line 192 of file http_server.cpp.

Here is the caller graph for this function:

◆ get_item_data()

bool sensesp::get_item_data ( JsonDocument &  doc,
const std::shared_ptr< ConfigItemBase > &  item 
)

Definition at line 24 of file config_handler.cpp.

Here is the caller graph for this function:

◆ get_random_hex_string()

String sensesp::get_random_hex_string ( )

Definition at line 5 of file http_authenticator.cpp.

Here is the caller graph for this function:

◆ get_schema_type_string() [1/9]

template<>
const char * sensesp::get_schema_type_string ( const bool  dummy)

Definition at line 25 of file config_item.cpp.

◆ get_schema_type_string() [2/9]

template<>
const char * sensesp::get_schema_type_string ( const bool  dummy)

Definition at line 25 of file config_item.cpp.

◆ get_schema_type_string() [3/9]

template<>
const char * sensesp::get_schema_type_string ( const float  dummy)

Definition at line 15 of file config_item.cpp.

◆ get_schema_type_string() [4/9]

template<>
const char * sensesp::get_schema_type_string ( const float  dummy)

Definition at line 15 of file config_item.cpp.

◆ get_schema_type_string() [5/9]

template<>
const char * sensesp::get_schema_type_string ( const int  dummy)

Definition at line 10 of file config_item.cpp.

Here is the caller graph for this function:

◆ get_schema_type_string() [6/9]

template<>
const char * sensesp::get_schema_type_string ( const int  dummy)

Definition at line 10 of file config_item.cpp.

Here is the caller graph for this function:

◆ get_schema_type_string() [7/9]

template<>
const char * sensesp::get_schema_type_string ( const String &  dummy)

Definition at line 20 of file config_item.cpp.

◆ get_schema_type_string() [8/9]

template<>
const char * sensesp::get_schema_type_string ( const String &  dummy)

Definition at line 20 of file config_item.cpp.

◆ get_schema_type_string() [9/9]

template<class T >
const char * sensesp::get_schema_type_string ( const T  dummy)

Convert the variable type to a string representation of the type using template specializations.

Definition at line 21 of file config_item.h.

◆ handle_config_item_list()

esp_err_t sensesp::handle_config_item_list ( httpd_req_t *  req)

Definition at line 52 of file config_handler.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MD5()

String sensesp::MD5 ( const String &  payload_str)

MD5 hash function.

Calculate an MD5 hash of the given payload.

Parameters
payload_str

Definition at line 45 of file hash.cpp.

Here is the caller graph for this function:

◆ millis64()

uint64_t ARDUINO_ISR_ATTR sensesp::millis64 ( )
inline

Definition at line 9 of file time_counter.h.

Here is the caller graph for this function:

◆ min_free_heap_before_reset()

uint32_t sensesp::min_free_heap_before_reset ( )

Lowest free heap (bytes) seen before the previous reset, or 0 if unknown (first boot after power-up, RTC contents not valid).

Definition at line 56 of file reset_info.cpp.

Here is the caller graph for this function:

◆ operator!=()

template<class T >
bool sensesp::operator!= ( ObservableValue< T > const &  lhs,
T const &  rhs 
)

Definition at line 21 of file observablevalue.h.

◆ operator==()

template<class T >
bool sensesp::operator== ( ObservableValue< T > const &  lhs,
T const &  rhs 
)

Definition at line 16 of file observablevalue.h.

◆ reset_reason_str()

const char * sensesp::reset_reason_str ( )

Human-readable reason for the most recent reset (e.g. "Panic/abort", "Task watchdog", "Brownout", "Software restart", "Power-on").

Definition at line 29 of file reset_info.cpp.

Here is the caller graph for this function:

◆ rgb_to_luminance()

uint8_t sensesp::rgb_to_luminance ( uint8_t  r,
uint8_t  g,
uint8_t  b 
)
inline

Convert RGB color to perceptual luminance.

Uses the standard luminance formula (ITU-R BT.709) that weights green most heavily, followed by red, then blue.

Parameters
rRed component (0-255)
gGreen component (0-255)
bBlue component (0-255)
Returns
Luminance value (0-255)

Definition at line 126 of file crgb.h.

Here is the caller graph for this function:

◆ SetupLogging()

void sensesp::SetupLogging ( esp_log_level_t  default_level = ESP_LOG_DEBUG)
inline

Definition at line 22 of file sensesp_base_app.h.

Here is the caller graph for this function:

◆ SetupSerialDebug()

void sensesp::SetupSerialDebug ( uint32_t  baudrate)
inline

Definition at line 26 of file sensesp_base_app.h.

Here is the call graph for this function:

◆ Sha1()

void sensesp::Sha1 ( const String &  payload_str,
uint8_t *  hash_output 
)

SHA-1 hash function.

Calculate a SHA-1 hash of the given payload.

Parameters
payload_str
hash_outputA 20-character binary output array

Definition at line 19 of file hash.cpp.

Here is the caller graph for this function:

◆ should_clear_token_on_status()

bool sensesp::should_clear_token_on_status ( bool  ssl_enabled,
int  handshake_status 
)

Called when the websocket connection encounters an error.

Decide whether a failed WebSocket upgrade should clear the auth token.

Called in the websocket task context.

Only an authenticated (TLS) channel yields a trustworthy handshake status; over plaintext the status could be injected by an on-path attacker, so the token is never discarded based on it.

Definition at line 424 of file signalk_ws_client.cpp.

Here is the caller graph for this function:

◆ sk_delta_exceeds_ws_buffer()

bool sensesp::sk_delta_exceeds_ws_buffer ( size_t  delta_length,
size_t  buffer_size 
)
inline

True if a delta is too large to hand to esp_websocket_client as a single tx chunk, so send_delta drops it to keep the connection alive.

Pure and dependency-free (no Arduino, no esp_websocket_client) so it can be unit-tested on the host.

The bound is strictly greater-than, and that is deliberate. esp_websocket_client copies up to buffer_size payload bytes per transport write; the WebSocket frame header is framed separately, not in tx_buffer. A delta of exactly buffer_size is sent as one chunk with FIN set and never enters the multi-write path. Only a delta longer than buffer_size is split into two or more non-blocking writes, the second of which can short-write and make esp_websocket_client abort the connection. Do not subtract a frame-header margin here: the header does not consume buffer_size.

Definition at line 24 of file signalk_ws_delta_size.h.

Here is the caller graph for this function:

◆ tofu_decide_capture()

TofuCaptureDecision sensesp::tofu_decide_capture ( bool  has_leaf_anchor,
bool  leaf_matches_anchor,
bool  ca_present,
bool  leaf_has_identity 
)
inline
Parameters
has_leaf_anchorA leaf fingerprint is stored (leaf-fingerprint mode).
leaf_matches_anchorThe presented leaf equals the stored fingerprint.
ca_presentA usable CA (basicConstraints CA:TRUE) was seen in the presented chain.
leaf_has_identityThe leaf carries a bindable identity (>=1 DNS SAN).

Mode is chosen once, at first use, and never changes on its own. A CA is adopted only when one is present AND the leaf has an identity to bind (ca_present && leaf_has_identity). Without a bindable identity, CA-anchor mode would trust any leaf the CA signs (the public-CA hole), so capture falls back to leaf-fingerprint mode instead. A device already pinned to a leaf stays in leaf mode even if the server later starts presenting a CA; moving to CA mode requires a manual reset-tofu followed by a fresh first-use capture.

Note: CA-anchor mode (a CA is already pinned) is handled separately by mbedTLS REQUIRED-mode validation plus the SAN identity check, and never reaches this function. A captured CA is committed only after the connection succeeds, so an unauthenticated MITM handshake cannot plant a trust anchor.

Definition at line 41 of file signalk_tofu.h.

◆ update_min_free_heap_watermark()

void sensesp::update_min_free_heap_watermark ( )

Stamp this boot's current minimum free heap into RTC memory. Call periodically; it is cheap. After a reset, min_free_heap_before_reset() returns the last value stamped here.

Definition at line 58 of file reset_info.cpp.

Here is the caller graph for this function:

◆ urldecode2()

void sensesp::urldecode2 ( char *  dst,
const char *  src 
)

Definition at line 14 of file http_server.cpp.

Here is the caller graph for this function:

Variable Documentation

◆ blip_pattern

LEDPattern sensesp::blip_pattern
Initial value:
= {
frag_blend(50, CRGB::Black),
frag_blend(50, CRGB::Black, true),
}
LEDPatternFragment frag_blend(uint32_t duration_ms, const CRGB &target_color, bool reverse)

Definition at line 57 of file system_status_led.cpp.

◆ hysteresis_param_info

const ParamInfo sensesp::hysteresis_param_info[4]
Initial value:
= {
{"lower_threshold", "Lower threshold"},
{"upper_threshold", "Upper threshold"},
{"low_output", "Low output"},
{"high_output", "High output"}}

Definition at line 9 of file hysteresis.h.

◆ kContentEncoding

const char sensesp::kContentEncoding[] = "Content-Encoding"

Definition at line 7 of file static_file_data.h.

◆ kContentType

const char sensesp::kContentType[] = "Content-Type"

Definition at line 6 of file static_file_data.h.

◆ kDefaultHostname

constexpr auto sensesp::kDefaultHostname = "SensESP"
constexpr

Definition at line 20 of file sensesp_base_app.h.

◆ kDefaultSystemInfoSensorPrefix

constexpr const char* sensesp::kDefaultSystemInfoSensorPrefix = "sensorDevice."
constexpr

Definition at line 15 of file sensesp_app_builder.h.

◆ kFrontendFiles

const StaticFileData sensesp::kFrontendFiles[]

Definition at line 8 of file frontend_files.h.

◆ kGammaTable

constexpr uint8_t sensesp::kGammaTable[256]
constexpr
Initial value:
= {
0, 21, 28, 34, 39, 43, 46, 50, 53, 56, 59, 61, 64, 66, 68, 70,
72, 74, 76, 78, 80, 82, 84, 85, 87, 89, 90, 92, 93, 95, 96, 98,
99, 101, 102, 103, 105, 106, 107, 109, 110, 111, 112, 114, 115, 116, 117, 118,
119, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
136, 137, 138, 139, 140, 141, 142, 143, 144, 144, 145, 146, 147, 148, 149, 150,
150, 151, 152, 153, 154, 155, 155, 156, 157, 158, 159, 159, 160, 161, 162, 162,
163, 164, 165, 165, 166, 167, 167, 168, 169, 170, 170, 171, 172, 172, 173, 174,
174, 175, 176, 176, 177, 178, 178, 179, 180, 180, 181, 181, 182, 183, 183, 184,
185, 185, 186, 186, 187, 188, 188, 189, 189, 190, 190, 191, 192, 192, 193, 193,
194, 194, 195, 196, 196, 197, 197, 198, 198, 199, 199, 200, 200, 201, 201, 202,
202, 203, 203, 204, 204, 205, 205, 206, 206, 207, 207, 208, 208, 209, 209, 210,
210, 211, 211, 212, 212, 213, 213, 214, 214, 215, 215, 215, 216, 216, 217, 217,
218, 218, 219, 219, 219, 220, 220, 221, 221, 222, 222, 222, 223, 223, 224, 224,
225, 225, 225, 226, 226, 227, 227, 227, 228, 228, 229, 229, 229, 230, 230, 231,
231, 231, 232, 232, 233, 233, 233, 234, 234, 234, 235, 235, 236, 236, 236, 237,
237, 237, 238, 238, 238, 239, 239, 240, 240, 240, 241, 241, 241, 242, 242, 255,
}

Gamma correction lookup table (γ=2.2, inverted).

Pre-computed values for inverse gamma correction to avoid expensive floating-point math in the hot path. Generated with: table[i] = round(pow(i/255.0, 1/2.2) * 255)

Definition at line 17 of file crgb.h.

◆ kInvalidDouble

constexpr double sensesp::kInvalidDouble = std::numeric_limits<double>::lowest()
constexpr

Value used to indicate an invalid or missing altitude.

Definition at line 10 of file position.h.

◆ kLogCaptureLineMax

constexpr size_t sensesp::kLogCaptureLineMax = 256
inlineconstexpr

Maximum captured line length, and the size of each queue slot's text.

Definition at line 27 of file log_buffer.h.

◆ kLogCaptureMinHeadroomBytes

constexpr size_t sensesp::kLogCaptureMinHeadroomBytes = 8192
inlineconstexpr

Minimum largest-free-block (bytes) required before the capture path will allocate. Below this, push_line() drops the line instead of building the std::string/deque record. With C++ exceptions disabled (the default on ESP32) a failed allocation throws std::bad_alloc, which routes to abort() and reboots the device – so the logger must never be the allocation that exhausts the heap, least of all while capturing the errors that report the pressure. The margin is far larger than one line (<= kLogCaptureLineMax plus a deque node) to stay clear of the check-then-allocate race and to leave contiguous heap for the TLS Signal K connection.

Definition at line 47 of file log_buffer.h.

◆ kLogCaptureQueueDepth

constexpr size_t sensesp::kLogCaptureQueueDepth = 8
inlineconstexpr

Depth of the lock-free handoff queue between the vprintf hook and the capture task. Bursts beyond this drop lines rather than block the logger.

Definition at line 30 of file log_buffer.h.

◆ kLogCaptureTaskPriority

constexpr UBaseType_t sensesp::kLogCaptureTaskPriority = 1
inlineconstexpr

Definition at line 37 of file log_buffer.h.

◆ kLogCaptureTaskStackSize

constexpr uint32_t sensesp::kLogCaptureTaskStackSize = 3072
inlineconstexpr

Stack (bytes) and priority of the capture task. The task does the heap-allocating work the hook offloads (ANSI strip + std::string build + a largest-free-block probe). Measured worst case ~0.7 KB used on an ESP32-C3; 3072 keeps a conservative margin because this task allocates under memory pressure. Priority 1 matches the other SensESP service tasks.

Definition at line 36 of file log_buffer.h.

◆ kMaxAnalogOutput

constexpr int sensesp::kMaxAnalogOutput = 4096
constexpr

Definition at line 9 of file analogvoltage.h.

◆ kMaxNumClientConfigs

constexpr int sensesp::kMaxNumClientConfigs = 3
constexpr

Definition at line 20 of file wifi_provisioner.h.

◆ kNetworkAPMode

constexpr NetworkState sensesp::kNetworkAPMode = NetworkState::kWifiAPModeActivated
inlineconstexpr

Definition at line 36 of file network_state.h.

◆ kNetworkConnected

constexpr NetworkState sensesp::kNetworkConnected = NetworkState::kWifiConnectedToAP
inlineconstexpr

Definition at line 35 of file network_state.h.

◆ kNetworkDisconnected

constexpr NetworkState sensesp::kNetworkDisconnected = NetworkState::kWifiDisconnected
inlineconstexpr

Definition at line 34 of file network_state.h.

◆ kNetworkNoConnection

constexpr NetworkState sensesp::kNetworkNoConnection = NetworkState::kWifiNoAP
inlineconstexpr

Neutral aliases that new transport-agnostic code can use instead of the historical kWifi* names. Both compile to the same enum values.

Definition at line 33 of file network_state.h.

◆ kNetworkProvisioning

constexpr NetworkState sensesp::kNetworkProvisioning
inlineconstexpr
Initial value:
=
NetworkState::kWifiManagerActivated

Definition at line 37 of file network_state.h.

◆ kOversizeDropLogIntervalMs

constexpr uint32_t sensesp::kOversizeDropLogIntervalMs = 10000
constexpr

Definition at line 43 of file signalk_ws_client.cpp.

◆ kPi

constexpr double sensesp::kPi = 3.14159265358979323846
constexpr

Definition at line 5 of file angle_correction.cpp.

◆ kPositionInvalidAltitude

constexpr float sensesp::kPositionInvalidAltitude = std::numeric_limits<float>::lowest()
constexpr

Definition at line 11 of file position.h.

◆ kPWMResolution

constexpr int sensesp::kPWMResolution = 13
constexpr

Definition at line 12 of file rgb_led.h.

◆ kSensESPVersion

const char* const sensesp::kSensESPVersion = "3.4.1-alpha"

Definition at line 6 of file sensesp_version.h.

◆ kUIOutputDefaultGroup

constexpr char sensesp::kUIOutputDefaultGroup[] = "Default"
constexpr

Definition at line 16 of file status_page_item.h.

◆ kUIOutputDefaultOrder

constexpr int sensesp::kUIOutputDefaultOrder = 1000
constexpr

Definition at line 17 of file status_page_item.h.

◆ kWsClientTaskStackSize

constexpr int sensesp::kWsClientTaskStackSize = 8192
constexpr

Definition at line 34 of file signalk_ws_client.cpp.

◆ kWsDeltaSendTimeoutTicks

constexpr TickType_t sensesp::kWsDeltaSendTimeoutTicks = 0
constexpr

Definition at line 40 of file signalk_ws_client.cpp.

◆ kWsSendTimeoutTicks

constexpr TickType_t sensesp::kWsSendTimeoutTicks = pdMS_TO_TICKS(5000)
constexpr

Definition at line 36 of file signalk_ws_client.cpp.

◆ kWsTransportTaskStackSize

constexpr int sensesp::kWsTransportTaskStackSize = 6144
constexpr

Definition at line 35 of file signalk_ws_client.cpp.

◆ no_ap_pattern

LEDPattern sensesp::no_ap_pattern
Initial value:
= {frag_linear_fade(100, 100, CRGB::Red),
frag_linear_fade(950, 200, CRGB::Black)}
LEDPatternFragment frag_linear_fade(uint32_t duration_ms, uint32_t fade_duration_ms, const CRGB &target_color)

Definition at line 6 of file system_status_led.cpp.

◆ sensesp_app

std::shared_ptr< SensESPApp > sensesp::sensesp_app

Definition at line 7 of file sensesp_app.cpp.

◆ wifi_connected_pattern

LEDPattern sensesp::wifi_connected_pattern
Initial value:
= {
frag_linear_fade(700, 200, CRGB::Yellow),
frag_linear_fade(300, 100, CRGB::Black),
}

Definition at line 16 of file system_status_led.cpp.

◆ wifi_disconnected_pattern

LEDPattern sensesp::wifi_disconnected_pattern
Initial value:
= {
frag_linear_fade(300, 100, CRGB::Red),
frag_linear_fade(700, 200, CRGB::Black),
}

Definition at line 10 of file system_status_led.cpp.

◆ ws_authorizing_pattern

LEDPattern sensesp::ws_authorizing_pattern
Initial value:
= {
frag_linear_fade(200, 200, CRGB::Yellow),
frag_linear_fade(200, 200, CRGB::Black),
}

Definition at line 52 of file system_status_led.cpp.

◆ ws_client

SKWSClient* sensesp::ws_client

Definition at line 45 of file signalk_ws_client.cpp.

◆ ws_connected_pattern

LEDPattern sensesp::ws_connected_pattern
Initial value:
= {
frag_linear_fade(900, 200, CRGB::Blue),
frag_linear_fade(100, 100, CRGB::Black),
}

Definition at line 34 of file system_status_led.cpp.

◆ ws_connecting_pattern

LEDPattern sensesp::ws_connecting_pattern
Initial value:
= {
frag_linear_fade(650, 200, CRGB::Yellow),
frag_linear_fade(50, 50, CRGB::Black),
frag_linear_fade(50, 50, CRGB::Yellow),
frag_linear_fade(50, 50, CRGB::Black),
frag_linear_fade(50, 50, CRGB::Yellow),
frag_linear_fade(50, 50, CRGB::Black),
frag_linear_fade(50, 50, CRGB::Yellow),
frag_linear_fade(50, 50, CRGB::Black),
}

Definition at line 22 of file system_status_led.cpp.

◆ ws_disconnected_pattern

LEDPattern sensesp::ws_disconnected_pattern
Initial value:
= {
frag_linear_fade(50, 50, CRGB::Yellow),
frag_linear_fade(50, 50, CRGB::Black),
frag_linear_fade(50, 50, CRGB::Yellow),
frag_linear_fade(50, 50, CRGB::Black),
frag_linear_fade(50, 50, CRGB::Yellow),
frag_linear_fade(50, 50, CRGB::Black),
frag_linear_fade(50, 50, CRGB::Yellow),
frag_linear_fade(650, 200, CRGB::Black),
}

Definition at line 40 of file system_status_led.cpp.