![]() |
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.