1 /* Bluetooth: Mesh Generic OnOff, Generic Level, Lighting & Vendor Models 2 * 3 * Copyright (c) 2018 Vikrant More 4 * 5 * SPDX-License-Identifier: Apache-2.0 6 */ 7 8 #ifndef _TRANSITION_H 9 #define _TRANSITION_H 10 11 #define DEVICE_SPECIFIC_RESOLUTION 10 12 13 enum transition_time { 14 DISABLE_TRANSITION = 0x00, 15 ONOFF_TT = 0x01, 16 LEVEL_TT, 17 LEVEL_TT_DELTA, 18 LEVEL_TT_MOVE, 19 LIGTH_LIGHTNESS_ACTUAL_TT, 20 LIGTH_LIGHTNESS_LINEAR_TT, 21 LIGTH_CTL_TT, 22 LEVEL_TEMP_TT, 23 LEVEL_TEMP_TT_DELTA, 24 LEVEL_TEMP_TT_MOVE, 25 LIGHT_CTL_TEMP_TT 26 }; 27 28 extern u8_t enable_transition; 29 extern u8_t default_tt; 30 31 extern struct ble_npl_callout onoff_transition_timer; 32 extern struct ble_npl_callout level_lightness_transition_timer; 33 extern struct ble_npl_callout level_temp_transition_timer; 34 extern struct ble_npl_callout light_lightness_actual_transition_timer; 35 extern struct ble_npl_callout light_lightness_linear_transition_timer; 36 extern struct ble_npl_callout light_ctl_transition_timer; 37 extern struct ble_npl_callout light_ctl_temp_transition_timer; 38 39 void onoff_tt_values(struct generic_onoff_state *state); 40 void level_tt_values(struct generic_level_state *state); 41 void delta_level_tt_values(struct generic_level_state *state); 42 void move_level_tt_values(struct generic_level_state *state); 43 void light_lightnes_actual_tt_values(struct light_lightness_state *state); 44 void light_lightnes_linear_tt_values(struct light_lightness_state *state); 45 void light_ctl_tt_values(struct light_ctl_state *state); 46 void light_ctl_temp_tt_values(struct light_ctl_state *state); 47 48 void onoff_handler(struct generic_onoff_state *state); 49 void level_lightness_handler(struct generic_level_state *state); 50 void level_temp_handler(struct generic_level_state *state); 51 void light_lightness_actual_handler(struct light_lightness_state *state); 52 void light_lightness_linear_handler(struct light_lightness_state *state); 53 void light_ctl_handler(struct light_ctl_state *state); 54 void light_ctl_temp_handler(struct light_ctl_state *state); 55 56 void transition_timers_init(void); 57 58 #endif 59