![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
para el ventilador
project_defines.h@13:e0a6033cb39d, 2020-05-15 (annotated)
- Committer:
- miguelangelpachas
- Date:
- Fri May 15 20:40:44 2020 +0000
- Revision:
- 13:e0a6033cb39d
- Parent:
- 12:3bc2465b034a
para el ventilador
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 PROJECT_DEFINES_H_ |
miguelangel_2511 | 0:9d0b9785d3d6 | 3 | #define PROJECT_DEFINES_H_ |
miguelangel_2511 | 0:9d0b9785d3d6 | 4 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 5 | /******************************************************************************/ |
miguelangel_2511 | 11:5cb7ae8bd831 | 6 | /*************************** PIN DEFINITION ***********************************/ |
miguelangel_2511 | 11:5cb7ae8bd831 | 7 | /******************************************************************************/ |
miguelangel_2511 | 0:9d0b9785d3d6 | 8 | |
miguelangel_2511 | 12:3bc2465b034a | 9 | // Switches, buttons and digital sensors |
miguelangel_2511 | 0:9d0b9785d3d6 | 10 | #define ENTER_SW_PIN PA_15 |
miguelangel_2511 | 0:9d0b9785d3d6 | 11 | #define LIMIT_SW_01_PIN PB_7 |
miguelangel_2511 | 12:3bc2465b034a | 12 | #define INSPIRATION_VALVE_HALL_01_PIN PA_10 |
miguelangel_2511 | 12:3bc2465b034a | 13 | #define INSPIRATION_VALVE_HALL_02_PIN PB_3 |
miguelangel_2511 | 12:3bc2465b034a | 14 | #define EXPIRATION_VALVE_HALL_01_PIN PA_9 |
miguelangel_2511 | 12:3bc2465b034a | 15 | #define EXPIRATION_VALVE_HALL_02_PIN PC_7 |
miguelangel_2511 | 0:9d0b9785d3d6 | 16 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 17 | // Rotary encoder |
miguelangel_2511 | 0:9d0b9785d3d6 | 18 | #define ENCODER_A_SIGNAL PA_13 |
miguelangel_2511 | 0:9d0b9785d3d6 | 19 | #define ENCODER_B_SIGNAL PA_14 |
miguelangel_2511 | 0:9d0b9785d3d6 | 20 | |
miguelangel_2511 | 6:d38287621cca | 21 | //Nextion display |
miguelangel_2511 | 7:f4e248182d31 | 22 | #define NEXTION_DISPLAY_TX_PIN PC_10 |
miguelangel_2511 | 7:f4e248182d31 | 23 | #define NEXTION_DISPLAY_RX_PIN PC_11 |
miguelangel_2511 | 7:f4e248182d31 | 24 | |
miguelangel_2511 | 7:f4e248182d31 | 25 | // Pressure sensors |
miguelangel_2511 | 8:208d965a3bd2 | 26 | #define PRESSURE_SENSOR_01_SCL_PIN PB_10 |
miguelangel_2511 | 8:208d965a3bd2 | 27 | #define PRESSURE_SENSOR_01_SDA_PIN PB_11 |
miguelangel_2511 | 8:208d965a3bd2 | 28 | #define PRESSURE_SENSOR_02_SCL_PIN PB_8 |
miguelangel_2511 | 8:208d965a3bd2 | 29 | #define PRESSURE_SENSOR_02_SDA_PIN PB_9 |
miguelangel_2511 | 0:9d0b9785d3d6 | 30 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 31 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 32 | // Stepper motor |
miguelangel_2511 | 0:9d0b9785d3d6 | 33 | #define STEPPER_PULSE_PIN PC_8 |
miguelangel_2511 | 0:9d0b9785d3d6 | 34 | #define STEPPER_ENABLE_PIN PC_6 |
miguelangel_2511 | 0:9d0b9785d3d6 | 35 | #define STEPPER_DIRECTION_PIN PC_5 |
miguelangel_2511 | 1:aa5df1878126 | 36 | #define STEPPER_PULSE_FEEDBACK_PIN PA_12 |
miguelangel_2511 | 0:9d0b9785d3d6 | 37 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 38 | // Electric valves |
miguelangel_2511 | 12:3bc2465b034a | 39 | #define INSPIRATION_VALVE_IA_PIN PB_5 |
miguelangel_2511 | 12:3bc2465b034a | 40 | #define INSPIRATION_VALVE_IB_PIN PB_4 |
miguelangel_2511 | 12:3bc2465b034a | 41 | #define INSPIRATION_VALVE_EN_PIN PA_8 |
miguelangel_2511 | 12:3bc2465b034a | 42 | #define EXPIRATION_VALVE_IA_PIN PB_6 |
miguelangel_2511 | 12:3bc2465b034a | 43 | #define EXPIRATION_VALVE_IB_PIN PA_7 |
miguelangel_2511 | 12:3bc2465b034a | 44 | #define EXPIRATION_VALVE_EN_PIN PA_6 |
miguelangel_2511 | 12:3bc2465b034a | 45 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 46 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 47 | /******************************************************************************/ |
miguelangel_2511 | 11:5cb7ae8bd831 | 48 | /************************* CONSTANTS AND MACROS *******************************/ |
miguelangel_2511 | 11:5cb7ae8bd831 | 49 | /******************************************************************************/ |
miguelangel_2511 | 0:9d0b9785d3d6 | 50 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 51 | // ------------------ Defines for the switches and buttons --------------------- |
miguelangel_2511 | 11:5cb7ae8bd831 | 52 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 53 | #define ENTER_SW 0 |
miguelangel_2511 | 0:9d0b9785d3d6 | 54 | #define LIMIT_SW_01 1 |
miguelangel_2511 | 12:3bc2465b034a | 55 | #define INSPIRATION_VALVE_HALL_01 2 |
miguelangel_2511 | 12:3bc2465b034a | 56 | #define INSPIRATION_VALVE_HALL_02 3 |
miguelangel_2511 | 12:3bc2465b034a | 57 | #define EXPIRATION_VALVE_HALL_01 4 |
miguelangel_2511 | 12:3bc2465b034a | 58 | #define EXPIRATION_VALVE_HALL_02 5 |
miguelangel_2511 | 0:9d0b9785d3d6 | 59 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 60 | // ----------------- Defines for the encoder user interface -------------------- |
miguelangel_2511 | 8:208d965a3bd2 | 61 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 62 | #define ENCODER_THRESHOLD 8 |
miguelangel_2511 | 0:9d0b9785d3d6 | 63 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 64 | #define PARAMETER_SELECTION_INDEX_LIMIT 3 |
miguelangel_2511 | 0:9d0b9785d3d6 | 65 | #define VOLUME_SETPOINT_INDEX_LIMIT 11 |
miguelangel_2511 | 0:9d0b9785d3d6 | 66 | #define RESP_FREQUENCY_INDEX_LIMIT 21 |
miguelangel_2511 | 12:3bc2465b034a | 67 | #define I_E_RATIO_INDEX_LIMIT 5 |
miguelangel_2511 | 0:9d0b9785d3d6 | 68 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 69 | #define PARAMETER_SELECTION_INDEX_DEFAULT 0 |
miguelangel_2511 | 0:9d0b9785d3d6 | 70 | #define VOLUME_SETPOINT_INDEX_DEFAULT 5 |
miguelangel_2511 | 0:9d0b9785d3d6 | 71 | #define RESP_FREQUENCY_INDEX_DEFAULT 10 |
miguelangel_2511 | 12:3bc2465b034a | 72 | #define I_E_RATIO_INDEX_DEFAULT 2 |
miguelangel_2511 | 0:9d0b9785d3d6 | 73 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 74 | // ------------- Defines for the Nextion display user interface ---------------- |
miguelangel_2511 | 8:208d965a3bd2 | 75 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 76 | #define NEXTION_DISPLAY_BAUD_RATE 250000 |
miguelangel_2511 | 7:f4e248182d31 | 77 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 78 | #define BLACK 0x0000 |
miguelangel_2511 | 11:5cb7ae8bd831 | 79 | #define BLUE 0x001F |
miguelangel_2511 | 11:5cb7ae8bd831 | 80 | #define BROWN 0xBC40 |
miguelangel_2511 | 11:5cb7ae8bd831 | 81 | #define GREEN 0x07E0 |
miguelangel_2511 | 11:5cb7ae8bd831 | 82 | #define YELLOW 0xFFE0 |
miguelangel_2511 | 11:5cb7ae8bd831 | 83 | #define RED 0xF800 |
miguelangel_2511 | 11:5cb7ae8bd831 | 84 | #define GRAY 0x8430 |
miguelangel_2511 | 11:5cb7ae8bd831 | 85 | #define WHITE 0xFFFF |
miguelangel_2511 | 11:5cb7ae8bd831 | 86 | #define DARK_BLUE 0x218F |
miguelangel_2511 | 7:f4e248182d31 | 87 | |
miguelangel_2511 | 8:208d965a3bd2 | 88 | #define NORMAL_COLOR WHITE |
miguelangel_2511 | 6:d38287621cca | 89 | #define SELECT_COLOR BLUE |
miguelangel_2511 | 6:d38287621cca | 90 | #define ADJUST_COLOR GREEN |
miguelangel_2511 | 11:5cb7ae8bd831 | 91 | #define BACKGROUND_COLOR BLACK |
miguelangel_2511 | 11:5cb7ae8bd831 | 92 | #define WAVEFORM_BACKGROUND_COLOR DARK_BLUE |
miguelangel_2511 | 6:d38287621cca | 93 | |
miguelangel_2511 | 0:9d0b9785d3d6 | 94 | #define VOLUME_SETPOINT_VALUE_DEFAULT 500 |
miguelangel_2511 | 0:9d0b9785d3d6 | 95 | #define RESP_FREQUENCY_VALUE_DEFAULT 20 |
miguelangel_2511 | 0:9d0b9785d3d6 | 96 | #define INSPIRATION_TIME_VALUE_DEFAULT 1.0 |
miguelangel_2511 | 0:9d0b9785d3d6 | 97 | #define EXPIRATION_TIME_VALUE_DEFAULT 2.0 |
miguelangel_2511 | 0:9d0b9785d3d6 | 98 | |
miguelangel_2511 | 2:6f618b905d4f | 99 | #define VOLUME_SETPOINT_MINIMUM_VALUE 250 |
miguelangel_2511 | 6:d38287621cca | 100 | #define VOLUME_SETPOINT_STEP 50 |
miguelangel_2511 | 2:6f618b905d4f | 101 | |
miguelangel_2511 | 8:208d965a3bd2 | 102 | #define MAIN_SCREEN_DEFAULT_STATE Main_Screen_Cursor_Disable |
miguelangel_2511 | 8:208d965a3bd2 | 103 | |
miguelangel_2511 | 8:208d965a3bd2 | 104 | #define VOLUME_WAVEFORM_X0 200 |
miguelangel_2511 | 8:208d965a3bd2 | 105 | #define VOLUME_WAVEFORM_Y0 3 |
miguelangel_2511 | 8:208d965a3bd2 | 106 | #define VOLUME_WAVEFORM_WIDTH 400 |
miguelangel_2511 | 8:208d965a3bd2 | 107 | #define VOLUME_WAVEFORM_HEIGHT 157 |
miguelangel_2511 | 11:5cb7ae8bd831 | 108 | #define VOLUME_WAVEFORM_OFFSET 79 |
miguelangel_2511 | 11:5cb7ae8bd831 | 109 | #define VOLUME_WAVEFORM_GAIN 0.5 |
miguelangel_2511 | 8:208d965a3bd2 | 110 | |
miguelangel_2511 | 8:208d965a3bd2 | 111 | #define FLOW_WAVEFORM_X0 200 |
miguelangel_2511 | 8:208d965a3bd2 | 112 | #define FLOW_WAVEFORM_Y0 162 |
miguelangel_2511 | 8:208d965a3bd2 | 113 | #define FLOW_WAVEFORM_WIDTH 400 |
miguelangel_2511 | 8:208d965a3bd2 | 114 | #define FLOW_WAVEFORM_HEIGHT 157 |
miguelangel_2511 | 11:5cb7ae8bd831 | 115 | #define FLOW_WAVEFORM_OFFSET 79 |
miguelangel_2511 | 11:5cb7ae8bd831 | 116 | #define FLOW_WAVEFORM_GAIN 5.0 |
miguelangel_2511 | 8:208d965a3bd2 | 117 | |
miguelangel_2511 | 8:208d965a3bd2 | 118 | #define PRESSURE_WAVEFORM_X0 200 |
miguelangel_2511 | 8:208d965a3bd2 | 119 | #define PRESSURE_WAVEFORM_Y0 321 |
miguelangel_2511 | 8:208d965a3bd2 | 120 | #define PRESSURE_WAVEFORM_WIDTH 400 |
miguelangel_2511 | 8:208d965a3bd2 | 121 | #define PRESSURE_WAVEFORM_HEIGHT 157 |
miguelangel_2511 | 11:5cb7ae8bd831 | 122 | #define PRESSURE_WAVEFORM_OFFSET 0 |
miguelangel_2511 | 11:5cb7ae8bd831 | 123 | #define PRESSURE_WAVEFORM_GAIN 157 |
miguelangel_2511 | 8:208d965a3bd2 | 124 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 125 | // ---------------------- Defines for pressure sensors ------------------------- |
miguelangel_2511 | 1:aa5df1878126 | 126 | |
miguelangel_2511 | 7:f4e248182d31 | 127 | #define PRESSURE_SENSOR_I2C_CLK_HZ 200000 |
miguelangel_2511 | 11:5cb7ae8bd831 | 128 | |
miguelangel_2511 | 7:f4e248182d31 | 129 | #define PRESSURE_SENSOR_01_SLAVE_ADDRESS 0x28 |
miguelangel_2511 | 7:f4e248182d31 | 130 | #define PRESSURE_SENSOR_01_SWA (PRESSURE_SENSOR_01_SLAVE_ADDRESS << 1) |
miguelangel_2511 | 11:5cb7ae8bd831 | 131 | #define PRESSURE_SENSOR_01_SRA (PRESSURE_SENSOR_01_SWA | 1) |
miguelangel_2511 | 11:5cb7ae8bd831 | 132 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 133 | #define PRESSURE_SENSOR_02_SLAVE_ADDRESS 0x28 |
miguelangel_2511 | 7:f4e248182d31 | 134 | #define PRESSURE_SENSOR_02_SWA (PRESSURE_SENSOR_02_SLAVE_ADDRESS << 1) |
miguelangel_2511 | 7:f4e248182d31 | 135 | #define PRESSURE_SENSOR_02_SRA (PRESSURE_SENSOR_02_SWA | 1) |
miguelangel_2511 | 8:208d965a3bd2 | 136 | |
miguelangel_2511 | 9:95fdcdc0977e | 137 | #define PRESSURE_SENSOR_OUTPUT_MAX 14745 |
miguelangel_2511 | 9:95fdcdc0977e | 138 | #define PRESSURE_SENSOR_OUTPUT_MIN 1638 |
miguelangel_2511 | 10:b2d87404309a | 139 | #define PRESSURE_SENSOR_PRESSURE_MAX 1.0f |
miguelangel_2511 | 9:95fdcdc0977e | 140 | #define PRESSURE_SENSOR_PRESSURE_MIN 0.0f |
miguelangel_2511 | 11:5cb7ae8bd831 | 141 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 142 | #define PRESSURE_SENSOR_01_OFFSET_PSI 0.0f |
miguelangel_2511 | 11:5cb7ae8bd831 | 143 | #define PRESSURE_SENSOR_02_OFFSET_PSI 0.0f |
miguelangel_2511 | 9:95fdcdc0977e | 144 | |
miguelangel_2511 | 9:95fdcdc0977e | 145 | #define VOLUME_DISPLAY_THRESHOLD 0.1f |
miguelangel_2511 | 8:208d965a3bd2 | 146 | #define FLOW_DISPLAY_THRESHOLD 0.01f |
miguelangel_2511 | 9:95fdcdc0977e | 147 | #define PRESSURE_DISPLAY_THRESHOLD 0.001f |
miguelangel_2511 | 1:aa5df1878126 | 148 | |
miguelangel_2511 | 9:95fdcdc0977e | 149 | #define PSI_TO_CMH2O_CONSTANT 70.306957829636f |
miguelangel_2511 | 11:5cb7ae8bd831 | 150 | #define SPIROMETER_SENSOR_CONSTANT_OXYGEN 36.1f |
miguelangel_2511 | 11:5cb7ae8bd831 | 151 | #define SPIROMETER_SENSOR_CONSTANT_AIR (SPIROMETER_SENSOR_CONSTANT_OXYGEN * 1.08006) |
miguelangel_2511 | 12:3bc2465b034a | 152 | #define VOLUME_CORRECTION_FACTOR 34.4409727f |
miguelangel_2511 | 11:5cb7ae8bd831 | 153 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 154 | // ----------------------- Defines for digital filters ------------------------- |
miguelangel_2511 | 11:5cb7ae8bd831 | 155 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 156 | #define P1_LPF_CUTOFF_FREQ_HZ 20.0f |
miguelangel_2511 | 11:5cb7ae8bd831 | 157 | #define P1_LPF_RC_CONSTANT_SEC (1/(6.2832*P1_LPF_CUTOFF_FREQ_HZ)) |
miguelangel_2511 | 11:5cb7ae8bd831 | 158 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 159 | #define P2_LPF_CUTOFF_FREQ_HZ 20.0f |
miguelangel_2511 | 11:5cb7ae8bd831 | 160 | #define P2_LPF_RC_CONSTANT_SEC (1/(6.2832*P2_LPF_CUTOFF_FREQ_HZ)) |
miguelangel_2511 | 8:208d965a3bd2 | 161 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 162 | #define F_HPF_CUTOFF_FREQ_HZ 0.01f |
miguelangel_2511 | 11:5cb7ae8bd831 | 163 | #define F_HPF_RC_CONSTANT_SEC (1/(6.2832*F_HPF_CUTOFF_FREQ_HZ)) |
miguelangel_2511 | 9:95fdcdc0977e | 164 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 165 | #define PRESSURE_01_LPF_N 4 |
miguelangel_2511 | 11:5cb7ae8bd831 | 166 | #define PRESSURE_02_LPF_N 4 |
miguelangel_2511 | 11:5cb7ae8bd831 | 167 | #define FLOW_HPF_N 3 |
miguelangel_2511 | 11:5cb7ae8bd831 | 168 | #define FLOW_LPF_N 25 |
miguelangel_2511 | 8:208d965a3bd2 | 169 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 170 | // -------------------- Defines for the stepper motor driver ------------------- |
miguelangel_2511 | 11:5cb7ae8bd831 | 171 | |
miguelangel_2511 | 1:aa5df1878126 | 172 | #define TO_HOME 0 |
miguelangel_2511 | 1:aa5df1878126 | 173 | #define TO_AIRBAG 1 |
miguelangel_2511 | 1:aa5df1878126 | 174 | #define STEPPER_ENABLED 0 |
miguelangel_2511 | 1:aa5df1878126 | 175 | #define STEPPER_DISABLED 1 |
miguelangel_2511 | 1:aa5df1878126 | 176 | |
miguelangel_2511 | 1:aa5df1878126 | 177 | #define STEPPER_DRIVER_PULSE_MIN_PERIOD_US 100 |
miguelangel_2511 | 1:aa5df1878126 | 178 | #define STEPPER_DRIVER_PULSE_HOME_PERIOD_US 1000 |
miguelangel_2511 | 1:aa5df1878126 | 179 | #define STEPPER_DRIVER_DEFAULT_PULSE_PERIOD_US 1000 |
miguelangel_2511 | 1:aa5df1878126 | 180 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 181 | #define STEPPER_DRIVER_MAX_PULSES 200 |
miguelangel_2511 | 1:aa5df1878126 | 182 | #define STEPPER_DRIVER_INSPIRATION_PULSES_DEFAULT 2000 |
miguelangel_2511 | 1:aa5df1878126 | 183 | |
miguelangel_2511 | 1:aa5df1878126 | 184 | #define STEPPER_DRIVER_DEFAULT_STATE Stepper_Driver_Home_Ramp |
miguelangel_2511 | 1:aa5df1878126 | 185 | |
miguelangel_2511 | 1:aa5df1878126 | 186 | #define STEPPER_CALIBRATION_FREQUENCY_HZ 200 |
miguelangel_2511 | 6:d38287621cca | 187 | #define STEPPER_MAX_FREQUENCY_HZ 3000 |
miguelangel_2511 | 6:d38287621cca | 188 | |
miguelangel_2511 | 12:3bc2465b034a | 189 | |
miguelangel_2511 | 12:3bc2465b034a | 190 | // -------------------- Defines for the electric valves ------------------------ |
miguelangel_2511 | 12:3bc2465b034a | 191 | #define INSPIRATION_VALVE_IA 0 |
miguelangel_2511 | 12:3bc2465b034a | 192 | #define INSPIRATION_VALVE_IB 1 |
miguelangel_2511 | 12:3bc2465b034a | 193 | #define INSPIRATION_VALVE_EN 2 |
miguelangel_2511 | 12:3bc2465b034a | 194 | #define EXPIRATION_VALVE_IA 3 |
miguelangel_2511 | 12:3bc2465b034a | 195 | #define EXPIRATION_VALVE_IB 4 |
miguelangel_2511 | 12:3bc2465b034a | 196 | #define EXPIRATION_VALVE_EN 5 |
miguelangel_2511 | 12:3bc2465b034a | 197 | |
miguelangel_2511 | 12:3bc2465b034a | 198 | #define INSPIRATION_VALVE_IS_OPEN (!(buttons & (1 << INSPIRATION_VALVE_HALL_02))) |
miguelangel_2511 | 12:3bc2465b034a | 199 | #define INSPIRATION_VALVE_IS_CLOSED (!(buttons & (1 << INSPIRATION_VALVE_HALL_01))) |
miguelangel_2511 | 12:3bc2465b034a | 200 | #define EXPIRATION_VALVE_IS_OPEN (!(buttons & (1 << EXPIRATION_VALVE_HALL_01))) |
miguelangel_2511 | 12:3bc2465b034a | 201 | #define EXPIRATION_VALVE_IS_CLOSED (!(buttons & (1 << EXPIRATION_VALVE_HALL_02))) |
miguelangel_2511 | 12:3bc2465b034a | 202 | |
miguelangel_2511 | 12:3bc2465b034a | 203 | #define INSPIRATION_VALVE_ENABLE() valve_control = valve_control | (1 << INSPIRATION_VALVE_EN) |
miguelangel_2511 | 12:3bc2465b034a | 204 | #define INSPIRATION_VALVE_DISABLE() valve_control = valve_control & ~(1 << INSPIRATION_VALVE_EN) |
miguelangel_2511 | 12:3bc2465b034a | 205 | #define INSPIRATION_VALVE_STOP() valve_control = valve_control & ~((1 << INSPIRATION_VALVE_IA) | (1 << INSPIRATION_VALVE_IB)) |
miguelangel_2511 | 12:3bc2465b034a | 206 | #define INSPIRATION_VALVE_OPEN() valve_control = valve_control | (1 << INSPIRATION_VALVE_IA) |
miguelangel_2511 | 12:3bc2465b034a | 207 | #define INSPIRATION_VALVE_CLOSE() valve_control = valve_control | (1 << INSPIRATION_VALVE_IB) |
miguelangel_2511 | 12:3bc2465b034a | 208 | #define EXPIRATION_VALVE_ENABLE() valve_control = valve_control | (1 << EXPIRATION_VALVE_EN) |
miguelangel_2511 | 12:3bc2465b034a | 209 | #define EXPIRATION_VALVE_DISABLE() valve_control = valve_control & ~(1 << EXPIRATION_VALVE_EN) |
miguelangel_2511 | 12:3bc2465b034a | 210 | #define EXPIRATION_VALVE_STOP() valve_control = valve_control & ~((1 << EXPIRATION_VALVE_IA) | (1 << EXPIRATION_VALVE_IB)) |
miguelangel_2511 | 12:3bc2465b034a | 211 | #define EXPIRATION_VALVE_OPEN() valve_control = valve_control | (1 << EXPIRATION_VALVE_IB) |
miguelangel_2511 | 12:3bc2465b034a | 212 | #define EXPIRATION_VALVE_CLOSE() valve_control = valve_control | (1 << EXPIRATION_VALVE_IA) |
miguelangel_2511 | 12:3bc2465b034a | 213 | |
miguelangel_2511 | 12:3bc2465b034a | 214 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 215 | // ---------------------- Time period for every action ------------------------- |
miguelangel_2511 | 6:d38287621cca | 216 | |
miguelangel_2511 | 11:5cb7ae8bd831 | 217 | #define DEBOUNCE_PERIOD_MS 10 |
miguelangel_2511 | 11:5cb7ae8bd831 | 218 | #define ENCODER_READ_PERIOD_MS 10 |
miguelangel_2511 | 11:5cb7ae8bd831 | 219 | #define PRESSURE_SENSOR_READ_PERIOD_MS 10 |
miguelangel_2511 | 11:5cb7ae8bd831 | 220 | #define SENSOR_WAVEFORM_PLOT_PERIOD_MS 25 |
miguelangel_2511 | 11:5cb7ae8bd831 | 221 | #define SENSOR_DISPLAY_PERIOD_MS 500 |
miguelangel_2511 | 6:d38287621cca | 222 | |
miguelangel_2511 | 6:d38287621cca | 223 | #endif |