7#ifndef _VTF_MONITORING_H_
8#define _VTF_MONITORING_H_
12#include <zephyr/sys/iterable_sections.h>
22#define VTF_CH_INITIALIZATION_CODE 0xAA
118#define VTF_CHANNEL_DEFINE(_sym, _id, _sample_fn, _init_fn, _type, _field, _default) \
119 const int unique_id_##_id = 0; \
120 static const STRUCT_SECTION_ITERABLE(vtf_channel, _sym) = { \
122 .sample = (_sample_fn), \
123 .init = (_init_fn), \
124 .default_type = (_type), \
125 .default_value._field = (_default), \
vtf_sample_status
Definition vtf_monitoring.h:42
@ VTF_STATUS_OK
Definition vtf_monitoring.h:44
@ VTF_STATUS_UNINITIALISED
Definition vtf_monitoring.h:46
@ VTF_STATUS_ERROR
Definition vtf_monitoring.h:48
#define VTF_CH_INITIALIZATION_CODE
Definition vtf_monitoring.h:22
vtf_channel_id
Definition vtf_monitoring.h:28
@ VTF_CH_COUNT
Definition vtf_monitoring.h:33
@ VTF_CH_FREQ_OFFSET
Definition vtf_monitoring.h:32
@ VTF_CH_BATTERY_VOLTAGE
Definition vtf_monitoring.h:30
@ VTF_CH_INITIALIZATION
Definition vtf_monitoring.h:29
@ VTF_CH_DIE_TEMP
Definition vtf_monitoring.h:31
static bool vtf_monitoring_is_ready(void)
Check whether VTF monitoring initialization is complete.
Definition vtf_monitoring.h:135
vtf_sample_type
Definition vtf_monitoring.h:51
@ VTF_SAMPLE_TYPE_UINT
Definition vtf_monitoring.h:53
@ VTF_SAMPLE_TYPE_FLOAT
Definition vtf_monitoring.h:54
@ VTF_SAMPLE_TYPE_INT
Definition vtf_monitoring.h:52
volatile union vtf_sample_value vtf_snapshots[VTF_CH_COUNT]
union vtf_sample_value default_value
Definition vtf_monitoring.h:87
enum vtf_channel_id id
Definition vtf_monitoring.h:81
enum vtf_sample_type default_type
Definition vtf_monitoring.h:83
int(* init)(void)
Definition vtf_monitoring.h:100
int(* sample)(struct vtf_sample *out)
Definition vtf_monitoring.h:95
Definition vtf_monitoring.h:79
union vtf_sample_value value
Definition vtf_monitoring.h:72
enum vtf_sample_status status
Definition vtf_monitoring.h:74
enum vtf_sample_type type
Definition vtf_monitoring.h:71
uint64_t timestamp_ms
Definition vtf_monitoring.h:73
Definition vtf_monitoring.h:70
float f32
Definition vtf_monitoring.h:66
int32_t i32
Definition vtf_monitoring.h:64
uint32_t u32
Definition vtf_monitoring.h:65
vtf_metadata_t metadata
Definition vtf_monitoring.h:63
Definition vtf_monitoring.h:62