![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
pachas
Dependencies: mbed QEI FastPWM
Diff: ventilator.cpp
- Revision:
- 0:9d0b9785d3d6
- Child:
- 1:aa5df1878126
diff -r 000000000000 -r 9d0b9785d3d6 ventilator.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ventilator.cpp Sat Apr 11 22:53:05 2020 +0000 @@ -0,0 +1,115 @@ + +/* File inclusion */ +#include "mbed.h" +#include "stdint.h" +#include "QEI.h" +#include "project_defines.h" +#include "buttons.h" +#include "encoder_interface.h" +#include "tft_interface.h" +#include "ventilator.h" + + + +/* Global variable definition */ +state_t system_state = SYSTEM_DEFAULT_STATE; +uint8_t first_time_in_state = 1; + +/* Function definition */ +void TFT_Encoder_Interaction(void){ + + switch(system_state){ + case Main_Screen_Cursor_Disable: + if(Get_Button_Press(1 << ENTER_SW)){ + rotary_encoder.reset(); + system_state = Main_Screen_Cursor_Enable; + } + + break; + + case Main_Screen_Cursor_Enable: + if(first_time_in_state){ + first_time_in_state = 0; + Parameter_Selection_Box_Update(); + }else if(parameter_selection_index_change_flag){ + parameter_selection_index_change_flag = 0; + Parameter_Selection_Box_Update(); + }else{ + //Does nothing + } + + if(Get_Button_Press(1 << ENTER_SW)){ + system_state = (state_t)(2 + parameter_selection_index); + first_time_in_state = 1; + } + + break; + + + case Main_Screen_Volume_Setpoint_Adjust: + if(first_time_in_state){ + first_time_in_state = 0; + Volume_Setpoint_Display_Update(); + }else if(volume_setpoint_index_change_flag){ + volume_setpoint_index_change_flag = 0; + Volume_Setpoint_Display_Update(); + }else{ + //Does nothing + } + + if(Get_Button_Press(1 << ENTER_SW)){ + system_state = Main_Screen_Cursor_Disable; + first_time_in_state = 1; + Volume_Setpoint_Fix(); + Parameter_Selection_Box_Remove(); + } + + break; + + case Main_Screen_Resp_Frequency_Adjust: + if(first_time_in_state){ + first_time_in_state = 0; + Resp_Frequency_Display_Update(); + }else if(resp_frequency_index_change_flag){ + resp_frequency_index_change_flag = 0; + Resp_Frequency_Display_Update(); + }else{ + //Does nothing + } + + if(Get_Button_Press(1 << ENTER_SW)){ + system_state = Main_Screen_Cursor_Disable; + first_time_in_state = 1; + Resp_Frequency_Fix(); + Parameter_Selection_Box_Remove(); + } + + break; + + + case Main_Screen_I_E_Ratio_Adjust: + if(first_time_in_state){ + first_time_in_state = 0; + I_E_Ratio_Display_Update(); + }else if(i_e_ratio_index_change_flag){ + i_e_ratio_index_change_flag = 0; + I_E_Ratio_Display_Update(); + }else{ + //Does nothing + } + + if(Get_Button_Press(1 << ENTER_SW)){ + system_state = Main_Screen_Cursor_Disable; + first_time_in_state = 1; + I_E_Ratio_Fix(); + Parameter_Selection_Box_Remove(); + } + + break; + + default: + break; + + } + + } \ No newline at end of file