Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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);*/ }