SensESP 2.7.2
Universal Signal K sensor toolkit ESP32
Loading...
Searching...
No Matches
sensesp::SKOutput< T > Class Template Reference

A specialized transform whose primary purpose is to output Signal K data on the Signal K network. More...

#include <sensesp/signalk/signalk_output.h>

Inheritance diagram for sensesp::SKOutput< T >:
[legend]

Public Member Functions

 SKOutput ()
 
 SKOutput (String sk_path, String config_path="", SKMetadata *meta=NULL)
 
 SKOutput (String sk_path, SKMetadata *meta)
 
virtual void set_input (T new_value, uint8_t input_channel=0) override
 
virtual String as_signalk () override
 
virtual void get_configuration (JsonObject &root) override
 
String get_config_schema () override
 
virtual bool set_configuration (const JsonObject &config) override
 
virtual void set_metadata (SKMetadata *meta)
 
virtual SKMetadataget_metadata () override
 
String as_signalk ()
 Template specialization for SKOutputPosition::as_signalk()
 
String as_signalk ()
 
- Public Member Functions inherited from sensesp::SKEmitter
 SKEmitter (String sk_path)
 
virtual void add_metadata (JsonArray &meta)
 
Stringget_sk_path ()
 
void set_sk_path (const String &path)
 
- Public Member Functions inherited from sensesp::Observable
 Observable ()
 
 Observable (Observable &&other)
 Move constructor.
 
void notify ()
 
void attach (std::function< void()> observer)
 
- Public Member Functions inherited from sensesp::SymmetricTransform< T >
 SymmetricTransform (String config_path="")
 
- Public Member Functions inherited from sensesp::Transform< T, T >
 Transform (String config_path="")
 
Transform< T, T > * connect_from (ValueProducer< T > *producer0, ValueProducer< T > *producer1=NULL, ValueProducer< T > *producer2=NULL, ValueProducer< T > *producer3=NULL, ValueProducer< T > *producer4=NULL)
 
- Public Member Functions inherited from sensesp::TransformBase
 TransformBase (String config_path="")
 
- Public Member Functions inherited from sensesp::Configurable
 Configurable (String config_path="", String description="", int sort_order=1000)
 
String get_description ()
 
void set_description (String description)
 Set the description of the Configurable.
 
int get_sort_order ()
 
void set_sort_order (int sort_order)
 
virtual void save_configuration ()
 
- Public Member Functions inherited from sensesp::Startable
 Startable (int priority=0)
 
virtual void start ()
 
const int get_start_priority ()
 
void set_start_priority (int priority)
 
- Public Member Functions inherited from sensesp::ValueConsumer< T >
void connect_from (ValueProducer< T > *producer, uint8_t input_channel=0)
 
- Public Member Functions inherited from sensesp::ValueProducer< T >
 ValueProducer ()
 
virtual const T & get () const
 
void connect_to (ValueConsumer< T > *consumer, uint8_t input_channel=0)
 
template<typename CT >
void connect_to (ValueConsumer< CT > *consumer, uint8_t input_channel=0)
 Connect a producer to a consumer of a different type.
 
template<typename T2 >
Transform< T, T2 > * connect_to (Transform< T, T2 > *consumer_producer, uint8_t input_channel=0)
 
template<typename TT , typename T2 >
Transform< TT, T2 > * connect_to (Transform< TT, T2 > *consumer_producer, uint8_t input_channel=0)
 Connect a producer to a transform with a different input type.
 
void emit (T new_value)
 

Protected Attributes

SKMetadatameta_
 
- Protected Attributes inherited from sensesp::SKEmitter
String sk_path
 
- Protected Attributes inherited from sensesp::Configurable
String description_ = ""
 
int sort_order_ = 1000
 
- Protected Attributes inherited from sensesp::ValueProducer< T >
output
 

Additional Inherited Members

- Static Public Member Functions inherited from sensesp::SKEmitter
static const std::vector< SKEmitter * > & get_sources ()
 
- Static Public Member Functions inherited from sensesp::TransformBase
static const std::set< TransformBase * > & get_transforms ()
 
- Static Public Member Functions inherited from sensesp::Startable
static void start_all ()
 
- Public Attributes inherited from sensesp::Configurable
const String config_path_
 
- Protected Member Functions inherited from sensesp::Configurable
virtual void load_configuration ()
 

Detailed Description

template<typename T>
class sensesp::SKOutput< T >

A specialized transform whose primary purpose is to output Signal K data on the Signal K network.

Definition at line 21 of file signalk_output.h.

Constructor & Destructor Documentation

◆ SKOutput() [1/3]

template<typename T >
sensesp::SKOutput< T >::SKOutput ( )
inline

Definition at line 23 of file signalk_output.h.

Here is the call graph for this function:

◆ SKOutput() [2/3]

template<typename T >
sensesp::SKOutput< T >::SKOutput ( String  sk_path,
String  config_path = "",
SKMetadata meta = NULL 
)
inline

The constructor

Parameters
sk_pathThe Signal K path the output value of this transform is sent on
config_pathThe optional configuration path that allows an end user to change the configuration of this object. See the Configurable class for more information.
metaOptional metadata that is associated with the value output by this class A value specified here will cause the path's metadata to be emitted on the first delta sent to the server. Use NULL if this path has no metadata to report (or if the path is already an official part of the Signal K specification)

Definition at line 38 of file signalk_output.h.

Here is the call graph for this function:

◆ SKOutput() [3/3]

template<typename T >
sensesp::SKOutput< T >::SKOutput ( String  sk_path,
SKMetadata meta 
)
inline

Definition at line 44 of file signalk_output.h.

Member Function Documentation

◆ as_signalk() [1/3]

String sensesp::SKOutput< Position >::as_signalk ( )
virtual

Template specialization for SKOutputPosition::as_signalk()

This specialization allows Position objects to be output as Signal K deltas.

Template Parameters

return String

Reimplemented from sensesp::SKEmitter.

Reimplemented in sensesp::SKOutputRawJson.

Definition at line 16 of file signalk_position.cpp.

◆ as_signalk() [2/3]

String sensesp::SKOutput< Position >::as_signalk ( )
virtual

Returns the data to be reported to the server as a Signal K json string.

Reimplemented from sensesp::SKEmitter.

Reimplemented in sensesp::SKOutputRawJson.

◆ as_signalk() [3/3]

template<typename T >
virtual String sensesp::SKOutput< T >::as_signalk ( )
inlineoverridevirtual

Returns the data to be reported to the server as a Signal K json string.

Reimplemented from sensesp::SKEmitter.

Reimplemented in sensesp::SKOutputRawJson.

Definition at line 50 of file signalk_output.h.

Here is the call graph for this function:

◆ get_config_schema()

template<typename T >
String sensesp::SKOutput< T >::get_config_schema ( )
inlineoverridevirtual

Returns a configuration schema that specifies the key/value pairs that can be expected when calling get_configuration(), or are expected by set_configuration(). The schema will be in JSON Schema format

See also
https://json-schema.org

Reimplemented from sensesp::Configurable.

Definition at line 63 of file signalk_output.h.

◆ get_configuration()

template<typename T >
virtual void sensesp::SKOutput< T >::get_configuration ( JsonObject configObject)
inlineoverridevirtual

Returns the current configuration data as a JsonObject. In general, the current state of local member variables are saved to a new object created with JsonDocument::as<JsonObject>() and returned.

Reimplemented from sensesp::Configurable.

Definition at line 59 of file signalk_output.h.

Here is the call graph for this function:

◆ get_metadata()

template<typename T >
virtual SKMetadata * sensesp::SKOutput< T >::get_metadata ( )
inlineoverridevirtual

Returns a Metadata structure that describes the sk_path this SKEmitter is associated with. If this emitter has no metadata, NULL is returned.

See also
add_metadata()

Reimplemented from sensesp::SKEmitter.

Definition at line 81 of file signalk_output.h.

◆ set_configuration()

template<typename T >
virtual bool sensesp::SKOutput< T >::set_configuration ( const JsonObject config)
inlineoverridevirtual

Sets the current state of local member variables using the data stored in config.

Reimplemented from sensesp::Configurable.

Definition at line 65 of file signalk_output.h.

Here is the call graph for this function:

◆ set_input()

template<typename T >
virtual void sensesp::SKOutput< T >::set_input ( new_value,
uint8_t  input_channel = 0 
)
inlineoverridevirtual

Used to set an input of this consumer. It is usually called automatically by a ValueProducer.

Parameters
new_valuethe value of the input
input_channelConsumers can have one or more inputs feeding them. This parameter allows you to specify which input number the producer is connecting to. For single input consumers, leave the index at zero.

Reimplemented from sensesp::ValueConsumer< T >.

Definition at line 46 of file signalk_output.h.

Here is the call graph for this function:

◆ set_metadata()

template<typename T >
virtual void sensesp::SKOutput< T >::set_metadata ( SKMetadata meta)
inlinevirtual

Used to set the optional metadata that is associated with the Signal K path this transform emits. This is a second method of setting the metadata (the first being a parameter to the constructor).

Definition at line 79 of file signalk_output.h.

Member Data Documentation

◆ meta_

template<typename T >
SKMetadata* sensesp::SKOutput< T >::meta_
protected

Definition at line 84 of file signalk_output.h.


The documentation for this class was generated from the following file: