pachas

Dependencies:   mbed QEI FastPWM

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