Trickle timer module interface definition. More...
Data Structures |
|
| struct | trickle_params_t |
|
Structure holds Trickle timer instance parameters.
More...
|
|
Macros |
|
| #define | TRICKLE_TIMER_TX_SUPPRESSION_OFF 0 |
Typedefs |
|
| typedef void(* | trickle_evt_handler_t )(uint32_t instance_id, trickle_evt_t event_type, uint32_t tx_evt_count) |
|
Callback function for notifying a Trickle timer instance of an event.
More...
|
|
Enumerations |
|
| enum |
trickle_evt_t
{
TRICKLE_EVT_DO_TX = 1, TRICKLE_EVT_TX_SKIPPED = 2, TRICKLE_EVT_IMAX_REACHED = 3, TRICKLE_EVT_DESTROYED = 4 } |
|
Trickle event types.
More...
|
|
| enum |
trickle_t_min_choice_t
{
TRICKLE_T_MIN_ZERO = 1, TRICKLE_T_MIN_HALF_I = 2 } |
|
Valid choices for t_min when creating a new Trickle instance.
More...
|
|
Functions |
|
| uint32_t | trickle_init (uint8_t rnd_seed) |
|
Function for initializing the Trickle timer module.
More...
|
|
| uint32_t | trickle_instance_create ( trickle_params_t *p_timer_params, uint32_t *p_instance_id) |
|
Function for creating a Trickle timer instance.
More...
|
|
| uint32_t | trickle_rx_consistent_register (uint32_t instance_id) |
|
Function for registering a "consistent" reception with the timer instance.
More...
|
|
| uint32_t | trickle_instance_reset (uint32_t instance_id) |
|
Function for resetting the timer instance.
More...
|
|
| uint32_t | trickle_instance_destroy (uint32_t instance_id) |
|
Function for destroying a timer instance and freeing the memory.
More...
|
|
| uint32_t | trickle_terminate (void) |
|
Function for terminating the Trickle timer.
More...
|
|
Detailed Description
Trickle timer module interface definition.
The Trickle timer implements the trickle algorithm as specified in
RFC 6202
. The module has a dependency on the Application timer module, only a single application timer instance is used. The value of the
APP_TIMER_PRESCALER
determines the accuracy of the Application timer and hence, the Trickle timer's accuracy as well. A lower
APP_TIMER_PRESCALER
value will increase accuracy and allow shorter timeouts. You can configure the module by changing the
sdk_config.h
configuration file.
Macro Definition Documentation
| #define TRICKLE_TIMER_TX_SUPPRESSION_OFF 0 |
Value reserved for the redundancy constant to turn off transmission suppression.
Typedef Documentation
| typedef void(* trickle_evt_handler_t)(uint32_t instance_id, trickle_evt_t event_type, uint32_t tx_evt_count) |
Callback function for notifying a Trickle timer instance of an event.
- Parameters
-
[in] instance_id Identifies the timer client instance from which the event originates from. [in] event_type Type of the event. [in] tx_evt_count Indicates how many times the instance generated a TRICKLE_EVT_DO_TXevent.
- Return values
-
None.
Enumeration Type Documentation
| enum trickle_evt_t |
Trickle event types.
Function Documentation
| uint32_t trickle_init | ( | uint8_t | rnd_seed | ) |
Function for initializing the Trickle timer module.
- Parameters
-
[in] rnd_seed Seed for the calculation a pseudo-random value for the interval and transmission times.
- Return values
-
NRF_ERROR_NO_MEM If TRICKLE_MAX_INSTANCESis equal to zero.NRF_ERROR_INVALID_STATE If the module is already initialized. NRF_SUCCESS On successful execution of procedure, else an error code indicating reason for failure.
| uint32_t trickle_instance_create | ( | trickle_params_t * | p_timer_params , |
| uint32_t * | p_instance_id | ||
| ) |
Function for creating a Trickle timer instance.
Sets new Trickle timer instance parameters and starts the timer.
- Parameters
-
[in] p_timer_params Initialization structure for the timer instance. Should not be NULL.[out] p_instance_id Identifier of the new Trickle timer instance.
- Return values
-
NRF_SUCCESS On successful execution of procedure, else an error code indicating reason for failure.
| uint32_t trickle_instance_destroy | ( | uint32_t | instance_id | ) |
Function for destroying a timer instance and freeing the memory.
- Parameters
-
[in] instance_id Identifier of the Trickle timer instance.
- Return values
-
NRF_SUCCESS On successful execution of procedure, else an error code indicating reason for failure.
| uint32_t trickle_instance_reset | ( | uint32_t | instance_id | ) |
Function for resetting the timer instance.
- Parameters
-
[in] instance_id Identifier of the Trickle timer instance.
- Return values
-
NRF_SUCCESS On successful execution of procedure, else an error code indicating reason for failure.
| uint32_t trickle_rx_consistent_register | ( | uint32_t | instance_id | ) |
Function for registering a "consistent" reception with the timer instance.
- Parameters
-
[in] instance_id Identifier of the Trickle timer instance.
- Return values
-
NRF_SUCCESS On successful execution of procedure, else an error code indicating reason for failure.
| uint32_t trickle_terminate | ( | void | ) |
Function for terminating the Trickle timer.
Stops timer (releases any resources), notifies and destroys all existing instances and stops.
- Return values
-
NRF_SUCCESS On successful execution of procedure, else an error code indicating reason for failure.