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>
58typedef void (*
algorithm_run_fn)(
const struct zbus_channel *chan,
const void *config,
void *data);
68 const struct zbus_channel *_changed;
111 uint16_t tdf_id, uint8_t tdf_len, uint64_t time,
const void *data);
void algorithm_runner_tdf_log(const struct algorithm_runner_common_config *config, 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.
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_run_fn)(const struct zbus_channel *chan, const void *config, void *data)
Algorithm implementation.
Definition runner.h:58
void algorithm_runner_init(void)
Initialise the algorithm runner.
algorithm_run_fn impl
Definition runner.h:62
const struct algorithm_runner_common_config * config
Definition runner.h:64
void * runtime_state
Definition runner.h:66
struct algorithm_runner_common_config::@5 logging
uint8_t loggers
TDF loggers to log to.
Definition runner.h:39
uint16_t state_size
Definition runner.h:35
uint32_t zbus_channel
Definition runner.h:33
uint32_t algorithm_id
Definition runner.h:31
uint8_t tdf_mask
TDFs to log (bitmask defined by the activity)
Definition runner.h:41