Modification into 17th July New display demo code

Dependencies:   SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217

Fork of Ext_Demo_17July2017_newdis by SenseSemi

Committer:
avp2417
Date:
Sun Jul 23 16:50:59 2017 +0000
Revision:
34:8f6b0dc124e8
Parent:
20:7c64e6ecad76
Modification after review in 17th July New Display demo code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nikitateggi 3:9a06c2bed650 1 #include "mbed.h"
nikitateggi 3:9a06c2bed650 2 #include "ec_bp.h"
nikitateggi 3:9a06c2bed650 3 //#include "ecg_dec.h"
nikitateggi 3:9a06c2bed650 4
nikitateggi 3:9a06c2bed650 5 //PIN DECLARATIONS
nikitateggi 3:9a06c2bed650 6 //Serial pc(USBTX,USBRX);
nikitateggi 3:9a06c2bed650 7 SPI mySpi(PIN_MOSI, PIN_MISO, PIN_SCLK) ;
nikitateggi 3:9a06c2bed650 8 DigitalIn DRDY_BAR(PTC8);
nikitateggi 3:9a06c2bed650 9
nikitateggi 3:9a06c2bed650 10 DigitalOut CHIPSEL_BAR(PTD0);
nikitateggi 3:9a06c2bed650 11 DigitalOut ADS_START(PTC16);
nikitateggi 3:9a06c2bed650 12 DigitalOut RESET_BAR(PTC17);
nikitateggi 3:9a06c2bed650 13 DigitalOut myled(LED1);
nikitateggi 3:9a06c2bed650 14 PwmOut led(PTB18);
nikitateggi 3:9a06c2bed650 15 float value = 0;
nikitateggi 3:9a06c2bed650 16 unsigned int value1;
nikitateggi 3:9a06c2bed650 17 unsigned int value2;
nikitateggi 3:9a06c2bed650 18 unsigned int value3;
nikitateggi 3:9a06c2bed650 19 unsigned int value4;
nikitateggi 3:9a06c2bed650 20 unsigned int value5;
nikitateggi 3:9a06c2bed650 21 unsigned int value6;
nikitateggi 20:7c64e6ecad76 22 uint8_t data1;
nikitateggi 3:9a06c2bed650 23 unsigned int count;
nikitateggi 3:9a06c2bed650 24
nikitateggi 3:9a06c2bed650 25 //unsigned char chk2= 0;
nikitateggi 3:9a06c2bed650 26 //float value = 0;
nikitateggi 3:9a06c2bed650 27 /*unsigned int value1 = 0;
nikitateggi 3:9a06c2bed650 28 unsigned int value2 = 0;
nikitateggi 3:9a06c2bed650 29 unsigned int value3 = 0;
nikitateggi 3:9a06c2bed650 30 unsigned int value4 = 0;
nikitateggi 3:9a06c2bed650 31 unsigned int value5 = 0;
nikitateggi 3:9a06c2bed650 32 unsigned int value6 = 0;
nikitateggi 3:9a06c2bed650 33 unsigned int data1 = 0;
nikitateggi 3:9a06c2bed650 34 unsigned int count = 0;*/
nikitateggi 3:9a06c2bed650 35
nikitateggi 3:9a06c2bed650 36 //static int32_t ecg_x[500];
nikitateggi 3:9a06c2bed650 37 /* SPI is the spi function written in mbed and mySpi is the instance name*/
nikitateggi 3:9a06c2bed650 38
nikitateggi 3:9a06c2bed650 39 typedef void (*func_ptr)(void) ; /*creates typedef to function pointer, does not take any arguement and returns void*/
nikitateggi 3:9a06c2bed650 40
nikitateggi 3:9a06c2bed650 41
nikitateggi 3:9a06c2bed650 42 void lpf_coef(void);
nikitateggi 3:9a06c2bed650 43 float lpf( float coeff[5], float);
nikitateggi 3:9a06c2bed650 44 void drdy_int(void);
nikitateggi 3:9a06c2bed650 45 /*FILE *sd_openfile(char *buf);
nikitateggi 3:9a06c2bed650 46 void sd_write (FILE *n,int value);
nikitateggi 3:9a06c2bed650 47 void sd_close(FILE *n);
nikitateggi 3:9a06c2bed650 48 time_t rtc_read();*/
nikitateggi 3:9a06c2bed650 49
nikitateggi 3:9a06c2bed650 50 typedef struct _cmd_func {
nikitateggi 3:9a06c2bed650 51 char *name ;
nikitateggi 3:9a06c2bed650 52 func_ptr func ;
nikitateggi 3:9a06c2bed650 53 } cmd_func_type ;
nikitateggi 3:9a06c2bed650 54
nikitateggi 3:9a06c2bed650 55 cmd_func_type cmd_list[] = { /*"cmd_func_type cmd_list[]" is same as "struct cmd_list[]"*/
nikitateggi 3:9a06c2bed650 56 {"help", doHelp},
nikitateggi 3:9a06c2bed650 57 {"status", doStatus},
nikitateggi 3:9a06c2bed650 58 {"freq", doFreq},
nikitateggi 3:9a06c2bed650 59 {"mode", doMode},
nikitateggi 3:9a06c2bed650 60 {"bit", doBit},
nikitateggi 3:9a06c2bed650 61 {"write", doWrite},
nikitateggi 3:9a06c2bed650 62 {"read", doRead},
nikitateggi 3:9a06c2bed650 63 {"loop", doLoop},
nikitateggi 3:9a06c2bed650 64 { 0, 0 }
nikitateggi 3:9a06c2bed650 65 } ;
nikitateggi 3:9a06c2bed650 66
nikitateggi 3:9a06c2bed650 67 func_ptr getFunc(char *cmd) /*here "func_ptr is same as void*/
nikitateggi 3:9a06c2bed650 68 {
nikitateggi 3:9a06c2bed650 69 int i = 0 ;
nikitateggi 3:9a06c2bed650 70 while(cmd_list[i].name != 0) {
nikitateggi 3:9a06c2bed650 71 if (strcmp(cmd, cmd_list[i].name) == 0) {
nikitateggi 3:9a06c2bed650 72 return(cmd_list[i].func) ; ;
nikitateggi 3:9a06c2bed650 73 }
nikitateggi 3:9a06c2bed650 74 i++ ;
nikitateggi 3:9a06c2bed650 75 }
nikitateggi 3:9a06c2bed650 76 return(0) ;
nikitateggi 3:9a06c2bed650 77 }
nikitateggi 3:9a06c2bed650 78
nikitateggi 3:9a06c2bed650 79 void doHello()
nikitateggi 3:9a06c2bed650 80 {
nikitateggi 3:9a06c2bed650 81 printf("=== spi test program ===\n\r") ;
nikitateggi 3:9a06c2bed650 82 printf("please set your terminal program\n\r") ;
nikitateggi 3:9a06c2bed650 83 printf("local echo on\n\r") ;
nikitateggi 3:9a06c2bed650 84 printf("\n\r") ;
nikitateggi 3:9a06c2bed650 85 }
nikitateggi 3:9a06c2bed650 86
nikitateggi 3:9a06c2bed650 87
nikitateggi 3:9a06c2bed650 88 void setup()
nikitateggi 3:9a06c2bed650 89 {
nikitateggi 3:9a06c2bed650 90 //initially make all inputs low until power is up and stabilized
nikitateggi 3:9a06c2bed650 91 CHIPSEL_BAR = 0;
nikitateggi 3:9a06c2bed650 92 ADS_START = 0;
nikitateggi 3:9a06c2bed650 93 RESET_BAR = 0;
nikitateggi 3:9a06c2bed650 94 //wait for oscillator to wake up
nikitateggi 3:9a06c2bed650 95 wait(1);
nikitateggi 3:9a06c2bed650 96
nikitateggi 3:9a06c2bed650 97 CHIPSEL_BAR = 1;
nikitateggi 3:9a06c2bed650 98 RESET_BAR = 1; //wait for tpor time
nikitateggi 3:9a06c2bed650 99 //wait for power on reset
nikitateggi 3:9a06c2bed650 100 wait(1);
nikitateggi 3:9a06c2bed650 101 RESET_BAR = 0; // send a reset pulse and wait for t_reset amount of time
nikitateggi 3:9a06c2bed650 102 wait(1);
nikitateggi 3:9a06c2bed650 103 RESET_BAR = 1;//release the reset
nikitateggi 3:9a06c2bed650 104 //Wait for 18 tclks = 36 us
nikitateggi 3:9a06c2bed650 105 wait_us(36);
nikitateggi 3:9a06c2bed650 106
nikitateggi 3:9a06c2bed650 107 //Device wakes up in RDATAC mode so send SDATAC command to write to registers
nikitateggi 3:9a06c2bed650 108 cmdWrite(CMD_SDATAC) ;
nikitateggi 3:9a06c2bed650 109 // printf("Device is in SDATAC mode\n");
nikitateggi 3:9a06c2bed650 110
nikitateggi 3:9a06c2bed650 111 regRead(REG_ID);
nidhinvarghese 11:9a6545c2eb5d 112 printf("DEVICE ID register read from ADS is= 0x%X\n",data1);
nikitateggi 3:9a06c2bed650 113 wait(1);
nikitateggi 3:9a06c2bed650 114
nikitateggi 3:9a06c2bed650 115 //Since we are using internal 2.42V reference and enable clock on the CLK PIN
nikitateggi 3:9a06c2bed650 116 //Write 0xA8 to CONFIG2 register
nikitateggi 3:9a06c2bed650 117 regWrite(REG_CONFIG2,no_mode);
nikitateggi 3:9a06c2bed650 118
nikitateggi 3:9a06c2bed650 119 //Set continuous sampling mode, 500 SPS
nikitateggi 3:9a06c2bed650 120 regWrite(REG_CONFIG1,sps500);
nikitateggi 3:9a06c2bed650 121
nikitateggi 3:9a06c2bed650 122 //PGA Gain = 6, inputs shorted for noise measurements
nikitateggi 3:9a06c2bed650 123 regWrite(REG_CH1SET, offset_meas);
nikitateggi 3:9a06c2bed650 124
nikitateggi 3:9a06c2bed650 125 //read data from CONFIG2 register
nikitateggi 3:9a06c2bed650 126 regRead(REG_CONFIG2);
nikitateggi 3:9a06c2bed650 127 // printf("REG_CONFIG2 register read from ADS for initial setup is= 0x%X\n",data1);
nikitateggi 3:9a06c2bed650 128
nikitateggi 3:9a06c2bed650 129 //read data from CONFIG1 register
nikitateggi 3:9a06c2bed650 130 regRead(REG_CONFIG1);
nikitateggi 3:9a06c2bed650 131 // printf("REG_CONFIG1 register read from ADS for initial setup is= 0x%X\n",data1);
nikitateggi 3:9a06c2bed650 132
nikitateggi 3:9a06c2bed650 133 //read data from CONFIG1 register
nikitateggi 3:9a06c2bed650 134 regRead(REG_CH1SET);
nikitateggi 3:9a06c2bed650 135 // printf("REG_CH1SET register read from ADS for initial setup is= 0x%X\n",data1);
nikitateggi 3:9a06c2bed650 136 }
nikitateggi 3:9a06c2bed650 137
nikitateggi 3:9a06c2bed650 138 void testsetup()
nikitateggi 3:9a06c2bed650 139 {
nikitateggi 3:9a06c2bed650 140 //Send SDATAC command to write to registers to set test signals
nikitateggi 3:9a06c2bed650 141 cmdWrite(CMD_SDATAC) ;
nikitateggi 3:9a06c2bed650 142 printf("Device is in SDATAC mode\n");
nikitateggi 3:9a06c2bed650 143
nikitateggi 3:9a06c2bed650 144 //Since we are using internal 2.42V reference and enable clock on the CLK PIN
nikitateggi 3:9a06c2bed650 145 //Write 0xA3 to CONFIG2 register to set test signal and its freq = 1Hz
nikitateggi 3:9a06c2bed650 146 regWrite(REG_CONFIG2,test_mode);
nikitateggi 3:9a06c2bed650 147
nikitateggi 3:9a06c2bed650 148 //PGA Gain = 6, test signal selected
nikitateggi 3:9a06c2bed650 149 regWrite(REG_CH1SET, test_inp);
nikitateggi 3:9a06c2bed650 150
nikitateggi 3:9a06c2bed650 151 //read data from CONFIG2 register
nikitateggi 3:9a06c2bed650 152 regRead(REG_CONFIG2);
nikitateggi 3:9a06c2bed650 153 printf("REG_CONFIG2 register read from ADS for test signal setup is= 0x%X\n",data1);
nikitateggi 3:9a06c2bed650 154
nikitateggi 3:9a06c2bed650 155 //read data from CONFIG1 register
nikitateggi 3:9a06c2bed650 156 regRead(REG_CH1SET);
nikitateggi 3:9a06c2bed650 157 printf("REG_CH1SET register read from ADS for test signal setup is= 0x%X\n",data1);
nikitateggi 3:9a06c2bed650 158 }
nikitateggi 3:9a06c2bed650 159
nikitateggi 3:9a06c2bed650 160 void ecgsetup()
nikitateggi 3:9a06c2bed650 161 {
nikitateggi 3:9a06c2bed650 162 cmdWrite(CMD_SDATAC) ; //Set to SDATAC mode to set CH1SET register
nikitateggi 3:9a06c2bed650 163
nikitateggi 3:9a06c2bed650 164 regWrite(REG_CONFIG1,sps500);
nikitateggi 3:9a06c2bed650 165 regWrite(REG_CONFIG2, default_mode);//put INT_TEST and TEST_FREQ bits to default mode(set those bits to '0')
nikitateggi 3:9a06c2bed650 166 regWrite(REG_LOFF, loff_conf);
nikitateggi 3:9a06c2bed650 167 regWrite(REG_CH1SET, elec_inp);// Set to read normal electrode input
nikitateggi 3:9a06c2bed650 168 regWrite(REG_RLD_SENS, rld_sens_sig);//Set RLD_SENS
nikitateggi 3:9a06c2bed650 169 regWrite(REG_LOFF_SENS, loff_sens_sig);//Set LOFF_SENS
nikitateggi 3:9a06c2bed650 170 regWrite(REG_MISC1, misc1_inp );//Set RESP1
nikitateggi 3:9a06c2bed650 171 regWrite(REG_MISC2, misc2_inp );//Set RESP2
nikitateggi 3:9a06c2bed650 172 //printf("connect ECG leads\n");
nikitateggi 3:9a06c2bed650 173 wait(0.5);
nikitateggi 3:9a06c2bed650 174 regRead(REG_LOFF_STAT);//Read LOFF_STAT register
nikitateggi 3:9a06c2bed650 175 printf("REG_LOFF_STAT register read from ADS for ecg setup is= 0x%X\n",data1);
nikitateggi 20:7c64e6ecad76 176
nikitateggi 3:9a06c2bed650 177 }
nikitateggi 3:9a06c2bed650 178
nikitateggi 3:9a06c2bed650 179 void doHelp(void)
nikitateggi 3:9a06c2bed650 180 {
nikitateggi 3:9a06c2bed650 181 printf("=== spi test ===\n\r") ;
nikitateggi 3:9a06c2bed650 182 printf("commands available\n\r") ;
nikitateggi 3:9a06c2bed650 183 printf("help\n\r") ;
nikitateggi 3:9a06c2bed650 184 printf("status\n\r") ;
nikitateggi 3:9a06c2bed650 185 printf("freq freq_in_hz\n\r") ;
nikitateggi 3:9a06c2bed650 186 printf("mode (0 | 1 | 2 | 3)\n\r") ;
nikitateggi 3:9a06c2bed650 187 printf("bit (4 - 16)\n\r") ;
nikitateggi 3:9a06c2bed650 188 printf("write value\n\r") ;
nikitateggi 3:9a06c2bed650 189 printf("read\n\r") ;
nikitateggi 3:9a06c2bed650 190 printf("loop number (set repeat number for read/write)\n\r") ;
nikitateggi 3:9a06c2bed650 191 }
nikitateggi 3:9a06c2bed650 192
nikitateggi 3:9a06c2bed650 193 void doStatus(void)
nikitateggi 3:9a06c2bed650 194 {
nikitateggi 3:9a06c2bed650 195 printf("=== Status Report ===\n\r") ;
nikitateggi 3:9a06c2bed650 196 printf("bits: %d\n\r", bits) ;
nikitateggi 3:9a06c2bed650 197 printf("mode: %d\n\r", mode) ;
nikitateggi 3:9a06c2bed650 198 printf("freq: %d Hz\n\r", freq) ;
nikitateggi 3:9a06c2bed650 199 printf("loop: %d\n\r", loop) ;
nikitateggi 3:9a06c2bed650 200 }
nikitateggi 3:9a06c2bed650 201
nikitateggi 3:9a06c2bed650 202 void doFreq(void)
nikitateggi 3:9a06c2bed650 203 {
nikitateggi 3:9a06c2bed650 204 // int freq = 0 ;
nikitateggi 3:9a06c2bed650 205 // scanf("%d", &freq) ;
nikitateggi 3:9a06c2bed650 206 printf("setting frequency to %d\n\r", freq) ;
nikitateggi 3:9a06c2bed650 207 mySpi.frequency(freq) ;
nikitateggi 3:9a06c2bed650 208 }
nikitateggi 3:9a06c2bed650 209
nikitateggi 3:9a06c2bed650 210 void doMode(void)
nikitateggi 3:9a06c2bed650 211 {
nikitateggi 3:9a06c2bed650 212 //scanf("%d", &mode) ;
nikitateggi 3:9a06c2bed650 213 printf("setting format(%d, %d)\n\r",bits, mode) ;
nikitateggi 3:9a06c2bed650 214 mySpi.format(bits, mode) ;
nikitateggi 3:9a06c2bed650 215 }
nikitateggi 3:9a06c2bed650 216
nikitateggi 3:9a06c2bed650 217 void doBit(void)
nikitateggi 3:9a06c2bed650 218 {
nikitateggi 3:9a06c2bed650 219 // scanf("%d", &bits) ;
nikitateggi 3:9a06c2bed650 220 printf("setting format(%d, %d)\n\r",bits, mode) ;
nikitateggi 3:9a06c2bed650 221 mySpi.format(bits, mode) ;
nikitateggi 3:9a06c2bed650 222 }
nikitateggi 3:9a06c2bed650 223
nikitateggi 3:9a06c2bed650 224 void doWrite(void)
nikitateggi 3:9a06c2bed650 225 {
nikitateggi 3:9a06c2bed650 226
nikitateggi 3:9a06c2bed650 227 //DRDY_BAR1.disable_irq();
nikitateggi 3:9a06c2bed650 228
nikitateggi 3:9a06c2bed650 229 CHIPSEL_BAR = 0;
nikitateggi 3:9a06c2bed650 230 // int freq1 = 50000;
nikitateggi 3:9a06c2bed650 231 // mySpi.frequency(freq1) ;
nikitateggi 3:9a06c2bed650 232 value1 = mySpi.write(0x00);
nikitateggi 3:9a06c2bed650 233 value2 = mySpi.write(0x00);
nikitateggi 3:9a06c2bed650 234 value3 = mySpi.write(0x00);
nikitateggi 3:9a06c2bed650 235 value4 = mySpi.write(0x00);
nikitateggi 3:9a06c2bed650 236 value5 = mySpi.write(0x00);
nikitateggi 3:9a06c2bed650 237 value6 = mySpi.write(0x00);
nikitateggi 3:9a06c2bed650 238
nikitateggi 3:9a06c2bed650 239 CHIPSEL_BAR = 0;
nikitateggi 3:9a06c2bed650 240 //DRDY_BAR1.enable_irq();
nikitateggi 3:9a06c2bed650 241 }
nikitateggi 3:9a06c2bed650 242
nikitateggi 3:9a06c2bed650 243 void doRead(void)
nikitateggi 3:9a06c2bed650 244 {
nikitateggi 3:9a06c2bed650 245 int dummy = 0 ;
nikitateggi 3:9a06c2bed650 246
nikitateggi 3:9a06c2bed650 247 while(!DRDY_BAR)
nikitateggi 3:9a06c2bed650 248 ADS_START = 0;
nikitateggi 3:9a06c2bed650 249
nikitateggi 3:9a06c2bed650 250 value = mySpi.write(dummy) ;
nikitateggi 3:9a06c2bed650 251
nikitateggi 3:9a06c2bed650 252 }
nikitateggi 3:9a06c2bed650 253
nikitateggi 3:9a06c2bed650 254 void doLoop(void)
nikitateggi 3:9a06c2bed650 255 {
nikitateggi 3:9a06c2bed650 256 // scanf("%d", &loop) ;
nikitateggi 3:9a06c2bed650 257 printf("repeat number has been set to %d\n\r", loop) ;
nikitateggi 3:9a06c2bed650 258 }
nikitateggi 3:9a06c2bed650 259
nikitateggi 3:9a06c2bed650 260 void cmdWrite(int data)
nikitateggi 3:9a06c2bed650 261 {
nikitateggi 3:9a06c2bed650 262 CHIPSEL_BAR = 0;
nikitateggi 3:9a06c2bed650 263 mySpi.write(data) ;
nikitateggi 3:9a06c2bed650 264 wait_ms(1);
nikitateggi 3:9a06c2bed650 265 CHIPSEL_BAR = 1;
nikitateggi 3:9a06c2bed650 266 }
nikitateggi 3:9a06c2bed650 267
nikitateggi 3:9a06c2bed650 268 void regWrite(int address, int data)
nikitateggi 3:9a06c2bed650 269 {
nikitateggi 3:9a06c2bed650 270 int data_to_send = CMD_WREG << 5;
nikitateggi 3:9a06c2bed650 271 data_to_send = data_to_send | address;
nikitateggi 3:9a06c2bed650 272 CHIPSEL_BAR = 0;
nikitateggi 3:9a06c2bed650 273 mySpi.write(data_to_send);
nikitateggi 3:9a06c2bed650 274 wait_ms(1);
nikitateggi 3:9a06c2bed650 275 mySpi.write(0x00) ;
nikitateggi 3:9a06c2bed650 276 wait_ms(1);
nikitateggi 3:9a06c2bed650 277 mySpi.write(data) ;
nikitateggi 3:9a06c2bed650 278 wait_ms(1);
nikitateggi 3:9a06c2bed650 279 CHIPSEL_BAR = 1;
nikitateggi 3:9a06c2bed650 280 }
nikitateggi 3:9a06c2bed650 281
nikitateggi 3:9a06c2bed650 282 void regRead(int address)
nikitateggi 3:9a06c2bed650 283 {
nikitateggi 3:9a06c2bed650 284 int data_to_receive = CMD_RREG << 5;
nikitateggi 3:9a06c2bed650 285 data_to_receive = data_to_receive | address;
nikitateggi 3:9a06c2bed650 286 CHIPSEL_BAR = 0;
nikitateggi 3:9a06c2bed650 287 mySpi.write(data_to_receive);
nikitateggi 3:9a06c2bed650 288 wait_ms(1);
nikitateggi 3:9a06c2bed650 289 mySpi.write(0x00) ;
nikitateggi 3:9a06c2bed650 290 wait_ms(1);
nikitateggi 3:9a06c2bed650 291 data1 = mySpi.write(0x00) ;
nikitateggi 3:9a06c2bed650 292
nikitateggi 3:9a06c2bed650 293 //printf("DEVICE ID register read from ADS is= 0x%X\n",data1);
nikitateggi 3:9a06c2bed650 294
nikitateggi 3:9a06c2bed650 295 //wait_ms(1);
nikitateggi 3:9a06c2bed650 296 CHIPSEL_BAR = 1;
nikitateggi 3:9a06c2bed650 297 }
nikitateggi 3:9a06c2bed650 298
nikitateggi 3:9a06c2bed650 299
nikitateggi 3:9a06c2bed650 300
nikitateggi 3:9a06c2bed650 301 void freqset()
nikitateggi 3:9a06c2bed650 302 {
nikitateggi 3:9a06c2bed650 303 mySpi.frequency(freq) ;
nikitateggi 3:9a06c2bed650 304 mySpi.format(bits, mode) ;
nikitateggi 3:9a06c2bed650 305 }
nikitateggi 3:9a06c2bed650 306
nikitateggi 3:9a06c2bed650 307
nikitateggi 3:9a06c2bed650 308
nikitateggi 3:9a06c2bed650 309 void setupfunc()
nikitateggi 3:9a06c2bed650 310 {
nikitateggi 3:9a06c2bed650 311 setup() ;
nikitateggi 3:9a06c2bed650 312 cmdWrite(CMD_RDATAC) ;
nikitateggi 3:9a06c2bed650 313 ADS_START = 1;
nikitateggi 3:9a06c2bed650 314 }
nikitateggi 3:9a06c2bed650 315
nikitateggi 20:7c64e6ecad76 316 uint8_t ecgsetupfunc()
nikitateggi 3:9a06c2bed650 317 {
nikitateggi 20:7c64e6ecad76 318 // uint8_t lead=0;
nikitateggi 3:9a06c2bed650 319 ecgsetup(); // To set the ADS1291 registers for ECG signal generation
nikitateggi 3:9a06c2bed650 320 cmdWrite(CMD_RDATAC) ;
nikitateggi 3:9a06c2bed650 321 ADS_START = 1;
nikitateggi 20:7c64e6ecad76 322 return data1; // returns lead off reg value // 14/06
nikitateggi 3:9a06c2bed650 323 }
nikitateggi 3:9a06c2bed650 324
nikitateggi 3:9a06c2bed650 325 void ecgtestsetupfunc()
nikitateggi 3:9a06c2bed650 326 {
nikitateggi 3:9a06c2bed650 327 testsetup(); // To set the ADS1291 registers for ECG signal generation
nikitateggi 3:9a06c2bed650 328 cmdWrite(CMD_RDATAC) ;
nikitateggi 3:9a06c2bed650 329 ADS_START = 1;
nikitateggi 3:9a06c2bed650 330
nikitateggi 3:9a06c2bed650 331 }
nikitateggi 3:9a06c2bed650 332 int readvalue()
nikitateggi 3:9a06c2bed650 333 {
nikitateggi 3:9a06c2bed650 334 int concatenate_value;
nikitateggi 3:9a06c2bed650 335 while(DRDY_BAR);
nikitateggi 3:9a06c2bed650 336 doWrite() ;
nikitateggi 3:9a06c2bed650 337 concatenate_value = ((value4<< 16)|(value5 <<8) |(value6));
nikitateggi 3:9a06c2bed650 338
nikitateggi 3:9a06c2bed650 339 return concatenate_value;
nikitateggi 3:9a06c2bed650 340 }
nikitateggi 3:9a06c2bed650 341
nikitateggi 3:9a06c2bed650 342
nikitateggi 3:9a06c2bed650 343
nikitateggi 3:9a06c2bed650 344
nikitateggi 3:9a06c2bed650 345