This module implements the transitional behavior commonly required by mesh models.
More...
This module implements the transitional behavior commonly required by mesh models.
This transition module provides a generic sample based way to implement incremental value changes.
This module provides four callbacks to indicate various stages of transitions. The higher level module should implement the code for the moving the state from present value to target value with the use of these callbacks.
Depending upon the transition parameters, this module may trigger large number of app_transition_transition_tick_cb_t callbacks, therefore user must not do time consuming operations inside the callback.
The smallest possible callback interval for a given transition time will be limited by MODEL_TIMER_TIMEOUT_MIN_TICKS.
◆ app_transition_delay_start_cb_t
typedef void(* app_transition_delay_start_cb_t) (const app_transition_t *p_transition) |
Delay start callback prototype.
This callback is called by the app_transition module at the begining of delay interval.
- Parameters
-
[out] | p_transition | Pointer to transition context |
Definition at line 105 of file app_transition.h.
◆ app_transition_transition_start_cb_t
typedef void(* app_transition_transition_start_cb_t) (const app_transition_t *p_transition) |
Transition start callback prototype.
This callback is called by the app_transition module at the start of value transition to reach target state.
- Parameters
-
[out] | p_transition | Pointer to transition context |
Definition at line 114 of file app_transition.h.
◆ app_transition_transition_tick_cb_t
typedef void(* app_transition_transition_tick_cb_t) (const app_transition_t *p_transition) |
Transition tick callback prototype.
This callback is called by the app_transition module to inform parent module to advance the current value to the next step. Depending on the choice of underlaying lighting peripheral application may or may not use this callback.
- Parameters
-
[out] | p_transition | Pointer to transition context |
Definition at line 124 of file app_transition.h.
◆ app_transition_transition_complete_cb_t
typedef void(* app_transition_transition_complete_cb_t) (const app_transition_t *p_transition) |
Transition complete callback prototype.
This callback is called by the app_transition module to indicate the end of the transition.
- Note
- In case of MOVE transition, this callback is never called. The move transition stops if it is aborted explicitly or if a new non-move transition is triggered.
- Parameters
-
[out] | p_transition | Pointer to transition context |
Definition at line 135 of file app_transition.h.
◆ app_transition_type_t
Transition types.
Enumerator |
---|
APP_TRANSITION_TYPE_SET | indicating SET message
|
APP_TRANSITION_TYPE_DELTA_SET | indicating DELTA SET message
|
APP_TRANSITION_TYPE_MOVE_SET | indicating MOVE SET message
|
APP_TRANSITION_TYPE_NONE | indicating no transition
|
Definition at line 70 of file app_transition.h.
◆ app_transition_remaining_time_get()
uint32_t app_transition_remaining_time_get |
( |
app_transition_t * |
p_transition | ) |
|
Gets the remaining transition time in milliseconds.
- Note
- If delay is being executed, this function will return the total transition time requested at the start of the transition.
- Parameters
-
[in] | p_transition | Pointer to transition context. |
- Returns
- Transition time in milliseconds.
◆ app_transition_elapsed_time_get()
uint32_t app_transition_elapsed_time_get |
( |
app_transition_t * |
p_transition | ) |
|
Gets the elapsed transition time in milliseconds.
- Note
- If delay is being executed, this function will return zero.
- Parameters
-
[in] | p_transition | Pointer to transition context. |
- Returns
- Transition time in milliseconds.
◆ app_transition_time_complete_check()
bool app_transition_time_complete_check |
( |
app_transition_t * |
p_transition | ) |
|
Checks if the transition time has been complete.
- Parameters
-
[in] | p_transition | Pointer to transition context. |
- Return values
-
True | If transition has been completed or no transition is being executed. |
False | If transition has not been completed. |
◆ app_transition_trigger()
void app_transition_trigger |
( |
app_transition_t * |
p_transition | ) |
|
Starts the transition with specified transition parameters.
- Parameters
-
[in] | p_transition | Pointer to transition context. |
◆ app_transition_abort()
void app_transition_abort |
( |
app_transition_t * |
p_transition | ) |
|
Aborts the transition if any in progress.
- Parameters
-
[in] | p_transition | Pointer to transition context. |
◆ app_transition_init()
uint32_t app_transition_init |
( |
app_transition_t * |
p_transition | ) |
|
Initializes the transition module.
- Parameters
-
[in] | p_transition | Pointer to the app_transition_t structure |
- Return values
-
NRF_SUCCESS | The transition module is initialized successfully. |
NRF_ERROR_NULL | NULL pointer is supplied to the function or to the required member variable pointers. |
NRF_ERROR_INVALID_PARAM | If the application timer module has not been initialized. |
NRF_ERROR_INVALID_STATE | If the application timer is running. |
◆ app_transition_requested_get()
Gets a pointer to the structure with parameters for the requested transition.
- Parameters
-
[in] | p_transition | Pointer to the app_transition_t structure |
- Returns
- Pointer to the parameters.
Definition at line 228 of file app_transition.h.
◆ app_transition_ongoing_get()
Gets a pointer to the structure with parameters of the ongoing transition.
- Parameters
-
[in] | p_transition | Pointer to the app_transition_t structure |
- Returns
- Pointer to the parameters.
Definition at line 239 of file app_transition.h.