Skip to content

Namespace espos::flow

Namespace List > espos > flow

Classes

Type Name
class AirDensity
class AngleOffset
class BatterySoc
class Cast <typename In, typename Out>
class ChangeFilter <typename T>
class Clamp <typename T>
class Constant <typename T>
class Consumer <typename T>
class Convert <typename In, typename Out, typename Fn>
class Counter <typename In>
class Curve <MaxSamples>
class Deadband <typename T>
class Debounce <typename T>
class Delay <typename T, Depth>
class DewPoint
class DividerR1
class DividerR2
class DividerScale
struct Edge
class Ema <typename T>
class Enable <typename T>
class Expire <typename T>
class Filter <typename T, typename Pred>
class FormatBool
class Frequency
class Graph
class HeatIndex
class Hysteresis <typename In, typename Out>
class Integrator <typename T>
class IsoTime
class Join <Ts>
class Lambda <typename In, typename Out, typename Fn, Ps>
class Latch
class Linear <typename T>
class Mailbox <typename T, Depth>
class Median <N, typename T>
class MinMaxHold <Slots, typename T>
class MovingAverage <N, typename T>
class NodeBase
class ParamSet <N>
class ParseBool
class Poll <typename T, typename Fn>
class Producer <typename T>
class RateOfChange <typename T>
class Repeat <typename T>
class Round
class RunHours
class Sink <typename T, typename Fn>
class TankLevel
class Threshold <typename T>
class Throttle <typename T>
class Ticker
class Transform <typename In, typename Out>
class Value <typename T>
class WrapAngle

Public Types

Type Name
enum uint8_t Policy
enum uint8_t RepeatMode
typedef Transform< T, T > Symmetric

Public Attributes

Type Name
constexpr std::size_t kIdMax = 12

Public Functions

Type Name
Convert (const char *, Fn)
Poll (const char *, uint32_t, Fn)
esp_err_t api_register (const Graph * graph)
Register GET /api/v1/flow, reporting graph 's nodes and the loop's counters.
void assert_on_loop_task (const char * node_id)
Edge * edge_alloc ()
std::size_t edge_capacity ()
void edge_exhausted (const char * node_id)
std::size_t edge_used ()
void * graph_arena_alloc (std::size_t bytes, std::size_t align)
std::size_t graph_arena_capacity ()
void graph_arena_exhausted (std::size_t wanted)
std::size_t graph_arena_used ()

Public Types Documentation

enum Policy

enum espos::flow::Policy {
    kAny,
    kAll
};

enum RepeatMode

enum espos::flow::RepeatMode {
    kAlways,
    kStopAfter,
    kConstantRate
};

typedef Symmetric

using espos::flow::Symmetric = typedef Transform<T, T>;

Public Attributes Documentation

variable kIdMax

constexpr std::size_t espos::flow::kIdMax;

Public Functions Documentation

function Convert

template<typename Fn>
espos::flow::Convert (
    const  char *,
    Fn
) 

function Poll

template<typename Fn>
espos::flow::Poll (
    const  char *,
    uint32_t,
    Fn
) 

function api_register

Register GET /api/v1/flow, reporting graph 's nodes and the loop's counters.

esp_err_t espos::flow::api_register (
    const  Graph * graph
) 

Call after espos_httpd_start(); graph must outlive the server, which the usual static Graph at file scope gives. Pass nullptr to expose the runtime counters alone a firmware may drive the loop from C and never build a graph, and the document says so with a null nodes rather than an empty array.

ESP_ERR_NOT_SUPPORTED when the firmware has no espos_httpd.


function assert_on_loop_task

void espos::flow::assert_on_loop_task (
    const  char * node_id
) 

function edge_alloc

Edge * espos::flow::edge_alloc () 

function edge_capacity

std::size_t espos::flow::edge_capacity () 

function edge_exhausted

void espos::flow::edge_exhausted (
    const  char * node_id
) 

function edge_used

std::size_t espos::flow::edge_used () 

function graph_arena_alloc

void * espos::flow::graph_arena_alloc (
    std::size_t bytes,
    std::size_t align
) 

function graph_arena_capacity

std::size_t espos::flow::graph_arena_capacity () 

function graph_arena_exhausted

void espos::flow::graph_arena_exhausted (
    std::size_t wanted
) 

function graph_arena_used

std::size_t espos::flow::graph_arena_used () 


The documentation for this class was generated from the following file espos_flow/include/espos_flow/flow.hpp