V001. 2017_11_30 10:21 Working code from Tuesday's lab session.
Fork of 2017_11_28_ELEC347_Coursework by
DSP Coursework ELEC347 2017-2018 Group members: Matthew Thewsey, Thomas Morris, Samuel Waggett, Christopher Hills .
main.cpp
- Committer:
- chills
- Date:
- 2017-12-06
- Revision:
- 18:b442994a01fd
- Parent:
- 17:5774c69932e7
File content as of revision 18:b442994a01fd:
#include "mbed.h" #include "rtos.h" #include "Filter.hpp" unsigned short ADC_DATA; //Init values for difference equation //MBED Class Instances follows DigitalOut SampLED(LED1); //Digital Output (GREEN LED is PB_3, D13 You can use an Oscilloscope on This pin to confirm sample rate) //Analog Inputs AnalogIn Ain(PA_1); //Analog Input (Signal Input 0 to +3 Volts) AnalogOut Aout(PA_4); //Analog Output (Signal Input 0 to +3 Volts) //Declare Threads Thread t1; //Declare Ticker Rates float sample_rate = (1.0/35000); //Rate of sampling //Initial Input Value float input = 0.0; //Declare Filter FILTER BP_filter(48000,10000,-16,2); //Create object of type Filter(Fs,Fo,Boost,Q) //Forward Declarations void sampler(void); int main() { BP_filter.Define_Filter(); //Define the filter variables t1.start(sampler); //Start the Sampler timed interrupt } void sampler(void) { while(1) { SampLED = 1; //LED Indicates start of sampling input = Ain; //Takes ADC input as a Varaible type float BP_filter.setvalue(input); //Passes the input value to the filter Aout = BP_filter.getvalue(); //Collects the output from the filter and outputs it SampLED = 0; //LED Indicates end of sampling Thread::wait(sample_rate*1000); //Delay before taking the next sample } }