From 618a5fc3d1236a5729c157d85052b73d194d467e Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Mon, 11 Nov 2019 17:51:08 +0100 Subject: [PATCH] mesh: fix transition setup in generic on/off and generic level server --- src/mesh/mesh_generic_level_server.c | 8 ++++---- src/mesh/mesh_generic_on_off_server.c | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/mesh/mesh_generic_level_server.c b/src/mesh/mesh_generic_level_server.c index 8dc0bcc3c..bd47ed851 100644 --- a/src/mesh/mesh_generic_level_server.c +++ b/src/mesh/mesh_generic_level_server.c @@ -164,18 +164,18 @@ static void mesh_server_transition_step(mesh_transition_t * base_transition, tra static void mesh_server_transition_setup_transition_or_instantaneous_update_int16(mesh_model_t *mesh_model, uint8_t transition_time_gdtt, uint8_t delay_time_gdtt, model_state_update_reason_t reason){ mesh_generic_level_state_t * generic_level_server_state = (mesh_generic_level_state_t *)mesh_model->model_data; - mesh_transition_t transition = generic_level_server_state->transition_data.base_transition; + mesh_transition_t * transition = &generic_level_server_state->transition_data.base_transition; if (transition_time_gdtt != 0 || delay_time_gdtt != 0) { - mesh_access_transitions_setup(&transition, mesh_model, transition_time_gdtt, delay_time_gdtt, &mesh_server_transition_step); - mesh_access_transitions_add(&transition); + mesh_access_transitions_setup(transition, mesh_model, transition_time_gdtt, delay_time_gdtt, &mesh_server_transition_step); + mesh_access_transitions_add(transition); } else { // instantaneous update generic_level_server_state->transition_data.current_value = generic_level_server_state->transition_data.target_value; generic_level_server_state->transition_data.stepwise_value_increment = 0; generic_level_server_state->transition_data.delta_from_initial_value = 0; generic_level_server_state->transition_data.transition_speed = 0; - mesh_access_transitions_setup(&transition, mesh_model, 0, 0, NULL); + mesh_access_transitions_setup(transition, mesh_model, 0, 0, NULL); mesh_access_emit_state_update_int16(mesh_model->model_packet_handler, mesh_access_get_element_index(mesh_model), diff --git a/src/mesh/mesh_generic_on_off_server.c b/src/mesh/mesh_generic_on_off_server.c index f5f21f470..58c674070 100644 --- a/src/mesh/mesh_generic_on_off_server.c +++ b/src/mesh/mesh_generic_on_off_server.c @@ -145,18 +145,18 @@ static void mesh_server_transition_step_bool(mesh_transition_t * base_transition static void mesh_server_transition_setup_transition_or_instantaneous_update(mesh_model_t *mesh_model, uint8_t transition_time_gdtt, uint8_t delay_time_gdtt, model_state_update_reason_t reason){ mesh_generic_on_off_state_t * generic_on_off_server_state = (mesh_generic_on_off_state_t *)mesh_model->model_data; - mesh_transition_t transition = generic_on_off_server_state->transition_data.base_transition; + mesh_transition_t * transition = &generic_on_off_server_state->transition_data.base_transition; if (transition_time_gdtt != 0 || delay_time_gdtt != 0) { - mesh_access_transitions_setup(&transition, (mesh_model_t *) mesh_model, + mesh_access_transitions_setup(transition, (mesh_model_t *) mesh_model, transition_time_gdtt, delay_time_gdtt, &mesh_server_transition_step_bool); - mesh_access_transitions_add(&transition); + mesh_access_transitions_add(transition); } else { generic_on_off_server_state->transition_data.current_value = generic_on_off_server_state->transition_data.target_value; - transition.phase_start_ms = 0; - transition.remaining_delay_time_ms = 0; - transition.remaining_transition_time_ms = 0; - transition.state = MESH_TRANSITION_STATE_IDLE; + transition->phase_start_ms = 0; + transition->remaining_delay_time_ms = 0; + transition->remaining_transition_time_ms = 0; + transition->state = MESH_TRANSITION_STATE_IDLE; mesh_access_emit_state_update_bool(mesh_model->model_packet_handler, mesh_access_get_element_index(mesh_model),