Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
logger.h File Reference

Core data logger abstraction. More...

#include <stdint.h>
#include <infuse/types.h>
#include <infuse/epacket/interface.h>

Go to the source code of this file.

Data Structures

struct  data_logger_state
 
struct  data_logger_persistent_block_header
 
struct  data_logger_cb
 

Macros

#define DATA_LOGGER_DEPENDENCIES_MET(node_id)
 Are the dependencies for this data logger met?
 
#define DATA_LOGGER_MAX_SIZE(node_id)
 Maximum required block size for each logger backend.
 

Functions

void data_logger_get_state (const struct device *dev, struct data_logger_state *state)
 Get the current data logger state.
 
int data_logger_block_write (const struct device *dev, enum infuse_type type, void *block, uint16_t block_len)
 Write a block to the data logger.
 
int data_logger_block_read (const struct device *dev, uint32_t block_idx, uint16_t block_offset, void *block, uint16_t block_len)
 Read a block from the data logger.
 
int data_logger_erase (const struct device *dev, bool erase_all, void(*erase_progress)(uint32_t blocks_erased))
 Completely erase a data logger.
 
int data_logger_flush (const struct device *dev)
 Flush any data pending in a RAM buffer to the backend.
 
void data_logger_register_cb (const struct device *dev, struct data_logger_cb *cb)
 Register for event callbacks from the data logger.
 

Detailed Description

Core data logger abstraction.

Author
Jordan Yates jorda.nosp@m.n@em.nosp@m.beint.nosp@m..com

SPDX-License-Identifier: FSL-1.1-ALv2