SensESP 3.0.1
Universal Signal K sensor toolkit ESP32
|
A specialized transform whose primary purpose is to output Signal K data on the Signal K network. More...
#include <sensesp/signalk/signalk_output.h>
Public Member Functions | |
SKOutput () | |
SKOutput (String sk_path, String config_path="", SKMetadata *meta=nullptr) | |
SKOutput (String sk_path, String config_path, std::shared_ptr< SKMetadata > meta) | |
SKOutput (String sk_path, SKMetadata *meta) | |
virtual void | set (const T &new_value) override |
virtual void | as_signalk_json (JsonDocument &doc) override |
virtual bool | to_json (JsonObject &root) override |
virtual bool | from_json (const JsonObject &config) override |
virtual void | set_metadata (SKMetadata *meta) |
virtual SKMetadata * | get_metadata () override |
void | as_signalk_json (JsonDocument &doc) |
Template specialization for SKOutputPosition::as_signalk_json() | |
void | as_signalk_json (JsonDocument &doc) |
void | as_signalk_json (JsonDocument &doc) |
void | as_signalk_json (JsonDocument &doc) |
void | as_signalk_json (JsonDocument &doc) |
void | as_signalk_json (JsonDocument &doc) |
Public Member Functions inherited from sensesp::SKEmitter | |
SKEmitter (const String &sk_path) | |
virtual void | add_metadata (JsonArray &meta) |
String & | get_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 (const String &config_path) | |
Public Member Functions inherited from sensesp::FileSystemSaveable | |
FileSystemSaveable (const String &config_path) | |
virtual bool | load () override |
Load and populate the object from a persistent storage. | |
virtual bool | save () override |
Save the object to a persistent storage. | |
virtual bool | clear () override |
Delete the data from a persistent storage. | |
bool | find_config_file (const String &config_path, String &filename) |
Public Member Functions inherited from sensesp::Saveable | |
Saveable (const String &config_path) | |
virtual bool | refresh () |
Refresh the object. This may or may not access the persistent storage but is not expected to overwrite the object's state. | |
const String & | get_config_path () const |
Public Member Functions inherited from sensesp::Serializable | |
Public Member Functions inherited from sensesp::ValueConsumer< T > | |
virtual void | set_input (const T &new_value) |
void | connect_from (ValueProducer< T > *producer) |
Public Member Functions inherited from sensesp::ValueProducer< T > | |
ValueProducer () | |
ValueProducer (const T &initial_value) | |
virtual const T & | get () const |
template<typename VConsumer > | |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< T, typenameVConsumer::input_type >::value, std::shared_ptr< VConsumer > >::type | connect_to (std::shared_ptr< VConsumer > consumer) |
Connect a producer to a transform with a different input type. | |
template<typename VConsumer > | |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< T, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer *consumer) |
template<typename VConsumer > | |
std::enable_if< std::is_base_of< ValueConsumer< typenameVConsumer::input_type >, VConsumer >::value &&std::is_convertible< T, typenameVConsumer::input_type >::value, VConsumer * >::type | connect_to (VConsumer &consumer) |
void | emit (const T &new_value) |
Protected Attributes | |
std::shared_ptr< SKMetadata > | meta_ |
Protected Attributes inherited from sensesp::SKEmitter | |
String | sk_path_ {} |
Protected Attributes inherited from sensesp::Saveable | |
const String | config_path_ |
Protected Attributes inherited from sensesp::ValueProducer< T > | |
T | output_ |
Additional Inherited Members | |
Public Types inherited from sensesp::ValueConsumer< T > | |
using | input_type = T |
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 () |
A specialized transform whose primary purpose is to output Signal K data on the Signal K network.
Definition at line 17 of file signalk_output.h.
|
inline |
|
inline |
The constructor
sk_path | The Signal K path the output value of this transform is sent on |
config_path | The optional configuration path that allows an end user to change the configuration of this object. See the Configurable class for more information. |
meta | Optional 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 34 of file signalk_output.h.
|
inline |
|
inline |
Definition at line 42 of file signalk_output.h.
|
virtual |
Template specialization for SKOutputPosition::as_signalk_json()
This specialization allows Position
objects to be output as Signal K deltas.
return String
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
Definition at line 16 of file signalk_types.cpp.
|
virtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
Definition at line 27 of file signalk_types.cpp.
|
virtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
Definition at line 38 of file signalk_types.cpp.
|
virtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
|
virtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
|
virtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
|
inlineoverridevirtual |
Returns the data to be reported to the server as a Signal K json object.
Reimplemented from sensesp::SKEmitter.
Reimplemented in sensesp::SKOutputRawJson.
Definition at line 48 of file signalk_output.h.
|
inlineoverridevirtual |
Deserializes the current object data from a JsonObject.
Reimplemented from sensesp::Serializable.
Definition at line 58 of file signalk_output.h.
|
inlineoverridevirtual |
Returns a Metadata structure that describes the sk_path this SKEmitter is associated with. If this emitter has no metadata, NULL is returned.
Reimplemented from sensesp::SKEmitter.
Definition at line 76 of file signalk_output.h.
|
inlineoverridevirtual |
Used to set an input of this consumer. It is called automatically by a ValueProducer but can also be called manually.
new_value | the value of the input |
Reimplemented from sensesp::ValueConsumer< T >.
Definition at line 44 of file signalk_output.h.
|
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 72 of file signalk_output.h.
|
inlineoverridevirtual |
Serializes the current object data into a JsonObject.
Reimplemented from sensesp::Serializable.
Definition at line 53 of file signalk_output.h.
|
protected |
Definition at line 79 of file signalk_output.h.