Jared Baxter
/
Impedance_Fast_Circuitry
Impedance Fast Circuitry Software
Fork of DSP_200kHz by
main.cpp
- Committer:
- timmey9
- Date:
- 2015-01-31
- Revision:
- 46:a015ebf4663b
- Parent:
- 45:d591d138cdeb
- Child:
- 47:54fafe151669
File content as of revision 46:a015ebf4663b:
// Server code #include "mbed.h" #include "AngleEncoder.h" #include "adc.h" #include "pdb.h" #include "quadrature.h" // for debug purposes Serial pc(USBTX, USBRX); DigitalOut led_red(LED_RED); DigitalOut led_green(LED_GREEN); DigitalOut led_blue(LED_BLUE); //DigitalOut test1(PTB19); //DigitalOut test2(PTB18); AngleEncoder angle_encoder(PTD2, PTD3, PTD1, PTD0, 8, 0, 1000000); // mosi, miso, sclk, cs, bit_width, mode, hz extern int len; extern uint16_t sample_array0[]; extern uint16_t sample_array1[]; extern uint16_t angle_array[]; bool switcher = false; // Declaration of functions using namespace std; int main() { led_blue = 1; led_green = 1; led_red = 1; pc.baud(230400); pc.printf("Starting\r\n"); quad_init(); adc_init(); // always initialize adc before dma dma_init(); pdb_init(); led_green = 1; pc.printf("\r\n\r\n\r\n"); while(1) { pc.printf("PDB0: %i\r",switcher); if(pc.readable() > 0) { char temp = pc.getc(); switch(temp) { case 'G': case 'g': pc.printf("Quad Cnt: %i\r\n", quad_read()); break; case 'A': case 'a': // needs debugging adc_start(); for(int i = 0; i < 1500; i++) asm("nop"); adc_stop(); // then proceed to 's' to display the array case 'S': case 's': for(int i = 0; i < len; i++) pc.printf("%i: %f\t %f\t %i\r\n",i,sample_array0[i]*3.3/65535,sample_array1[i]*3.3/65535, angle_array[i]); pc.printf("\r\n"); break; case 'D': case 'd': adc_single_sample(); DMA_TCD2_CSR |= DMA_CSR_START_MASK; 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); case 'B': case 'b': pdb_start(); break; case 'K': case 'k': pdb_stop(); break; } } } }