12#ifndef INFUSE_SDK_INCLUDE_INFUSE_ALGORITHM_RUNNER_ALGORITHMS_STATIONARY_WINDOWED_H_
13#define INFUSE_SDK_INCLUDE_INFUSE_ALGORITHM_RUNNER_ALGORITHMS_STATIONARY_WINDOWED_H_
17#include <zephyr/toolchain.h>
45 const void *args,
void *data);
57#define ALGORITHM_STATIONARY_WINDOWED_DEFINE(name, loggers_, tdfs, window_seconds_, threshold_ug) \
58 static const struct algorithm_runner_common_config name##_config = { \
59 .algorithm_id = 0x15F20000, \
60 .zbus_channel = INFUSE_ZBUS_CHAN_IMU_ACC_MAG, \
61 .arguments_size = sizeof(struct kv_alg_stationary_windowed_args), \
62 .state_size = sizeof(struct algorithm_stationary_windowed_data), \
63 .arguments_kv_key = KV_KEY_ALG_STATIONARY_WINDOWED_ARGS, \
65 static struct kv_alg_stationary_windowed_args name##_default_args = { \
68 .loggers = loggers_, \
73 .window_seconds = window_seconds_, \
74 .std_dev_threshold_ug = threshold_ug, \
77 static struct algorithm_stationary_windowed_data name##_data; \
78 static struct algorithm_runner_algorithm name = { \
79 .impl = algorithm_stationary_windowed_fn, \
80 .config = &name##_config, \
81 .arguments = &name##_default_args, \
82 .runtime_state = &name##_data, \
Infuse-IoT algorithm runner.
Infuse-IoT zbus channels.
void algorithm_stationary_windowed_fn(const struct zbus_channel *chan, const struct algorithm_runner_common_config *common, const void *args, void *data)
Algorithm implementation, see algorithm_run_fn.
@ ALGORITHM_STATIONARY_WINDOWED_LOG_WINDOW_STD_DEV
Definition stationary_windowed.h:34
Infuse-IoT statistics helpers.
Definition stationary_windowed.h:37
uint32_t window_end
Definition stationary_windowed.h:39
struct statistics_state stats
Definition stationary_windowed.h:38
Definition statistics.h:31