pachas

Dependencies:   mbed QEI FastPWM

main.cpp

Committer:
miguelangel_2511
Date:
2020-04-20
Revision:
7:f4e248182d31
Parent:
6:d38287621cca
Child:
8:208d965a3bd2

File content as of revision 7:f4e248182d31:

#include "mbed.h"
#include "stdint.h"
#include "project_defines.h"
#include "buttons.h"
#include "encoder_interface.h"
#include "nextion_interface.h"
#include "stepper_motor_driver.h"
#include "pressure_sensors.h"
#include "ventilator.h"


// ******************************
//      OBJECT CONSTRUCTION
// ******************************

Ticker ticker_int_10us; // Ticker interrupt


// ******************************
//      GLOBAL VARIABLES
// ******************************



// ******************************
//      FUNCTION DECLARATION
// ******************************
void Ticker_ISR(void); // ISR that is called when the timer reaches the set value


int main(void) {
    Buttons_Initialize();
    ticker_int_10us.attach(&Ticker_ISR, 0.01);
    Nextion_Interface_Initialize();
    Pressure_Sensors_Initialize();
    Stepper_Driver_Init();
    
    while(1){     
         Stepper_Driver_State_Machine();
         
         Nextion_Encoder_Interaction();
         
         if(read_pressure_sensors_flag){
             Pressure_Sensors_Read();
             read_pressure_sensors_flag = 0;
         }
 /*        
         if((stepper_driver_state != Stepper_Inspiration_Finish) && 
            (stepper_driver_state != Stepper_Expiration_Finish)){
            if(pressure_sensor_display_update_flag){
                Nextion_Update_Sensor_Values();
                pressure_sensor_display_update_flag = 0;
            }
            
            if(pressure_sensor_waveform_update_flag){
                Nextion_Update_Waveform_Values();
                pressure_sensor_waveform_update_flag = 0;
            }
                 
         }
 */        
    }
  
    return 0;
}



// Ticker Interrupt Service Routine
void Ticker_ISR(void){
   
    static uint8_t conta_10ms = 0;
    
    Encoder_Read();
    Button_Debounce();
    
    conta_10ms++;
    
    if(conta_10ms == 10){
        conta_10ms = 0;
        read_pressure_sensors_flag = 1;
        pressure_sensor_display_update_flag = 1;
        pressure_sensor_waveform_update_flag = 1;
    }
    
}