ESPectre SDK 2.8.0-280-gac7af68
Wi-Fi CSI motion sensing for ESP32 firmware
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
12namespace 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 */
27 /** `set_threshold_runtime()` is honored. */
29 /** `set_motion_hits_runtime()` is honored; otherwise the controller refuses it. */
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 */
38 /** `trigger_recalibration()` is honored; otherwise the controller refuses it. */
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 */
47 /** The runtime reports the extended diagnostics block used by stats payloads. */
49 /** The runtime owns CSI traffic generation and can be asked to retune it. */
51};
52
53} // namespace espectre
What a runtime actually offers its frontend.
bool supports_manual_recalibration
trigger_recalibration() is honored; otherwise the controller refuses it.
bool supports_runtime_threshold_updates
set_threshold_runtime() is honored.
bool supports_live_telemetry
The runtime drives IRuntimeListener::on_live_telemetry() at all.
bool supports_runtime_motion_hits_updates
set_motion_hits_runtime() is honored; otherwise the controller refuses it.
bool supports_runtime_detector_selection
set_detection_algorithm_runtime() is honored.
bool supports_traffic_control
The runtime owns CSI traffic generation and can be asked to retune it.
bool supports_extended_diagnostics
The runtime reports the extended diagnostics block used by stats payloads.