pachas
Dependencies: mbed QEI FastPWM
Diff: stepper_motor_driver.cpp
- 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; // --------------------------------------------------------------------