pachas

Dependencies:   mbed QEI FastPWM

Committer:
miguelangel_2511
Date:
Thu May 07 03:52:31 2020 +0000
Revision:
11:5cb7ae8bd831
Parent:
10:b2d87404309a
Se implemento un filtro IIIR tipo Chebyshev 2 Pasa-bajos de 30 Hz para cada sensor de presion.  Asimismo, se implemento un filtro IIR Chebyshev 2 Pasa-altos de 0.01 Hz y un filtro FIR pasa-bajos de 40 Hz para la senial de flujo.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
miguelangel_2511 0:9d0b9785d3d6 1
miguelangel_2511 0:9d0b9785d3d6 2 #ifndef VENTILATOR_H_
miguelangel_2511 0:9d0b9785d3d6 3 #define VENTILATOR_H_
miguelangel_2511 0:9d0b9785d3d6 4
miguelangel_2511 0:9d0b9785d3d6 5 /* File inclusion */
miguelangel_2511 0:9d0b9785d3d6 6 #include "mbed.h"
miguelangel_2511 0:9d0b9785d3d6 7 #include "stdint.h"
miguelangel_2511 3:45299e7882b9 8 #include "encoder_interface.h"
miguelangel_2511 0:9d0b9785d3d6 9
miguelangel_2511 0:9d0b9785d3d6 10 /* Type definition */
miguelangel_2511 0:9d0b9785d3d6 11 typedef enum {
miguelangel_2511 0:9d0b9785d3d6 12 Main_Screen_Cursor_Disable = 0,
miguelangel_2511 0:9d0b9785d3d6 13 Main_Screen_Cursor_Enable = 1,
miguelangel_2511 0:9d0b9785d3d6 14 Main_Screen_Volume_Setpoint_Adjust = 2,
miguelangel_2511 0:9d0b9785d3d6 15 Main_Screen_Resp_Frequency_Adjust = 3,
miguelangel_2511 0:9d0b9785d3d6 16 Main_Screen_I_E_Ratio_Adjust = 4
miguelangel_2511 1:aa5df1878126 17 }Main_Screen_State_t;
miguelangel_2511 0:9d0b9785d3d6 18
miguelangel_2511 8:208d965a3bd2 19
miguelangel_2511 8:208d965a3bd2 20 /* Object declaration */
miguelangel_2511 8:208d965a3bd2 21 extern Ticker ticker_int_1ms;
miguelangel_2511 10:b2d87404309a 22 extern DigitalOut test_pin;
miguelangel_2511 8:208d965a3bd2 23
miguelangel_2511 0:9d0b9785d3d6 24 /* Global variable declaration */
miguelangel_2511 7:f4e248182d31 25 extern volatile uint8_t read_pressure_sensors_flag;
miguelangel_2511 7:f4e248182d31 26 extern volatile uint8_t pressure_sensor_display_update_flag;
miguelangel_2511 7:f4e248182d31 27 extern volatile uint8_t pressure_sensor_waveform_update_flag;
miguelangel_2511 2:6f618b905d4f 28
miguelangel_2511 2:6f618b905d4f 29 extern uint16_t volume_setpoint;
miguelangel_2511 2:6f618b905d4f 30 extern uint8_t resp_frequency;
miguelangel_2511 2:6f618b905d4f 31 extern float inspiration_time;
miguelangel_2511 2:6f618b905d4f 32 extern float expiration_time;
miguelangel_2511 2:6f618b905d4f 33
miguelangel_2511 1:aa5df1878126 34 extern Main_Screen_State_t main_screen_state;
miguelangel_2511 0:9d0b9785d3d6 35 extern uint8_t first_time_in_state;
miguelangel_2511 0:9d0b9785d3d6 36
miguelangel_2511 0:9d0b9785d3d6 37
miguelangel_2511 0:9d0b9785d3d6 38 /* Function declaration */
miguelangel_2511 8:208d965a3bd2 39 void System_Initialize(void);
miguelangel_2511 6:d38287621cca 40 void Nextion_Encoder_Interaction(void);
miguelangel_2511 7:f4e248182d31 41 void Nextion_Update_Sensor_Values(void);
miguelangel_2511 7:f4e248182d31 42 void Nextion_Update_Waveform_Values(void);
miguelangel_2511 8:208d965a3bd2 43 void Ticker_ISR(void); // ISR that is called when the timer reaches the set value
miguelangel_2511 0:9d0b9785d3d6 44
miguelangel_2511 0:9d0b9785d3d6 45 /* Inline functions */
miguelangel_2511 0:9d0b9785d3d6 46 static inline void Encoder_Read(){
miguelangel_2511 0:9d0b9785d3d6 47
miguelangel_2511 1:aa5df1878126 48 if(main_screen_state == Main_Screen_Cursor_Enable){
miguelangel_2511 0:9d0b9785d3d6 49 Parameter_Selection_Index_Update();
miguelangel_2511 1:aa5df1878126 50 }else if(main_screen_state == Main_Screen_Volume_Setpoint_Adjust){
miguelangel_2511 0:9d0b9785d3d6 51 Volume_Setpoint_Index_Update();
miguelangel_2511 1:aa5df1878126 52 }else if(main_screen_state == Main_Screen_Resp_Frequency_Adjust){
miguelangel_2511 0:9d0b9785d3d6 53 Resp_Frequency_Index_Update();
miguelangel_2511 1:aa5df1878126 54 }else if(main_screen_state == Main_Screen_I_E_Ratio_Adjust){
miguelangel_2511 0:9d0b9785d3d6 55 I_E_Ratio_Index_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
miguelangel_2511 0:9d0b9785d3d6 61
miguelangel_2511 0:9d0b9785d3d6 62 #endif