Impedance Fast Circuitry Software

Dependencies:   mbed-dsp mbed

Fork of DSP_200kHz by Mazzeo Research Group

Committer:
bmazzeo
Date:
Tue Feb 16 18:33:44 2016 +0000
Revision:
54:1697dc574b96
Parent:
53:83a90a47c1fd
Child:
55:2526b3317bc8
Using continuous conversion - before changing to clocked sampling

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:bb128f0e952f 1 #include "mbed.h"
timmey9 22:523e316cbe70 2
timmey9 52:5a40cc58c4c2 3 // Sampling
bmazzeo 53:83a90a47c1fd 4 #include "DMA_sampling/adc.h"
bmazzeo 54:1697dc574b96 5 #include "DMA_sampling/dac.h"
timmey9 22:523e316cbe70 6
timmey9 22:523e316cbe70 7 // for debug purposes
timmey9 18:b17ddeeb1c09 8 Serial pc(USBTX, USBRX);
timmey9 18:b17ddeeb1c09 9 DigitalOut led_red(LED_RED);
timmey9 18:b17ddeeb1c09 10 DigitalOut led_green(LED_GREEN);
timmey9 18:b17ddeeb1c09 11 DigitalOut led_blue(LED_BLUE);
timmey9 51:43143a3fc2d7 12
timmey9 52:5a40cc58c4c2 13 // defined in dma.cpp
timmey9 45:d591d138cdeb 14 extern int len;
timmey9 45:d591d138cdeb 15 extern uint16_t sample_array0[];
timmey9 45:d591d138cdeb 16 extern uint16_t sample_array1[];
timmey9 41:3e0623d81b9a 17
bmazzeo 54:1697dc574b96 18 extern uint16_t static_input_array0[];
bmazzeo 54:1697dc574b96 19 extern uint16_t static_input_array1[];
bmazzeo 54:1697dc574b96 20
timmey9 22:523e316cbe70 21 using namespace std;
timmey9 17:2f978f823020 22
emilmont 7:65188f4a8c25 23 int main() {
timmey9 22:523e316cbe70 24 led_blue = 1;
timmey9 35:df40c4566826 25 led_green = 1;
timmey9 18:b17ddeeb1c09 26 led_red = 1;
timmey9 34:44cc9b76a507 27
timmey9 18:b17ddeeb1c09 28 pc.baud(230400);
timmey9 34:44cc9b76a507 29 pc.printf("Starting\r\n");
timmey9 27:8c2b30c855d1 30
bmazzeo 54:1697dc574b96 31 dac_init(); // initializes DAC
bmazzeo 54:1697dc574b96 32
timmey9 45:d591d138cdeb 33 adc_init(); // always initialize adc before dma
bmazzeo 53:83a90a47c1fd 34
bmazzeo 53:83a90a47c1fd 35 pc.printf("ADC Initialized\r\n");
bmazzeo 53:83a90a47c1fd 36
timmey9 51:43143a3fc2d7 37 dma_init(); // initializes DMAs
timmey9 45:d591d138cdeb 38
bmazzeo 54:1697dc574b96 39
timmey9 46:a015ebf4663b 40 led_green = 1;
timmey9 38:ec3b16c130d7 41
timmey9 40:bd6d8c35e822 42 pc.printf("\r\n\r\n\r\n");
timmey9 37:8bdc71f3e874 43
timmey9 34:44cc9b76a507 44 while(1) {
bmazzeo 54:1697dc574b96 45 //DMA_TCD2_CSR
bmazzeo 54:1697dc574b96 46 //int counter = 0;
bmazzeo 54:1697dc574b96 47 //pc.printf("Sample_array0[1]:%d\r\n",sample_array0[counter]);
bmazzeo 54:1697dc574b96 48 //ADC0_SC1A = 0x0C; //AIEN = 0, DIFF = 0, Channel = AD12 (PTB2)
bmazzeo 54:1697dc574b96 49 //ADC1_SC1A = 0x0E; //AIEN = 0, DIFF = 0, Channel = AD14 (PTB10)
bmazzeo 54:1697dc574b96 50 //while( (ADC0_SC1A&ADC_SC1_COCO_MASK)) {}
bmazzeo 54:1697dc574b96 51 //while( (ADC1_SC1A&ADC_SC1_COCO_MASK)) {}
bmazzeo 54:1697dc574b96 52 //pc.printf("ADC0_RA:%d\r\n", ADC0_RA);
bmazzeo 54:1697dc574b96 53 //pc.printf("ADC1_RA:%d\r\n", ADC1_RA);
bmazzeo 54:1697dc574b96 54
bmazzeo 54:1697dc574b96 55 //for(int i = 0; i < len; i++) pc.printf("A%i: %d\t %d\r\n",i,sample_array0[i],sample_array1[i]);
bmazzeo 54:1697dc574b96 56 //for(int i = 0; i < len; i++) pc.printf("B%i: %d\t %d\r\n",i,static_input_array0[i],static_input_array1[i]);
bmazzeo 54:1697dc574b96 57
bmazzeo 54:1697dc574b96 58 //wait_ms(1000);
bmazzeo 54:1697dc574b96 59 int store_var = DMA_TCD2_CSR;
bmazzeo 54:1697dc574b96 60 if (store_var == 0x220)
bmazzeo 54:1697dc574b96 61 {
bmazzeo 54:1697dc574b96 62 DAC0_DAT0H = 0x0F;
bmazzeo 54:1697dc574b96 63 wait_us(10);
bmazzeo 54:1697dc574b96 64 //DMA_TCD0_CSR = 0x260;
bmazzeo 54:1697dc574b96 65 }
bmazzeo 54:1697dc574b96 66 if (store_var == 0x260)
bmazzeo 54:1697dc574b96 67 {
bmazzeo 54:1697dc574b96 68 DAC0_DAT0H = 0x00;
bmazzeo 54:1697dc574b96 69 wait_us(10);
bmazzeo 54:1697dc574b96 70 }
bmazzeo 54:1697dc574b96 71
bmazzeo 54:1697dc574b96 72 //int store_var = DMA_TCD0_CSR;
bmazzeo 54:1697dc574b96 73 pc.printf("DMA0: %x\r\n", DMA_TCD0_CSR);
bmazzeo 54:1697dc574b96 74 pc.printf("DMA1: %x\r\n", DMA_TCD1_CSR);
bmazzeo 54:1697dc574b96 75 pc.printf("DMA2: %x\r\n", DMA_TCD2_CSR);
bmazzeo 54:1697dc574b96 76 pc.printf("DMA3: %x\r\n", DMA_TCD3_CSR);
bmazzeo 54:1697dc574b96 77
bmazzeo 54:1697dc574b96 78 //wait_us(100);
bmazzeo 54:1697dc574b96 79
timmey9 17:2f978f823020 80 }
timmey9 42:52a92a8d2cc7 81 }