pachas

Dependencies:   mbed QEI FastPWM

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?

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 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