pachas

Dependencies:   mbed QEI FastPWM

Revision:
12:3bc2465b034a
Parent:
11:5cb7ae8bd831
--- a/stepper_motor_driver.cpp	Thu May 07 03:52:31 2020 +0000
+++ b/stepper_motor_driver.cpp	Fri May 15 20:29:30 2020 +0000
@@ -8,6 +8,7 @@
 #include "FastPWM.h"
 #include "ventilator.h"
 #include "pressure_sensors.h"
+#include "electric_valves.h"
 
 /* Object definition */
 InterruptIn stepper_pulse_feedback(STEPPER_PULSE_FEEDBACK_PIN);
@@ -42,7 +43,7 @@
                                                        110,  //  2400, //650 mL//1080
                                                        115,   //  2500, //700 mL//1125
                                                        120 //  2600  //750 mL//1170
-};  
+                                                    };  
 
 
 // Variables used in every state of the stepper motor driver */
@@ -107,24 +108,45 @@
     
     switch(stepper_driver_state){
           
-        case Stepper_Inspiration:                
+        case Stepper_Inspiration:    
+                    
+             if(INSPIRATION_VALVE_IS_OPEN){
+                INSPIRATION_VALVE_STOP();
+            }
             
+             if(EXPIRATION_VALVE_IS_CLOSED){
+                EXPIRATION_VALVE_STOP();
+            }   
+                       
             break;
         // -----------------------------------------------------------------------     
    
         case Stepper_Inspiration_Finish:
             
-            stepper_pulse_counter = 0;
-            stepper_dir = TO_HOME;
-            stepper_pulse.period(expiration_stepper_pulse_period);
-            stepper_pulse.write(0.5);        
-            stepper_driver_state = Stepper_Expiration;
-            //pressure_sensor_display_update_flag = 1;
-                      
+                stepper_pulse_counter = 0;
+                stepper_dir = TO_HOME;
+                stepper_pulse.period(expiration_stepper_pulse_period);
+                stepper_pulse.write(0.5);        
+                stepper_driver_state = Stepper_Expiration;
+                INSPIRATION_VALVE_CLOSE();
+                EXPIRATION_VALVE_OPEN();       
             break;
         // -----------------------------------------------------------------------         
-        case Stepper_Expiration:         
-                          
+        case Stepper_Expiration:  
+        
+            if(peak_volume_flag == 1){// FOr test    
+                pressure_sensor_display_update_flag = 1;
+                peak_volume_flag = 0;
+            } // For test
+            
+            if(INSPIRATION_VALVE_IS_CLOSED){
+                INSPIRATION_VALVE_STOP();
+            }
+            
+             if(EXPIRATION_VALVE_IS_OPEN){
+                EXPIRATION_VALVE_STOP();
+            }           
+                        
              break;
         // -----------------------------------------------------------------------         
         case Stepper_Expiration_Finish:
@@ -140,7 +162,11 @@
             stepper_pulse.write(0.5);
             stepper_driver_state = Stepper_Inspiration;         
 
-            //pressure_sensor_display_update_flag = 1;
+            pressure_sensor_display_update_flag = 1;
+            volume_ml = 0; // Para pruebas
+
+            EXPIRATION_VALVE_CLOSE();
+            INSPIRATION_VALVE_OPEN();  
 
             break;
         // --------------------------------------------------------------------