CamachoLuna / Mbed 2 deprecated FRDM-KL46Z_ECG1_2

Dependencies:   mbed FRDM-KL46Z_ECG

main.cpp

Committer:
JulioDLuna
Date:
2020-12-05
Revision:
3:3213a5e5113c
Parent:
2:eec312c759e1
Child:
4:fde3fe13c27b

File content as of revision 3:3213a5e5113c:

#include "mbed.h"
#include "Senales.h"
#include "Serial.h"
Serial pc_serial(USBTX, USBRX);
int c=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 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 Monitorea(){
    c=1;
    do{ 
        //y[c]=abs(NormalUno[c+1]-NormalUno[c-1]);
        //y[c]=abs(VoltajeBradicardia[c+1]-VoltajeBradicardia[c-1]);
        //y[c]=abs(VoltajeTaquicardia[c+1]-VoltajeTaquicardia[c-1]);
        y[c]=abs(Bradicardia6s[c+1]-Bradicardia6s[c-1]);
        //pc_serial.printf("y:%f  muestra:%d\r\n",y[c],c);
        if(y[c]>0.2*m){
            cont++;
            if(cont>=4){
                qrs++;
                }
            }
        else{
            cont=0;
            }
        c=c+1;
    }while(c<2799);
    pc_serial.printf("QRS:%d\r\n",qrs);
}

void Controla(){
    do{ 
        /*NormalUno[c]=(NormalUno[c]-1.65)*m;
        Vmaxaux=NormalUno[c]-Vmax;
        Vminaux=NormalUno[c]-Vmin;
        if(Vmaxaux>0){Vmax=NormalUno[c];}
        if(Vminaux<0){Vmin=NormalUno[c];}*/
        /*VoltajeBradicardia[c]=(VoltajeBradicardia[c]-1.65)*m;
        Vmaxaux=VoltajeBradicardia[c]-Vmax;
        Vminaux=VoltajeBradicardia[c]-Vmin;
        if(Vmaxaux>0){Vmax=VoltajeBradicardia[c];}
        if(Vminaux<0){Vmin=VoltajeBradicardia[c];}*/
        //VoltajeTaquicardia[c]=(VoltajeTaquicardia[c]-1.65)*m;
        //Vmaxaux=VoltajeTaquicardia[c]-Vmax;
        //Vminaux=VoltajeTaquicardia[c]-Vmin;
        //if(Vmaxaux>0){Vmax=VoltajeTaquicardia[c];}
        //if(Vminaux<0){Vmin=VoltajeTaquicardia[c];}
        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("Pico:%f maxRP:%f E:%f G:%d escala:%d mm/mV\r\n",Pico,maxRP,E,G,escala);
     do{
     Bradicardia6s[c]=(Bradicardia6s[c]*G)+1.65;
     c=c+1;
     }while(c<2799);
}

void Pantalla(){
    /*do{  
     NormalUno[c]=(NormalUno[c]*G)+1.65;
     //pc_serial.printf("Vsal:%f  muestra:%d\r\n",NormalUno[c],c);
     pc_serial.printf("%f \r\n",NormalUno[c]);
     c=c+1;
    }while(c<2799);*/
}