ECG_ADS1198
Dependencies: ADSlib mbed SDFileSystem
This was created for an internship project at IIT hyderabad.
Diff: main.cpp
- Revision:
- 2:86845af4bcac
- Parent:
- 1:65a219536d66
- Child:
- 3:86eef673aec5
diff -r 65a219536d66 -r 86845af4bcac main.cpp --- a/main.cpp Thu Apr 02 13:27:43 2015 +0000 +++ b/main.cpp Sun Apr 05 20:34:03 2015 +0000 @@ -1,15 +1,97 @@ #include "mbed.h" #include "ADSlib.h" +/***********************PROTOTYPING**********************************/ +DigitalOut CLKSEL(p8); +DigitalOut ADS1CS(p11); +DigitalOut ADS2CS(p12); +DigitalOut MULT_ADS(p13); +DigitalOut PWDN(p10); +DigitalOut RESETpin(p9); +DigitalOut STARTpin(p14); +DigitalIn DRDY(p15); +SPI spi(p5,p6,p7); +/********************************************************************/ +signed char Input_Data_Stream[19]; +int16_t Input_modified[12]; + +int main() // main call +{ + /********************POWER ON SEQUENCING *****************************/ + wait_ms(500); // boot up time + + ADS1CS=1; // deselect ADS1 + spi.format(8,3); //spi setttings + spi.frequency(1000000); //spi settings + + CLKSEL = 1; //clock signal (internal) setup Frequency = 2.048 MHz + ADS1CS= 0; + spi.write(W_CONFIG1); + spi.write(0x00); + spi.write(0x64); + ADS1CS =1; + + PWDN = 1; + RESETpin = 1; + wait(1); //Delay for Power-On Reset and Oscillator Start-Up + + ADS1CS= 0; // intial reset command for device reset and register setting clean up + spi.write(RESET); + pause_clk(18); + + + spi.write(SDATAC); // device boots up in RDATAC mode set it in SDATAC mode + pause_clk(4); + + + spi.write(W_CONFIG3); // internal reference stup and enable + spi.write(0x00); + spi.write(0xC0); + + /***************POWER ON SEQUENCING COMPLETE**************************/ + + + /**************CHANNEL SETTINGS***************************************/ + spi.write(W_CHnSET); + spi.write(0x07); + spi.write((int)ADS_Default_Channel_Settings); + ADS1CS = 1; + /*********************************************************************/ + + /*****************************CONVERSION BEGINS**********************/ + STARTpin= 1; + + //write main superloop and rdatac mode and enable dout conversion AND SETUP FILESTORAFGE + + spi.write(RDATAC); + wait_ms(10); + while(DRDY) {} + ADS1CS= 0; + for (int i=0; i<=18; i++) { + Input_Data_Stream[i] = spi.write(0x00); + } + for(int i=3; i<=17; i++) { + int k= 0; + int j= 4; + Input_modified[k]=Input_Data_Stream[i]<<8 + Input_Data_Stream[j]; + j++; + k++; + } + Input_modified[8]=Input_modified[7]-Input_modified[6]; + Input_modified[9]=-(Input_modified[7]+Input_modified[6]/2); + Input_modified[10]=((2*Input_modified[6])-Input_modified[7])/2; + Input_modified[11]=((2*Input_modified[7])-Input_modified[6])/2; + spi.write(SDATAC); + -int main(){ - while(true){ - - - } - - } - - + + + + + +} + + +