7#ifndef _VTF_MONITORING_H_
8#define _VTF_MONITORING_H_
12#include <zephyr/sys/iterable_sections.h>
98#define VTF_CHANNEL_DEFINE(_sym, _id, _sample_fn, _init_fn, _type, _field, _default) \
99 const int unique_id_##_id = 0; \
100 static const STRUCT_SECTION_ITERABLE(vtf_channel, _sym) = { \
102 .sample = (_sample_fn), \
103 .init = (_init_fn), \
104 .default_type = (_type), \
105 .default_value._field = (_default), \
vtf_sample_status
Definition vtf_monitoring.h:30
@ VTF_STATUS_OK
Definition vtf_monitoring.h:32
@ VTF_STATUS_UNINITIALISED
Definition vtf_monitoring.h:34
@ VTF_STATUS_ERROR
Definition vtf_monitoring.h:36
vtf_channel_id
Definition vtf_monitoring.h:22
@ VTF_CH_COUNT
Definition vtf_monitoring.h:26
@ VTF_CH_FREQ_OFFSET
Definition vtf_monitoring.h:25
@ VTF_CH_BATTERY_VOLTAGE
Definition vtf_monitoring.h:23
@ VTF_CH_DIE_TEMP
Definition vtf_monitoring.h:24
vtf_sample_type
Definition vtf_monitoring.h:39
@ VTF_SAMPLE_TYPE_UINT
Definition vtf_monitoring.h:41
@ VTF_SAMPLE_TYPE_FLOAT
Definition vtf_monitoring.h:42
@ VTF_SAMPLE_TYPE_INT
Definition vtf_monitoring.h:40
union vtf_sample_value default_value
Definition vtf_monitoring.h:67
enum vtf_channel_id id
Definition vtf_monitoring.h:61
enum vtf_sample_type default_type
Definition vtf_monitoring.h:63
int(* init)(void)
Definition vtf_monitoring.h:80
int(* sample)(struct vtf_sample *out)
Definition vtf_monitoring.h:75
Definition vtf_monitoring.h:59
union vtf_sample_value value
Definition vtf_monitoring.h:54
enum vtf_sample_status status
Definition vtf_monitoring.h:56
enum vtf_sample_type type
Definition vtf_monitoring.h:53
uint64_t timestamp_ms
Definition vtf_monitoring.h:55
Definition vtf_monitoring.h:52
float f32
Definition vtf_monitoring.h:48
int32_t i32
Definition vtf_monitoring.h:46
uint32_t u32
Definition vtf_monitoring.h:47
Definition vtf_monitoring.h:45