12#ifndef INFUSE_SDK_INCLUDE_INFUSE_DATA_LOGGER_HIGH_LEVEL_TDF_H_
13#define INFUSE_SDK_INCLUDE_INFUSE_DATA_LOGGER_HIGH_LEVEL_TDF_H_
17#include <zephyr/device.h>
18#include <zephyr/sys/util.h>
36 _TDF_DATA_LOGGER_FLASH_OFFSET = 0,
38 _TDF_DATA_LOGGER_REMOVABLE_OFFSET = 1,
40 _TDF_DATA_LOGGER_SERIAL_OFFSET = 2,
42 _TDF_DATA_LOGGER_UDP_OFFSET = 3,
44 _TDF_DATA_LOGGER_BT_ADV_OFFSET = 4,
46 _TDF_DATA_LOGGER_BT_PERIPHERAL_OFFSET = 5,
85 uint32_t idx_period,
const void *data);
102 uint32_t idx_period,
const void *data);
119 uint8_t tdf_len, uint8_t tdf_num, uint64_t time,
120 uint32_t period,
const void *data)
138 uint8_t tdf_num, uint64_t time, uint32_t period,
158 uint8_t tdf_len, uint64_t time,
const void *data)
174 uint64_t time,
const void *data)
193#define TDF_DATA_LOGGER_LOG(logger_mask, tdf_id, tdf_time, data) \
194 tdf_data_logger_log(logger_mask, tdf_id, sizeof(TDF_TYPE(tdf_id)), tdf_time, data); \
196 __maybe_unused const TDF_TYPE(tdf_id) *_data = data; \
214#define TDF_DATA_LOGGER_LOG_ARRAY(logger_mask, tdf_id, tdf_num, tdf_time, period, data) \
215 tdf_data_logger_log_array(logger_mask, tdf_id, sizeof(TDF_TYPE(tdf_id)), tdf_num, \
216 tdf_time, period, data); \
218 __maybe_unused const TDF_TYPE(tdf_id) *_data = data; \
tdf_data_format
Definition tdf.h:39
@ TDF_DATA_FORMAT_TIME_ARRAY
Time array with period.
Definition tdf.h:43
@ TDF_DATA_FORMAT_SINGLE
Single sample.
Definition tdf.h:41
static void tdf_data_logger_log(uint8_t logger_mask, uint16_t tdf_id, uint8_t tdf_len, uint64_t time, const void *data)
Add a single TDF to multiple data loggers.
Definition tdf.h:173
int tdf_data_logger_log_core_dev(const struct device *dev, uint16_t tdf_id, uint8_t tdf_len, uint8_t tdf_num, enum tdf_data_format format, uint64_t time, uint32_t idx_period, const void *data)
Add multiple TDFs to a data logger.
static void tdf_data_logger_log_array(uint8_t logger_mask, uint16_t tdf_id, uint8_t tdf_len, uint8_t tdf_num, uint64_t time, uint32_t period, const void *data)
Add multiple TDFs to multiple data loggers.
Definition tdf.h:137
void tdf_data_logger_flush(uint8_t logger_mask)
Flush any pending TDFs to multiple backends.
static int tdf_data_logger_log_array_dev(const struct device *dev, uint16_t tdf_id, uint8_t tdf_len, uint8_t tdf_num, uint64_t time, uint32_t period, const void *data)
Add multiple TDFs to a data logger.
Definition tdf.h:118
tdf_data_logger_mask
TDF data logger backends.
Definition tdf.h:52
int tdf_data_logger_remote_id_set(const struct device *dev, uint64_t remote_id)
Set the remote ID associated with the logger.
static int tdf_data_logger_log_dev(const struct device *dev, uint16_t tdf_id, uint8_t tdf_len, uint64_t time, const void *data)
Add a single TDF to a data logger.
Definition tdf.h:157
int tdf_data_logger_block_bytes_remaining(const struct device *dev)
Query the number of bytes remaining until the logger block will be flushed.
int tdf_data_logger_block_bytes_pending(const struct device *dev)
Query the number of bytes pending on the current block.
int tdf_data_logger_flush_dev(const struct device *dev)
Flush any pending TDFs to backend.
void tdf_data_logger_log_core(uint8_t logger_mask, uint16_t tdf_id, uint8_t tdf_len, uint8_t tdf_num, enum tdf_data_format format, uint64_t time, uint32_t idx_period, const void *data)
Add multiple TDFs to multiple data loggers.
@ TDF_DATA_LOGGER_FLASH
Permanent flash storage device.
Definition tdf.h:54
@ TDF_DATA_LOGGER_SERIAL
Serial communications interface.
Definition tdf.h:58
@ TDF_DATA_LOGGER_BT_ADV
Bluetooth advertising communications interface.
Definition tdf.h:62
@ TDF_DATA_LOGGER_BT_PERIPHERAL
Bluetooth GATT peripheral communications interface.
Definition tdf.h:64
@ TDF_DATA_LOGGER_UDP
UDP communications interface.
Definition tdf.h:60
@ TDF_DATA_LOGGER_REMOVABLE
Removable flash storage device.
Definition tdf.h:56