10#ifndef INFUSE_SDK_INCLUDE_INFUSE_ALGORITHM_RUNNER_RUNNER_H_
11#define INFUSE_SDK_INCLUDE_INFUSE_ALGORITHM_RUNNER_RUNNER_H_
15#include <zephyr/toolchain.h>
16#include <zephyr/sys/slist.h>
17#include <zephyr/zbus/zbus.h>
60 const void *args,
void *data);
72 const struct zbus_channel *_changed;
117 uint16_t tdf_id, uint8_t tdf_len, uint64_t time,
const void *data);
bool algorithm_runner_unregister(struct algorithm_runner_algorithm *algorithm)
Unregister an algorithm from the runner.
void algorithm_runner_register(struct algorithm_runner_algorithm *algorithm)
Register an algorithm with the runner.
void algorithm_runner_init(void)
Initialise the algorithm runner.
void(* algorithm_run_fn)(const struct zbus_channel *chan, const struct algorithm_runner_common_config *common, const void *args, void *data)
Algorithm implementation.
Definition runner.h:58
void algorithm_runner_tdf_log(const struct kv_algorithm_logging *logging, uint8_t tdf_mask, uint16_t tdf_id, uint8_t tdf_len, uint64_t time, const void *data)
Log a single TDF as requested by algorithm configuration.
Autogenerated KV definitions.
algorithm_run_fn impl
Definition runner.h:64
const struct algorithm_runner_common_config * config
Definition runner.h:66
void * runtime_state
Definition runner.h:70
void * arguments
Definition runner.h:68
uint16_t arguments_kv_key
Definition runner.h:41
uint16_t state_size
Definition runner.h:39
uint32_t zbus_channel
Definition runner.h:35
uint32_t algorithm_id
Definition runner.h:33
uint16_t arguments_size
Definition runner.h:37
Algorithm logging configuration.
Definition kv_types.h:87