ESPectre SDK
2.8.0-280-gac7af68
Wi-Fi CSI motion sensing for ESP32 firmware
Toggle main menu visibility
Loading...
Searching...
No Matches
runtime_capabilities.h
Go to the documentation of this file.
1
/*
2
* ESPectre - Runtime Capabilities
3
*
4
* Capability flags advertised by a runtime implementation.
5
*
6
* Author: Francesco Pace <francesco.pace@gmail.com>
7
* SPDX-License-Identifier: GPL-3.0-only
8
* Commercial licensing available under separate agreement; see LICENSING.md.
9
*/
10
#pragma once
11
12
namespace
espectre
{
13
14
/**
15
* What a runtime actually offers its frontend.
16
*
17
* Every flag defaults to false on purpose: ESPECTRE_PROTOCOL.md makes this
18
* block the contract clients read, so a capability has to be declared rather
19
* than inherited from a permissive default. Previously only the stream runtime
20
* declared anything and the sensing runtime shipped whatever the struct
21
* happened to default to.
22
*
23
* `supports_live_telemetry` describes the runtime side of the surface: whether
24
* it drives the live-telemetry callback at all.
25
*/
26
struct
RuntimeCapabilities
{
27
/** `set_threshold_runtime()` is honored. */
28
bool
supports_runtime_threshold_updates
{
false
};
29
/** `set_motion_hits_runtime()` is honored; otherwise the controller refuses it. */
30
bool
supports_runtime_motion_hits_updates
{
false
};
31
/**
32
* `set_detection_algorithm_runtime()` is honored.
33
*
34
* Driven by `RuntimeConfig::runtime_detector_selection_enabled`, since
35
* switching detectors also means persisting and restoring the choice.
36
*/
37
bool
supports_runtime_detector_selection
{
false
};
38
/** `trigger_recalibration()` is honored; otherwise the controller refuses it. */
39
bool
supports_manual_recalibration
{
false
};
40
/**
41
* The runtime drives `IRuntimeListener::on_live_telemetry()` at all.
42
*
43
* Native uses that callback for MQTT sensing telemetry and Home Assistant
44
* Movement Score. Transport adapters decide how to forward live sensing.
45
*/
46
bool
supports_live_telemetry
{
false
};
47
/** The runtime reports the extended diagnostics block used by stats payloads. */
48
bool
supports_extended_diagnostics
{
false
};
49
/** The runtime owns CSI traffic generation and can be asked to retune it. */
50
bool
supports_traffic_control
{
false
};
51
};
52
53
}
// namespace espectre
espectre
Definition
espectre_sdk_version.h:62
espectre::RuntimeCapabilities
What a runtime actually offers its frontend.
Definition
runtime_capabilities.h:26
espectre::RuntimeCapabilities::supports_manual_recalibration
bool supports_manual_recalibration
trigger_recalibration() is honored; otherwise the controller refuses it.
Definition
runtime_capabilities.h:39
espectre::RuntimeCapabilities::supports_runtime_threshold_updates
bool supports_runtime_threshold_updates
set_threshold_runtime() is honored.
Definition
runtime_capabilities.h:28
espectre::RuntimeCapabilities::supports_live_telemetry
bool supports_live_telemetry
The runtime drives IRuntimeListener::on_live_telemetry() at all.
Definition
runtime_capabilities.h:46
espectre::RuntimeCapabilities::supports_runtime_motion_hits_updates
bool supports_runtime_motion_hits_updates
set_motion_hits_runtime() is honored; otherwise the controller refuses it.
Definition
runtime_capabilities.h:30
espectre::RuntimeCapabilities::supports_runtime_detector_selection
bool supports_runtime_detector_selection
set_detection_algorithm_runtime() is honored.
Definition
runtime_capabilities.h:37
espectre::RuntimeCapabilities::supports_traffic_control
bool supports_traffic_control
The runtime owns CSI traffic generation and can be asked to retune it.
Definition
runtime_capabilities.h:50
espectre::RuntimeCapabilities::supports_extended_diagnostics
bool supports_extended_diagnostics
The runtime reports the extended diagnostics block used by stats payloads.
Definition
runtime_capabilities.h:48
src
cpp
runtime
runtime_capabilities.h
Generated by
1.17.0