Telemetry support.
More...
#include <stddef.h>
#include <sys/queue.h>
#include <zephyr/kernel.h>
#include <zephyr/sys/iterable_sections.h>
#include <zephyr/sys/util.h>
#include "nturt/msg/aggregation.h"
|
#define | TM_DATA_DECLARE(name, type) |
| Declare a telemetry data, useful for header files.
|
|
#define | TM_DATA_DEFINE(_name, _type, _addr) |
| Define a telemetry data.
|
|
#define | TM_ALIAS_DECLARE(name, alias) |
| Declare a telemetry data alias, useful for header files.
|
|
#define | TM_ALIAS_DEFINE(_name, _alias, _addr) |
| Define a telemetry data alias.
|
|
#define | TM_GROUP_DATA(data, ...) |
| Specify a telemetry data to be aggregated and published by a telemetry group. Used in TM_GROUP_DEFINE.
|
|
#define | TM_GROUP_DEFINE(_name, _period, _min_separation, _watermark, _flag, _publish, _user_data, ...) |
| Define a telemetry group to aggregrate and publish telementry data.
|
|
#define | TM_DATA_GET(name) |
| Get the value of telemetry data using its name.
|
|
#define | TM_DATA_UPDATE(name, value) |
| Update telemetry data using its name and value.
|
|
|
typedef void(* | tm_publish_t) (uint32_t addr, const void *data, size_t size, void *user_data) |
| Function to publish the data.
|
|
|
int | tm_data_get (uint32_t addr, void *value) |
| Get telemetry data using its address and pointer to value.
|
|
int | tm_data_update (uint32_t addr, const void *value) |
| Update telemetry data using its address and pointer to value.
|
|
void | tm_data_notify_lock (const struct tm_data *data) |
| Notify the telemetry groups that this data has been updated. Must be called while holding the lock.
|
|
void | tm_group_copy (struct tm_group *group) |
| Copy the data in the telemetry data to the group's publishing buffer.
|
|
Telemetry support.
- Author
- quantumspawner
- Version
- 0.0.1
- Date
- 2024-12-27
- Copyright
- Copyright (c) 2024 NTU Racing Team