Miguel Angel Caycho
/
Pruebas_Ventilador_Eplimin_01_Backup
para el ventilador
Diff: project_defines.h
- Revision:
- 12:3bc2465b034a
- Parent:
- 11:5cb7ae8bd831
diff -r 5cb7ae8bd831 -r 3bc2465b034a project_defines.h --- a/project_defines.h Thu May 07 03:52:31 2020 +0000 +++ b/project_defines.h Fri May 15 20:29:30 2020 +0000 @@ -6,9 +6,13 @@ /*************************** PIN DEFINITION ***********************************/ /******************************************************************************/ -// Switches and buttons +// Switches, buttons and digital sensors #define ENTER_SW_PIN PA_15 #define LIMIT_SW_01_PIN PB_7 +#define INSPIRATION_VALVE_HALL_01_PIN PA_10 +#define INSPIRATION_VALVE_HALL_02_PIN PB_3 +#define EXPIRATION_VALVE_HALL_01_PIN PA_9 +#define EXPIRATION_VALVE_HALL_02_PIN PC_7 // Rotary encoder #define ENCODER_A_SIGNAL PA_13 @@ -32,8 +36,13 @@ #define STEPPER_PULSE_FEEDBACK_PIN PA_12 // Electric valves -#define INSPIRATION_VALVE_PIN PF_0 -#define EXPIRATION_VALVE_PIN PF_1 +#define INSPIRATION_VALVE_IA_PIN PB_5 +#define INSPIRATION_VALVE_IB_PIN PB_4 +#define INSPIRATION_VALVE_EN_PIN PA_8 +#define EXPIRATION_VALVE_IA_PIN PB_6 +#define EXPIRATION_VALVE_IB_PIN PA_7 +#define EXPIRATION_VALVE_EN_PIN PA_6 + /******************************************************************************/ /************************* CONSTANTS AND MACROS *******************************/ @@ -43,6 +52,10 @@ #define ENTER_SW 0 #define LIMIT_SW_01 1 +#define INSPIRATION_VALVE_HALL_01 2 +#define INSPIRATION_VALVE_HALL_02 3 +#define EXPIRATION_VALVE_HALL_01 4 +#define EXPIRATION_VALVE_HALL_02 5 // ----------------- Defines for the encoder user interface -------------------- @@ -51,12 +64,12 @@ #define PARAMETER_SELECTION_INDEX_LIMIT 3 #define VOLUME_SETPOINT_INDEX_LIMIT 11 #define RESP_FREQUENCY_INDEX_LIMIT 21 -#define I_E_RATIO_INDEX_LIMIT 3 +#define I_E_RATIO_INDEX_LIMIT 5 #define PARAMETER_SELECTION_INDEX_DEFAULT 0 #define VOLUME_SETPOINT_INDEX_DEFAULT 5 #define RESP_FREQUENCY_INDEX_DEFAULT 10 -#define I_E_RATIO_INDEX_DEFAULT 0 +#define I_E_RATIO_INDEX_DEFAULT 2 // ------------- Defines for the Nextion display user interface ---------------- @@ -136,6 +149,7 @@ #define PSI_TO_CMH2O_CONSTANT 70.306957829636f #define SPIROMETER_SENSOR_CONSTANT_OXYGEN 36.1f #define SPIROMETER_SENSOR_CONSTANT_AIR (SPIROMETER_SENSOR_CONSTANT_OXYGEN * 1.08006) +#define VOLUME_CORRECTION_FACTOR 34.4409727f // ----------------------- Defines for digital filters ------------------------- @@ -172,6 +186,32 @@ #define STEPPER_CALIBRATION_FREQUENCY_HZ 200 #define STEPPER_MAX_FREQUENCY_HZ 3000 + +// -------------------- Defines for the electric valves ------------------------ +#define INSPIRATION_VALVE_IA 0 +#define INSPIRATION_VALVE_IB 1 +#define INSPIRATION_VALVE_EN 2 +#define EXPIRATION_VALVE_IA 3 +#define EXPIRATION_VALVE_IB 4 +#define EXPIRATION_VALVE_EN 5 + +#define INSPIRATION_VALVE_IS_OPEN (!(buttons & (1 << INSPIRATION_VALVE_HALL_02))) +#define INSPIRATION_VALVE_IS_CLOSED (!(buttons & (1 << INSPIRATION_VALVE_HALL_01))) +#define EXPIRATION_VALVE_IS_OPEN (!(buttons & (1 << EXPIRATION_VALVE_HALL_01))) +#define EXPIRATION_VALVE_IS_CLOSED (!(buttons & (1 << EXPIRATION_VALVE_HALL_02))) + +#define INSPIRATION_VALVE_ENABLE() valve_control = valve_control | (1 << INSPIRATION_VALVE_EN) +#define INSPIRATION_VALVE_DISABLE() valve_control = valve_control & ~(1 << INSPIRATION_VALVE_EN) +#define INSPIRATION_VALVE_STOP() valve_control = valve_control & ~((1 << INSPIRATION_VALVE_IA) | (1 << INSPIRATION_VALVE_IB)) +#define INSPIRATION_VALVE_OPEN() valve_control = valve_control | (1 << INSPIRATION_VALVE_IA) +#define INSPIRATION_VALVE_CLOSE() valve_control = valve_control | (1 << INSPIRATION_VALVE_IB) +#define EXPIRATION_VALVE_ENABLE() valve_control = valve_control | (1 << EXPIRATION_VALVE_EN) +#define EXPIRATION_VALVE_DISABLE() valve_control = valve_control & ~(1 << EXPIRATION_VALVE_EN) +#define EXPIRATION_VALVE_STOP() valve_control = valve_control & ~((1 << EXPIRATION_VALVE_IA) | (1 << EXPIRATION_VALVE_IB)) +#define EXPIRATION_VALVE_OPEN() valve_control = valve_control | (1 << EXPIRATION_VALVE_IB) +#define EXPIRATION_VALVE_CLOSE() valve_control = valve_control | (1 << EXPIRATION_VALVE_IA) + + // ---------------------- Time period for every action ------------------------- #define DEBOUNCE_PERIOD_MS 10