|
Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
|
Data logger API. More...
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. | |
Data logger API.
| #define DATA_LOGGER_DEPENDENCIES_MET | ( | node_id | ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/data_logger/logger.h>
Are the dependencies for this data logger met?
| node_id | embeint,data-logger node ID |
| 1 | if data logger dependencies exist in build |
| 0 | if data logger dependencies do NOT exist in build |
| #define DATA_LOGGER_MAX_SIZE | ( | node_id | ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/data_logger/logger.h>
Maximum required block size for each logger backend.
| node_id | embeint,data-logger node ID |
| int data_logger_block_read | ( | const struct device * | dev, |
| uint32_t | block_idx, | ||
| uint16_t | block_offset, | ||
| void * | block, | ||
| uint16_t | block_len ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/data_logger/logger.h>
Read a block from the data logger.
| 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 |
| 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 |
| int data_logger_block_write | ( | const struct device * | dev, |
| enum infuse_type | type, | ||
| void * | block, | ||
| uint16_t | block_len ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/data_logger/logger.h>
Write a block to the data logger.
| 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) |
| 0 | on success |
| -ENOTCONN | data logger is currently disconnected |
| -EINVAL | invalid block length |
| -ENOMEM | data logger is full |
| -errno | on error |
| int data_logger_erase | ( | const struct device * | dev, |
| bool | erase_all, | ||
| void(* | erase_progress )(uint32_t blocks_erased) ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/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.
| 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 |
| 0 | on success |
| -ENOTSUP | erasing not supported by logger |
| -errno | on error |
| int data_logger_flush | ( | const struct device * | dev | ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/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.
| dev | Data logger to flush |
| 0 | on success |
| -ENOTCONN | data logger is currently disconnected |
| -ENOMEM | data logger is full |
| -errno | on error |
| void data_logger_get_state | ( | const struct device * | dev, |
| struct data_logger_state * | state ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/data_logger/logger.h>
Get the current data logger state.
| dev | Data logger to query |
| state | State storage |
| void data_logger_register_cb | ( | const struct device * | dev, |
| struct data_logger_cb * | cb ) |
#include </__w/infuse-sdk/infuse-sdk/infuse-sdk/include/infuse/data_logger/logger.h>
Register for event callbacks from the data logger.
| dev | Data logger instance |
| cb | Callback structure |