pachas
Dependencies: mbed QEI FastPWM
ventilator.h@10:b2d87404309a, 2020-04-27 (annotated)
- Committer:
- miguelangel_2511
- Date:
- Mon Apr 27 19:52:02 2020 +0000
- Revision:
- 10:b2d87404309a
- Parent:
- 8:208d965a3bd2
- Child:
- 11:5cb7ae8bd831
Ventilador ajustado al nuevo sistema mecanico (con mordaza) y con el sensor de flujo (espirometria) calibrado de forma aproximada. Tabien se ha configurado el baud rate a su maximo valor funcional (256000 bps).
Who changed what in which revision?
User | Revision | Line number | New 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 uint16_t volume_measured; |
miguelangel_2511 | 2:6f618b905d4f | 31 | extern uint8_t resp_frequency; |
miguelangel_2511 | 2:6f618b905d4f | 32 | extern float inspiration_time; |
miguelangel_2511 | 2:6f618b905d4f | 33 | extern float expiration_time; |
miguelangel_2511 | 2:6f618b905d4f | 34 | extern uint8_t pressure_measured; |
miguelangel_2511 | 2:6f618b905d4f | 35 | extern uint8_t gas_input; |
miguelangel_2511 | 2:6f618b905d4f | 36 | |
miguelangel_2511 | 1:aa5df1878126 | 37 | extern Main_Screen_State_t main_screen_state; |
miguelangel_2511 | 0:9d0b9785d3d6 | 38 | extern uint8_t first_time_in_state; |
miguelangel_2511 | 0:9d0b9785d3d6 | 39 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 40 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 41 | /* Function declaration */ |
miguelangel_2511 | 8:208d965a3bd2 | 42 | void System_Initialize(void); |
miguelangel_2511 | 6:d38287621cca | 43 | void Nextion_Encoder_Interaction(void); |
miguelangel_2511 | 7:f4e248182d31 | 44 | void Nextion_Update_Sensor_Values(void); |
miguelangel_2511 | 7:f4e248182d31 | 45 | void Nextion_Update_Waveform_Values(void); |
miguelangel_2511 | 8:208d965a3bd2 | 46 | void Ticker_ISR(void); // ISR that is called when the timer reaches the set value |
miguelangel_2511 | 0:9d0b9785d3d6 | 47 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 48 | /* Inline functions */ |
miguelangel_2511 | 0:9d0b9785d3d6 | 49 | static inline void Encoder_Read(){ |
miguelangel_2511 | 0:9d0b9785d3d6 | 50 | |
miguelangel_2511 | 1:aa5df1878126 | 51 | if(main_screen_state == Main_Screen_Cursor_Enable){ |
miguelangel_2511 | 0:9d0b9785d3d6 | 52 | Parameter_Selection_Index_Update(); |
miguelangel_2511 | 1:aa5df1878126 | 53 | }else if(main_screen_state == Main_Screen_Volume_Setpoint_Adjust){ |
miguelangel_2511 | 0:9d0b9785d3d6 | 54 | Volume_Setpoint_Index_Update(); |
miguelangel_2511 | 1:aa5df1878126 | 55 | }else if(main_screen_state == Main_Screen_Resp_Frequency_Adjust){ |
miguelangel_2511 | 0:9d0b9785d3d6 | 56 | Resp_Frequency_Index_Update(); |
miguelangel_2511 | 1:aa5df1878126 | 57 | }else if(main_screen_state == Main_Screen_I_E_Ratio_Adjust){ |
miguelangel_2511 | 0:9d0b9785d3d6 | 58 | I_E_Ratio_Index_Update(); |
miguelangel_2511 | 0:9d0b9785d3d6 | 59 | }else{ |
miguelangel_2511 | 0:9d0b9785d3d6 | 60 | //Does nothing |
miguelangel_2511 | 0:9d0b9785d3d6 | 61 | } |
miguelangel_2511 | 0:9d0b9785d3d6 | 62 | } |
miguelangel_2511 | 0:9d0b9785d3d6 | 63 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 64 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 65 | #endif |