CamachoLuna / Mbed 2 deprecated FRDM-KL46Z_ECG1_2

Dependencies:   mbed FRDM-KL46Z_ECG

main.cpp

Committer:
JulioDLuna
Date:
2020-12-06
Revision:
4:fde3fe13c27b
Parent:
3:3213a5e5113c
Child:
5:43a7c05b02cd

File content as of revision 4:fde3fe13c27b:

#include "mbed.h"
#include "Senales.h"
#include "Serial.h"
Serial pc_serial(USBTX, USBRX);
int c=0;
int frec=0;
bool flag1=0;
bool flag2=0;
float m=0;
int G=0;
int qrs=0;
int cont=0;
int escala=0;
float valor[]={};
float valoraux[]={};
float y[2799]={0};
float E=0.0;
float Pico=0.0;
float Pico50=0.0;
float Vmax=0.0;
float Vmin=0.0;
float Vmaxaux=0.0;
float Vminaux=0.0;
float maxRP=0.0;
void Monitorea();
void Controla();
void Pantalla();


int main(){
    pc_serial.baud(9600);
    m=1;
    Controla();
    Monitorea();
}

void Controla(){
    do{ 
        Bradicardia6s[c]=(Bradicardia6s[c]-1.65)*m;
        Vmaxaux=Bradicardia6s[c]-Vmax;
        Vminaux=Bradicardia6s[c]-Vmin;
        if(Vmaxaux>0){Vmax=Bradicardia6s[c];}
        if(Vminaux<0){Vmin=Bradicardia6s[c];}
        //pc_serial.printf("Vmax:%f  Vmin:%f muestra:%d\r\n",Vmax,Vmin,c);
        c=c+1;
    }while(c<2799);
    //pc_serial.printf("Vmax:%f  Vmin:%f\r\n",Vmax,Vmin);
    Pico=abs(Vmax)-abs(Vmin);
    c=0;
    if(Pico>0){Pico=Vmax;}
    if(Pico<0){Pico=abs(Vmin);}
        if(0<=Pico&&Pico<=0.424){maxRP=0.424;}
        if(0.425<=Pico&&Pico<=0.824){maxRP=0.824;}
        if(0.825<=Pico&&Pico<=1.65){maxRP=1.65;}
     
    E=1.65-maxRP;
    if(1<=E&&E<=1.3){G=4; escala=20;}
    if(0.7<=E&&E<=0.9){G=2; escala=10;}
    if(0<=E&&E<=0.1){G=1;escala=5;}
     pc_serial.printf("G:%d escala:%d mm/mV\r\n",G,escala);
     /*do{
     Bradicardia6s[c]=(Bradicardia6s[c]*G)+1.65;
     c=c+1;
     }while(c<2799);*/
}

void Monitorea(){
    c=0;
    Pico50=Pico*0.5;
    do{
        y[c]=abs(Bradicardia6s[c]);
        if(y[c]>Pico50){flag1=1;}
        if(flag1==1&&y[c]<Pico50){flag2=1;}
        if(flag1==1&&flag2==1){qrs=qrs+1;flag1=0;flag2=0;}
        c=c+1;
    }while(c<2799);
    frec=qrs*10;
    pc_serial.printf("QRS:%d f: %d\r\n",qrs,frec);
    if(frec>=60&&frec<=100){pc_serial.printf("LED Verde Normal\r\n");}
    if(frec>50&&frec<60){pc_serial.printf("LED Amarillo Posible Bradicardia!\r\n");}
    if(frec>100&&frec<110){pc_serial.printf("LED Amarillo Posible Taquicardia!\r\n");}
    if(frec<=50){pc_serial.printf("LED Rojo  Bradicardia!\r\n");}
    if(frec>=110){pc_serial.printf("LED Rojo  Taquicardia!\r\n");}
    
}

void Pantalla(){
    /*do{  
    pc_serial.printf("QRS:%d f: %d\r\n",qrs,frec);
    }while(c<2799);*/
}