pachas

Dependencies:   mbed QEI FastPWM

Committer:
miguelangel_2511
Date:
Sat Apr 11 22:53:05 2020 +0000
Revision:
0:9d0b9785d3d6
Child:
1:aa5df1878126
Se completo el codigo para la pantalla principal de la interfaz grafica y se iniciaron las primeras pruebas con el motor de pasos.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
miguelangel_2511 0:9d0b9785d3d6 1 #include "mbed.h"
miguelangel_2511 0:9d0b9785d3d6 2 #include "stdint.h"
miguelangel_2511 0:9d0b9785d3d6 3 #include "project_defines.h"
miguelangel_2511 0:9d0b9785d3d6 4 #include "buttons.h"
miguelangel_2511 0:9d0b9785d3d6 5 #include "encoder_interface.h"
miguelangel_2511 0:9d0b9785d3d6 6 #include "tft_interface.h"
miguelangel_2511 0:9d0b9785d3d6 7 #include "stepper_motor_driver.h"
miguelangel_2511 0:9d0b9785d3d6 8 #include "ventilator.h"
miguelangel_2511 0:9d0b9785d3d6 9
miguelangel_2511 0:9d0b9785d3d6 10
miguelangel_2511 0:9d0b9785d3d6 11 // ******************************
miguelangel_2511 0:9d0b9785d3d6 12 // OBJECT CONSTRUCTION
miguelangel_2511 0:9d0b9785d3d6 13 // ******************************
miguelangel_2511 0:9d0b9785d3d6 14
miguelangel_2511 0:9d0b9785d3d6 15 //Ticker interrupt
miguelangel_2511 0:9d0b9785d3d6 16 Ticker ticker_int_10ms; // Ticker interrupt
miguelangel_2511 0:9d0b9785d3d6 17
miguelangel_2511 0:9d0b9785d3d6 18 Serial pc(USBTX, USBRX);
miguelangel_2511 0:9d0b9785d3d6 19
miguelangel_2511 0:9d0b9785d3d6 20
miguelangel_2511 0:9d0b9785d3d6 21 // ******************************
miguelangel_2511 0:9d0b9785d3d6 22 // GLOBAL VARIABLES
miguelangel_2511 0:9d0b9785d3d6 23 // ******************************
miguelangel_2511 0:9d0b9785d3d6 24
miguelangel_2511 0:9d0b9785d3d6 25
miguelangel_2511 0:9d0b9785d3d6 26
miguelangel_2511 0:9d0b9785d3d6 27 // ******************************
miguelangel_2511 0:9d0b9785d3d6 28 // FUNCTION DECLARATION
miguelangel_2511 0:9d0b9785d3d6 29 // ******************************
miguelangel_2511 0:9d0b9785d3d6 30 void Ticker_ISR(void); // ISR that is called when the timer reaches the set value
miguelangel_2511 0:9d0b9785d3d6 31
miguelangel_2511 0:9d0b9785d3d6 32
miguelangel_2511 0:9d0b9785d3d6 33 int main(void) {
miguelangel_2511 0:9d0b9785d3d6 34
miguelangel_2511 0:9d0b9785d3d6 35 stepper_en = 0;
miguelangel_2511 0:9d0b9785d3d6 36 stepper_dir = 0;
miguelangel_2511 0:9d0b9785d3d6 37 stepper_pulse.period(STEPPER_PULSE_PERIOD);
miguelangel_2511 0:9d0b9785d3d6 38 stepper_pulse.write(STEPPER_PULSE_DUTY_CYCLE);
miguelangel_2511 0:9d0b9785d3d6 39
miguelangel_2511 0:9d0b9785d3d6 40 Buttons_Initialize();
miguelangel_2511 0:9d0b9785d3d6 41 // Allocate an interrupt service routine for Timer interrupt
miguelangel_2511 0:9d0b9785d3d6 42 ticker_int_10ms.attach(&Ticker_ISR, 0.01);
miguelangel_2511 0:9d0b9785d3d6 43 TFT_Interface_Initialize();
miguelangel_2511 0:9d0b9785d3d6 44 /*
miguelangel_2511 0:9d0b9785d3d6 45 tft->set_font((unsigned char*) Arial28x28);
miguelangel_2511 0:9d0b9785d3d6 46 tft->set_font_zoom(2,3);
miguelangel_2511 0:9d0b9785d3d6 47 if(gas_input == AIR_INPUT){
miguelangel_2511 0:9d0b9785d3d6 48 tft->locate(350,VALUES_ROW2_Y_POS );
miguelangel_2511 0:9d0b9785d3d6 49 tft->printf("Aire");
miguelangel_2511 0:9d0b9785d3d6 50 }else{
miguelangel_2511 0:9d0b9785d3d6 51 tft->locate(390,VALUES_ROW2_Y_POS );
miguelangel_2511 0:9d0b9785d3d6 52 tft->printf("O");
miguelangel_2511 0:9d0b9785d3d6 53 }
miguelangel_2511 0:9d0b9785d3d6 54 */
miguelangel_2511 0:9d0b9785d3d6 55
miguelangel_2511 0:9d0b9785d3d6 56 while(1){
miguelangel_2511 0:9d0b9785d3d6 57 //TFT_Encoder_Interaction();
miguelangel_2511 0:9d0b9785d3d6 58 if(stepper_motor_state == STEPPER_MOTOR_GO_HOME){
miguelangel_2511 0:9d0b9785d3d6 59 Stepper_Motor_Go_Home();
miguelangel_2511 0:9d0b9785d3d6 60 }
miguelangel_2511 0:9d0b9785d3d6 61
miguelangel_2511 0:9d0b9785d3d6 62 if(stepper_motor_state == STEPPER_MOTOR_GO_AHEAD){
miguelangel_2511 0:9d0b9785d3d6 63 Stepper_Motor_Go_Ahead();
miguelangel_2511 0:9d0b9785d3d6 64 }
miguelangel_2511 0:9d0b9785d3d6 65 }
miguelangel_2511 0:9d0b9785d3d6 66
miguelangel_2511 0:9d0b9785d3d6 67 return 0;
miguelangel_2511 0:9d0b9785d3d6 68 }
miguelangel_2511 0:9d0b9785d3d6 69
miguelangel_2511 0:9d0b9785d3d6 70
miguelangel_2511 0:9d0b9785d3d6 71
miguelangel_2511 0:9d0b9785d3d6 72 // Ticker Interrupt Service Routine
miguelangel_2511 0:9d0b9785d3d6 73 void Ticker_ISR(void){
miguelangel_2511 0:9d0b9785d3d6 74 /*
miguelangel_2511 0:9d0b9785d3d6 75 static uint8_t conta_10ms = 0;
miguelangel_2511 0:9d0b9785d3d6 76
miguelangel_2511 0:9d0b9785d3d6 77 Button_Debounce();
miguelangel_2511 0:9d0b9785d3d6 78
miguelangel_2511 0:9d0b9785d3d6 79 conta_10ms++;
miguelangel_2511 0:9d0b9785d3d6 80
miguelangel_2511 0:9d0b9785d3d6 81 if(conta_10ms == 2){
miguelangel_2511 0:9d0b9785d3d6 82 conta_10ms = 0;
miguelangel_2511 0:9d0b9785d3d6 83 Encoder_Read();
miguelangel_2511 0:9d0b9785d3d6 84 }
miguelangel_2511 0:9d0b9785d3d6 85 */
miguelangel_2511 0:9d0b9785d3d6 86 }