Impedance Fast Circuitry Software

Dependencies:   mbed-dsp mbed

Fork of DSP_200kHz by Mazzeo Research Group

Revision:
47:54fafe151669
Parent:
46:a015ebf4663b
Child:
48:29f14bc30ba6
--- a/main.cpp	Sat Jan 31 08:13:33 2015 +0000
+++ b/main.cpp	Sat Jan 31 16:44:40 2015 +0000
@@ -15,7 +15,8 @@
 //DigitalOut test2(PTB18);
 
 AngleEncoder angle_encoder(PTD2, PTD3, PTD1, PTD0, 8, 0, 1000000); // mosi, miso, sclk, cs, bit_width, mode, hz
-
+DigitalOut quadA(PTC17);
+DigitalOut quadB(PTC16);
 extern int len;
 extern uint16_t sample_array0[];
 extern uint16_t sample_array1[];
@@ -30,6 +31,9 @@
     led_blue = 1;
     led_green = 1;
     led_red = 1;
+    quadA = 0;
+    quadB = 0;
+    int counter = 0;
     
     pc.baud(230400);
     pc.printf("Starting\r\n");
@@ -44,7 +48,11 @@
     pc.printf("\r\n\r\n\r\n");
     
     while(1) {
-        pc.printf("PDB0: %i\r",switcher);
+        // creates signals for the quad decoder to read for testing
+        quadA = !quadA;
+        for(int i = 0; i < 65535; i++) asm("nop");
+        quadB = !quadB;
+        
         if(pc.readable() > 0) {
             char temp = pc.getc();
             
@@ -66,25 +74,29 @@
                     break;
                 case 'D':
                 case 'd':
-                    adc_single_sample();
-                    DMA_TCD2_CSR |= DMA_CSR_START_MASK;
+                    adc_single_sample(); // trigger ADCs, which trigger DMA
+                    DMA_TCD2_CSR |= DMA_CSR_START_MASK; // trigger encoder DMA
                     break;
                 case 'F':
                 case 'f':
                     for(int i = 0; i < len; i++) {sample_array0[i] = 0; sample_array1[i] = 0; angle_array[i] = 0;}
                     pc.printf("Arrays cleared\r\n");
                     break;
-                case 'R':
-                case 'r':
-                    pc.printf("Quadrature: %i%i \r\n", (HW_GPIO_PDIR_RD(HW_PORTC)>>1)&0x01, HW_GPIO_PDIR_RD(HW_PORTC)&0x01);
+                    
+                // Programmable Delay Block debug
                 case 'B':
                 case 'b':
                     pdb_start();
                     break;
                 case 'K':
                 case 'k':
+                    pc.printf("STOPPED\r\n");
                     pdb_stop();
                     break;
+                case 'V':
+                case 'v':
+                    pc.printf("PDB: %i\r\n",PDB0_CNT);
+                    break;
             }
         }
     }