Dependencies:   mbed-dsp mbed

Fork of DSP_200kHz by Mazzeo Research Group

Revision:
66:72c5c24e532c
Parent:
64:bb4a4bd57681
Child:
67:ec0c58490ce6
--- a/main.cpp	Tue Feb 23 20:10:15 2016 +0000
+++ b/main.cpp	Fri Feb 26 20:02:36 2016 +0000
@@ -12,6 +12,8 @@
 DigitalOut led_blue(LED_BLUE);
 DigitalOut status_0(D0);
 DigitalOut status_1(D1);
+DigitalIn sw2(SW2);
+DigitalIn sw3(SW3);
 
 // defined in dma.cpp
 extern int len;
@@ -36,14 +38,10 @@
     pc.baud(230400);
     pc.printf("Starting\r\n");
     
-    pdb_init(); // Initalize PDB
-    
-    dac_init(); // initializes DAC
-    
+    pdb_init(); // Initalize PDB   
+    dac_init(); // initializes DAC   
     adc_init(); // always initialize adc before dma
-    
     pc.printf("ADC Initialized\r\n");
-    
     dma_init(); // initializes DMAs
     dma_reset(); // This clears any DMA triggers that may have gotten things into a different state
     
@@ -57,109 +55,46 @@
         {
             while(sampling_status == 0)
             {   
-                led_green = 1;
                 status_0 = 1;
             }
-        
+            
             sampling_status = 0;
-            led_green = 0;
             status_0 = 0;
-        
-            status_1 = 1;
-            for(int i = 0; i < len; i++) 
+
+            if(sw2)
                 {
-                    static_output_array0[i] = static_input_array0[i] >> 4;
-                    //pc.printf("%i\r\n", static_input_array0[i]);
+                    if(sw3)
+                        {
+                        //Default PASSTHROUGH Condition
+                        status_1 = 1;
+                        for(int i = 0; i < len; i++) 
+                        {
+                            static_output_array0[i] = static_input_array0[i] >> 4;                            
+                        }
+                        status_1 = 0;
+                        }
+                    else                    
+                        {        
+                        // Can show that buttons are active - Serial link working
+                        status_1 = 1;
+                        pc.printf("DSP\r\n");
+                        for(int i = 0; i < len; i++) 
+                        {
+                            static_output_array0[i] = static_input_array0[i] >> 4;
+                        }                    
+                        status_1 = 0;
+                        }
+                }   
+            else 
+                {   
+                    // Here we can really put our DSP blocks     
+                    status_1 = 1;
+                    for(int i = 0; i < len; i++) 
+                    {
+                        static_output_array0[i] = static_input_array0[i] >> 4;                        
+                    }                    
+                    status_1 = 0;
                 }
-            status_1 = 0;
         }
 }
  
-   
-/*     while(1) 
-        {
-        if(pc.readable() > 0) {
-            char temp = pc.getc();
-            
-            switch(temp) {
-                case 'F': // clear the samples
-                case 'f':
-                    for(int i = 0; i < len; i++) {sample_array0[i] = 0; sample_array1[i] = 0;}
-                    pc.printf("Arrays cleared\r\n");
-                    // then display the samples
-                    break;
-                case 'S': // display what's been sampled
-                case 's':
-                    for(int i = 0; i < len; i++) pc.printf("%i: %f\t %f\t %f\t %f\r\n",i,sample_array0[i]*3.3/65535,sample_array1[i]*3.3/65535,static_input_array0[i]*3.3/65535,static_input_array1[i]*3.3/65535);
-                    for(int i = len; i < len*2; i++) pc.printf("%i: %f\t %f\t %f\t %f\r\n",i,sample_array0[i]*3.3/65535,sample_array1[i]*3.3/65535,(float) 100, (float) 100);
-                    pc.printf("\r\n");
-                    //pc.printf("0: %f\t %f\t %f\t %f\r\n",0,sample_array0[0]*3.3/65535,sample_array1[0]*3.3/65535,static_input_array0[0]*3.3/65535,static_input_array1[0]*3.3/65535);
-                    //pc.printf("\r\n");
-                    break;
- 
-                case 'D': // DMA debug
-                case 'd':
-                    pc.printf("DMA Status:\r\n");
-                    pc.printf("DMA_TCD0_SOFF: %x\r\n", DMA_TCD0_SOFF);
-                    pc.printf("DMA_TCD1_SOFF: %x\r\n", DMA_TCD1_SOFF);
-                    pc.printf("DMA_TCD0_SADDR: %i\r\n", DMA_TCD0_SADDR);
-                    pc.printf("DMA_TCD0_DADDR: %i\r\n", DMA_TCD0_DADDR);
-
-                    pc.printf("DMA_TCD0_CITER_ELINKNO: %x\r\n", DMA_TCD0_CITER_ELINKNO);
-                    pc.printf("DMA_TCD0_BITER_ELINKNO: %x\r\n", DMA_TCD0_BITER_ELINKNO);
-                    pc.printf("DMA_TCD1_CITER_ELINKNO: %x\r\n", DMA_TCD1_CITER_ELINKNO);
-                    pc.printf("DMA_TCD1_BITER_ELINKNO: %x\r\n", DMA_TCD1_BITER_ELINKNO);
-                    pc.printf("DMA_TCD2_CITER_ELINKNO: %x\r\n", DMA_TCD2_CITER_ELINKNO);
-                    pc.printf("DMA_TCD2_BITER_ELINKNO: %x\r\n", DMA_TCD2_BITER_ELINKNO);
-                    pc.printf("DMA_TCD3_CITER_ELINKNO: %x\r\n", DMA_TCD3_CITER_ELINKNO);
-                    pc.printf("DMA_TCD3_BITER_ELINKNO: %x\r\n", DMA_TCD3_BITER_ELINKNO);
-                    pc.printf("DMA Status:\r\n");
-                    pc.printf("DMA_TCD4_SADDR: %i\r\n", DMA_TCD4_SADDR);
-                    pc.printf("DMA_TCD4_DADDR: %i\r\n", DMA_TCD4_DADDR);
-                    pc.printf("DMA_TCD4_CITER_ELINKNO: %x\r\n", DMA_TCD4_CITER_ELINKNO);
-                    pc.printf("DMA_TCD4_BITER_ELINKNO: %x\r\n", DMA_TCD4_BITER_ELINKNO);
-                    pc.printf("DMA_TCD5_SADDR: %i\r\n", DMA_TCD5_SADDR);
-                    pc.printf("DMA_TCD5_DADDR: %i\r\n", DMA_TCD5_DADDR);
-                    pc.printf("DMA_TCD5_CITER_ELINKNO: %x\r\n", DMA_TCD5_CITER_ELINKNO);
-                    pc.printf("DMA_TCD5_BITER_ELINKNO: %x\r\n", DMA_TCD5_BITER_ELINKNO);
-                    pc.printf("DMA_TCD6_CITER_ELINKNO: %x\r\n", DMA_TCD6_CITER_ELINKNO);
-                    pc.printf("DMA_TCD6_BITER_ELINKNO: %x\r\n", DMA_TCD6_BITER_ELINKNO);
-                    pc.printf("DMA_TCD7_CITER_ELINKNO: %x\r\n", DMA_TCD7_CITER_ELINKNO);
-                    pc.printf("DMA_TCD7_BITER_ELINKNO: %x\r\n", DMA_TCD7_BITER_ELINKNO);
-                    pc.printf("DMA_TCD8_CITER_ELINKNO: %x\r\n", DMA_TCD8_CITER_ELINKNO);
-                    pc.printf("DMA_TCD8_BITER_ELINKNO: %x\r\n", DMA_TCD8_BITER_ELINKNO);
-                    pc.printf("DMA_TCD9_CITER_ELINKNO: %x\r\n", DMA_TCD9_CITER_ELINKNO);
-                    pc.printf("DMA_TCD9_BITER_ELINKNO: %x\r\n", DMA_TCD9_BITER_ELINKNO);
-                    break;
-
-                
-
-                    
-                // Programmable Delay Block debug
-                case 'B':
-                case 'b':
-                    pc.printf("Started PDB...samples being taken\r\n");
-                    pdb_start();
-                    break;
-                case 'K':
-                case 'k':
-                    pc.printf("Stopped PDB\r\n");
-                    pdb_stop();
-                    break;
-                case 'T':
-                case 't':
-                    pc.printf("One step of PDB\r\n");
-                    pdb_step();
-                    break;
-                case 'V':
-                case 'v':
-                    pc.printf("PDB: %i\r\n",PDB0_CNT);
-                    break;
-                }
-
-            }
-                
-        }   
-
-}
-*/
\ No newline at end of file