Data logger API .
More...
|
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.
|
|
Data logger API .
◆ DATA_LOGGER_DEPENDENCIES_MET
#define DATA_LOGGER_DEPENDENCIES_MET |
( |
| node_id | ) |
|
#include <infuse/data_logger/logger.h>
Value: COND_CODE_1(DT_NODE_HAS_COMPAT(node_id, embeint_data_logger_epacket), \
#define EPACKET_INTERFACE_IS_COMPILED_IN(node_id)
Will this ePacket interface be compiled in?
Definition interface.h:52
Are the dependencies for this data logger met?
- Parameters
-
node_id | embeint,data-logger node ID |
- Return values
-
1 | if data logger dependencies exist in build |
0 | if data logger dependencies do NOT exist in build |
◆ DATA_LOGGER_MAX_SIZE
#define DATA_LOGGER_MAX_SIZE |
( |
| node_id | ) |
|
#include <infuse/data_logger/logger.h>
Value: COND_CODE_1( \
DT_NODE_HAS_COMPAT(node_id, embeint_data_logger_flash_map), (512), \
(COND_CODE_1(DT_NODE_HAS_COMPAT(node_id, embeint_data_logger_epacket), \
((COND_CODE_1(DT_NODE_HAS_COMPAT(node_id, embeint_data_logger_exfat), \
(512), ()))))))
#define EPACKET_INTERFACE_MAX_PAYLOAD(node_id)
Definition interface.h:41
Maximum required block size for each logger backend.
- Parameters
-
node_id | embeint,data-logger node ID |
- Returns
- Maximum size of a block on the logger
◆ data_logger_block_read()
int data_logger_block_read |
( |
const struct device * | dev, |
|
|
uint32_t | block_idx, |
|
|
uint16_t | block_offset, |
|
|
void * | block, |
|
|
uint16_t | block_len ) |
#include <infuse/data_logger/logger.h>
Read a block from the data logger.
- Note
- Can read over block boundaries
-
First bytes on each block will be the logging overhead
- Parameters
-
dev | Data logger to read from |
block_idx | Logical block number |
block_offset | Byte offset within the block |
block | Block data pointer |
block_len | Block bytes to read |
- Return values
-
0 | on success |
-ENOTSUP | reading not supported by logger |
-ENOENT | requested data that does not exist |
-EBUSY | data logger is being erased |
-errno | on error |
◆ data_logger_block_write()
int data_logger_block_write |
( |
const struct device * | dev, |
|
|
enum infuse_type | type, |
|
|
void * | block, |
|
|
uint16_t | block_len ) |
#include <infuse/data_logger/logger.h>
Write a block to the data logger.
- Note
- Some hardware-accelerated backends may have alignment or size restrictions for the provided block buffer.
- Parameters
-
dev | Data logger to write to |
type | Data type being written |
block | Block data pointer (Overhead bytes will be overwritten) |
block_len | Total block data length (Including overhead bytes) |
- Return values
-
0 | on success |
-ENOTCONN | data logger is currently disconnected |
-EINVAL | invalid block length |
-ENOMEM | data logger is full |
-errno | on error |
◆ data_logger_erase()
int data_logger_erase |
( |
const struct device * | dev, |
|
|
bool | erase_all, |
|
|
void(* | erase_progress )(uint32_t blocks_erased) ) |
#include <infuse/data_logger/logger.h>
Completely erase a data logger.
Attempting to write to a logger while the erase is ongoing will silently fail with return code 0.
- Parameters
-
dev | Data logger to erase |
erase_all | Run erase function on ALL blocks, not just those with data |
erase_progress | Callback periodically run with the erase progress |
- Return values
-
0 | on success |
-ENOTSUP | erasing not supported by logger |
-errno | on error |
◆ data_logger_flush()
int data_logger_flush |
( |
const struct device * | dev | ) |
|
#include <infuse/data_logger/logger.h>
Flush any data pending in a RAM buffer to the backend.
This function only performs useful work on data loggers with an attached RAM buffer.
- Parameters
-
- Return values
-
0 | on success |
-ENOTCONN | data logger is currently disconnected |
-ENOMEM | data logger is full |
-errno | on error |
◆ data_logger_get_state()
void data_logger_get_state |
( |
const struct device * | dev, |
|
|
struct data_logger_state * | state ) |
◆ data_logger_register_cb()
void data_logger_register_cb |
( |
const struct device * | dev, |
|
|
struct data_logger_cb * | cb ) |
#include <infuse/data_logger/logger.h>
Register for event callbacks from the data logger.
- Parameters
-
dev | Data logger instance |
cb | Callback structure |