![]() |
NTURT Zephyr v0.0.1
NTURT common library for Zephyr RTOS
|
Data aggregation. More...
#include <nturt/msg/aggregation.h>
Data Fields | |
const char * | name |
const int | flag |
const size_t | num_member |
const uint8_t *const | member_flags |
const uint32_t | fully_updated |
const k_timeout_t | period |
const k_timeout_t | min_separation |
const k_timeout_t | watermark |
const agg_publish_t | publish |
void *const | user_data |
struct k_spinlock | lock |
struct k_timer | period_timer |
struct k_timer | early_timer |
struct k_work_delayable | work |
uint32_t | updated |
Data aggregation.
struct k_timer agg::early_timer |
Timer for tracking minimum separation time.
const int agg::flag |
Flag of the aggregation.
const uint32_t agg::fully_updated |
What agg::updated should be when every members are updated.
struct k_spinlock agg::lock |
Spinlock to protect the following struct members.
const uint8_t* const agg::member_flags |
Flags of the members.
const k_timeout_t agg::min_separation |
Minimum separation time between two data publishing.
const char* agg::name |
Name of the aggregation.
const size_t agg::num_member |
Number of members to be monitored for updating.
const k_timeout_t agg::period |
Period of data publishing.
struct k_timer agg::period_timer |
Timer for periodic publishing.
const agg_publish_t agg::publish |
Function to publish the data.
uint32_t agg::updated |
Which member has been updated, each bit represents one member.
void* const agg::user_data |
User data for the callback.
const k_timeout_t agg::watermark |
Watermark to wait for late-arriving members.
struct k_work_delayable agg::work |
Work for the bottom half of publishing, also used for late publishing.