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 |