pachas

Dependencies:   mbed QEI FastPWM

Committer:
miguelangel_2511
Date:
Thu Apr 16 13:02:36 2020 +0000
Revision:
1:aa5df1878126
Parent:
0:9d0b9785d3d6
Child:
2:6f618b905d4f
Pantalla y encoder trabajan de forma coordinada. El driver del motor de pasos trabaja de forma independiente (aun no se ha enlazado con la pantalla y el encoder).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
miguelangel_2511 0:9d0b9785d3d6 1
miguelangel_2511 0:9d0b9785d3d6 2 /* File inclusion */
miguelangel_2511 0:9d0b9785d3d6 3 #include "mbed.h"
miguelangel_2511 0:9d0b9785d3d6 4 #include "stdint.h"
miguelangel_2511 0:9d0b9785d3d6 5 #include "QEI.h"
miguelangel_2511 0:9d0b9785d3d6 6 #include "project_defines.h"
miguelangel_2511 0:9d0b9785d3d6 7 #include "buttons.h"
miguelangel_2511 0:9d0b9785d3d6 8 #include "encoder_interface.h"
miguelangel_2511 0:9d0b9785d3d6 9 #include "tft_interface.h"
miguelangel_2511 0:9d0b9785d3d6 10 #include "ventilator.h"
miguelangel_2511 0:9d0b9785d3d6 11
miguelangel_2511 0:9d0b9785d3d6 12
miguelangel_2511 0:9d0b9785d3d6 13
miguelangel_2511 0:9d0b9785d3d6 14 /* Global variable definition */
miguelangel_2511 1:aa5df1878126 15 Main_Screen_State_t main_screen_state = MAIN_SCREEN_DEFAULT_STATE;
miguelangel_2511 0:9d0b9785d3d6 16 uint8_t first_time_in_state = 1;
miguelangel_2511 0:9d0b9785d3d6 17
miguelangel_2511 0:9d0b9785d3d6 18 /* Function definition */
miguelangel_2511 0:9d0b9785d3d6 19 void TFT_Encoder_Interaction(void){
miguelangel_2511 0:9d0b9785d3d6 20
miguelangel_2511 1:aa5df1878126 21 switch(main_screen_state){
miguelangel_2511 0:9d0b9785d3d6 22 case Main_Screen_Cursor_Disable:
miguelangel_2511 0:9d0b9785d3d6 23 if(Get_Button_Press(1 << ENTER_SW)){
miguelangel_2511 0:9d0b9785d3d6 24 rotary_encoder.reset();
miguelangel_2511 1:aa5df1878126 25 main_screen_state = Main_Screen_Cursor_Enable;
miguelangel_2511 0:9d0b9785d3d6 26 }
miguelangel_2511 0:9d0b9785d3d6 27
miguelangel_2511 0:9d0b9785d3d6 28 break;
miguelangel_2511 0:9d0b9785d3d6 29
miguelangel_2511 0:9d0b9785d3d6 30 case Main_Screen_Cursor_Enable:
miguelangel_2511 0:9d0b9785d3d6 31 if(first_time_in_state){
miguelangel_2511 0:9d0b9785d3d6 32 first_time_in_state = 0;
miguelangel_2511 0:9d0b9785d3d6 33 Parameter_Selection_Box_Update();
miguelangel_2511 0:9d0b9785d3d6 34 }else if(parameter_selection_index_change_flag){
miguelangel_2511 0:9d0b9785d3d6 35 parameter_selection_index_change_flag = 0;
miguelangel_2511 0:9d0b9785d3d6 36 Parameter_Selection_Box_Update();
miguelangel_2511 0:9d0b9785d3d6 37 }else{
miguelangel_2511 0:9d0b9785d3d6 38 //Does nothing
miguelangel_2511 0:9d0b9785d3d6 39 }
miguelangel_2511 0:9d0b9785d3d6 40
miguelangel_2511 0:9d0b9785d3d6 41 if(Get_Button_Press(1 << ENTER_SW)){
miguelangel_2511 1:aa5df1878126 42 main_screen_state = (Main_Screen_State_t)(2 + parameter_selection_index);
miguelangel_2511 0:9d0b9785d3d6 43 first_time_in_state = 1;
miguelangel_2511 0:9d0b9785d3d6 44 }
miguelangel_2511 0:9d0b9785d3d6 45
miguelangel_2511 0:9d0b9785d3d6 46 break;
miguelangel_2511 0:9d0b9785d3d6 47
miguelangel_2511 0:9d0b9785d3d6 48
miguelangel_2511 0:9d0b9785d3d6 49 case Main_Screen_Volume_Setpoint_Adjust:
miguelangel_2511 0:9d0b9785d3d6 50 if(first_time_in_state){
miguelangel_2511 0:9d0b9785d3d6 51 first_time_in_state = 0;
miguelangel_2511 0:9d0b9785d3d6 52 Volume_Setpoint_Display_Update();
miguelangel_2511 0:9d0b9785d3d6 53 }else if(volume_setpoint_index_change_flag){
miguelangel_2511 0:9d0b9785d3d6 54 volume_setpoint_index_change_flag = 0;
miguelangel_2511 0:9d0b9785d3d6 55 Volume_Setpoint_Display_Update();
miguelangel_2511 0:9d0b9785d3d6 56 }else{
miguelangel_2511 0:9d0b9785d3d6 57 //Does nothing
miguelangel_2511 0:9d0b9785d3d6 58 }
miguelangel_2511 0:9d0b9785d3d6 59
miguelangel_2511 0:9d0b9785d3d6 60 if(Get_Button_Press(1 << ENTER_SW)){
miguelangel_2511 1:aa5df1878126 61 main_screen_state = Main_Screen_Cursor_Disable;
miguelangel_2511 0:9d0b9785d3d6 62 first_time_in_state = 1;
miguelangel_2511 0:9d0b9785d3d6 63 Volume_Setpoint_Fix();
miguelangel_2511 0:9d0b9785d3d6 64 Parameter_Selection_Box_Remove();
miguelangel_2511 0:9d0b9785d3d6 65 }
miguelangel_2511 0:9d0b9785d3d6 66
miguelangel_2511 0:9d0b9785d3d6 67 break;
miguelangel_2511 0:9d0b9785d3d6 68
miguelangel_2511 0:9d0b9785d3d6 69 case Main_Screen_Resp_Frequency_Adjust:
miguelangel_2511 0:9d0b9785d3d6 70 if(first_time_in_state){
miguelangel_2511 0:9d0b9785d3d6 71 first_time_in_state = 0;
miguelangel_2511 0:9d0b9785d3d6 72 Resp_Frequency_Display_Update();
miguelangel_2511 0:9d0b9785d3d6 73 }else if(resp_frequency_index_change_flag){
miguelangel_2511 0:9d0b9785d3d6 74 resp_frequency_index_change_flag = 0;
miguelangel_2511 0:9d0b9785d3d6 75 Resp_Frequency_Display_Update();
miguelangel_2511 0:9d0b9785d3d6 76 }else{
miguelangel_2511 0:9d0b9785d3d6 77 //Does nothing
miguelangel_2511 0:9d0b9785d3d6 78 }
miguelangel_2511 0:9d0b9785d3d6 79
miguelangel_2511 0:9d0b9785d3d6 80 if(Get_Button_Press(1 << ENTER_SW)){
miguelangel_2511 1:aa5df1878126 81 main_screen_state = Main_Screen_Cursor_Disable;
miguelangel_2511 0:9d0b9785d3d6 82 first_time_in_state = 1;
miguelangel_2511 0:9d0b9785d3d6 83 Resp_Frequency_Fix();
miguelangel_2511 0:9d0b9785d3d6 84 Parameter_Selection_Box_Remove();
miguelangel_2511 0:9d0b9785d3d6 85 }
miguelangel_2511 0:9d0b9785d3d6 86
miguelangel_2511 0:9d0b9785d3d6 87 break;
miguelangel_2511 0:9d0b9785d3d6 88
miguelangel_2511 0:9d0b9785d3d6 89
miguelangel_2511 0:9d0b9785d3d6 90 case Main_Screen_I_E_Ratio_Adjust:
miguelangel_2511 0:9d0b9785d3d6 91 if(first_time_in_state){
miguelangel_2511 0:9d0b9785d3d6 92 first_time_in_state = 0;
miguelangel_2511 0:9d0b9785d3d6 93 I_E_Ratio_Display_Update();
miguelangel_2511 0:9d0b9785d3d6 94 }else if(i_e_ratio_index_change_flag){
miguelangel_2511 0:9d0b9785d3d6 95 i_e_ratio_index_change_flag = 0;
miguelangel_2511 0:9d0b9785d3d6 96 I_E_Ratio_Display_Update();
miguelangel_2511 0:9d0b9785d3d6 97 }else{
miguelangel_2511 0:9d0b9785d3d6 98 //Does nothing
miguelangel_2511 0:9d0b9785d3d6 99 }
miguelangel_2511 0:9d0b9785d3d6 100
miguelangel_2511 0:9d0b9785d3d6 101 if(Get_Button_Press(1 << ENTER_SW)){
miguelangel_2511 1:aa5df1878126 102 main_screen_state = Main_Screen_Cursor_Disable;
miguelangel_2511 0:9d0b9785d3d6 103 first_time_in_state = 1;
miguelangel_2511 0:9d0b9785d3d6 104 I_E_Ratio_Fix();
miguelangel_2511 0:9d0b9785d3d6 105 Parameter_Selection_Box_Remove();
miguelangel_2511 0:9d0b9785d3d6 106 }
miguelangel_2511 0:9d0b9785d3d6 107
miguelangel_2511 0:9d0b9785d3d6 108 break;
miguelangel_2511 0:9d0b9785d3d6 109
miguelangel_2511 0:9d0b9785d3d6 110 default:
miguelangel_2511 0:9d0b9785d3d6 111 break;
miguelangel_2511 0:9d0b9785d3d6 112
miguelangel_2511 0:9d0b9785d3d6 113 }
miguelangel_2511 0:9d0b9785d3d6 114
miguelangel_2511 0:9d0b9785d3d6 115 }