Jared Baxter / Mbed 2 deprecated Impedance_Fast_Circuitry_print_V_I

Dependencies:   mbed-dsp mbed

Fork of Impedance_Fast_Circuitry by Jared Baxter

main.cpp

Committer:
bmazzeo
Date:
2016-02-26
Revision:
66:72c5c24e532c
Parent:
64:bb4a4bd57681
Child:
67:ec0c58490ce6

File content as of revision 66:72c5c24e532c:

#include "mbed.h"

// Sampling
#include "DMA_sampling/adc.h"
#include "DMA_sampling/dac.h"
#include "DMA_sampling/pdb.h"

// for debug purposes
Serial pc(USBTX, USBRX);
DigitalOut led_red(LED_RED);
DigitalOut led_green(LED_GREEN);
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;
extern uint16_t sample_array0[];
extern uint16_t sample_array1[];

extern uint16_t static_input_array0[];
extern uint16_t static_input_array1[];

extern uint16_t static_output_array0[];
extern uint16_t output_array0[];

extern uint16_t sampling_status;

using namespace std;
 
int main() {
    led_blue = 1;
    led_green = 1;
    led_red = 1;
    
    pc.baud(230400);
    pc.printf("Starting\r\n");
    
    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
    
    
    led_green = 1;
    
    pc.printf("\r\n\r\n\r\n");
    
    pdb_start();
    while(1) 
        {
            while(sampling_status == 0)
            {   
                status_0 = 1;
            }
            
            sampling_status = 0;
            status_0 = 0;

            if(sw2)
                {
                    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;
                }
        }
}