Versão sem FFT e aquisição por DMA. 256 amostras.

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed

Committer:
rebonatto
Date:
Tue Jan 05 11:45:44 2016 +0000
Revision:
0:e57bc370d339
Vers?o est?vel sem calculo de FFT. Aquisi??o por DMA. Usa 256 amostras.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rebonatto 0:e57bc370d339 1 /*
rebonatto 0:e57bc370d339 2 * capture.h
rebonatto 0:e57bc370d339 3 *
rebonatto 0:e57bc370d339 4 * Created on:
rebonatto 0:e57bc370d339 5 * Author:
rebonatto 0:e57bc370d339 6 */
rebonatto 0:e57bc370d339 7
rebonatto 0:e57bc370d339 8 #ifndef CAPTURE_H
rebonatto 0:e57bc370d339 9 #define CAPTURE_H
rebonatto 0:e57bc370d339 10
rebonatto 0:e57bc370d339 11 #include <stdio.h>
rebonatto 0:e57bc370d339 12 #include <string.h>
rebonatto 0:e57bc370d339 13 #include <math.h>
rebonatto 0:e57bc370d339 14
rebonatto 0:e57bc370d339 15 #include "mbed.h"
rebonatto 0:e57bc370d339 16 #include "rtos.h"
rebonatto 0:e57bc370d339 17 #include "dma.h"
rebonatto 0:e57bc370d339 18 #include "adc.h"
rebonatto 0:e57bc370d339 19
rebonatto 0:e57bc370d339 20 #include "Settings.h"
rebonatto 0:e57bc370d339 21
rebonatto 0:e57bc370d339 22 // MTR: Estes defines nao deveriam estar no arquivo de configuraçeos?
rebonatto 0:e57bc370d339 23 //#define SAMPLE_RATE 256U
rebonatto 0:e57bc370d339 24
rebonatto 0:e57bc370d339 25
rebonatto 0:e57bc370d339 26 class Capture
rebonatto 0:e57bc370d339 27 {
rebonatto 0:e57bc370d339 28
rebonatto 0:e57bc370d339 29 protected:
rebonatto 0:e57bc370d339 30
rebonatto 0:e57bc370d339 31 static Semaphore m_CaptureSemaphore; //used to alert the capture thread about a ready capture
rebonatto 0:e57bc370d339 32 static int m_BufferIndex;
rebonatto 0:e57bc370d339 33
rebonatto 0:e57bc370d339 34 static dmaLinkedListNode m_Nodes[2]; //this list holds the buffer configuration for the DMA peripheral
rebonatto 0:e57bc370d339 35 public:
rebonatto 0:e57bc370d339 36 static unsigned short int m_AdcBuffers[2][NUMBER_OF_SAMPLES][NUMBER_OF_CHANNELS];
rebonatto 0:e57bc370d339 37
rebonatto 0:e57bc370d339 38 public:
rebonatto 0:e57bc370d339 39
rebonatto 0:e57bc370d339 40 static unsigned short int GetValue(int nsamples, int nchannel);
rebonatto 0:e57bc370d339 41 static void CopyBuffer(int channel, short int *dest);
rebonatto 0:e57bc370d339 42 static void CopyBufferFloat(int channel, float *dest);
rebonatto 0:e57bc370d339 43
rebonatto 0:e57bc370d339 44 static void ISRHandler();
rebonatto 0:e57bc370d339 45
rebonatto 0:e57bc370d339 46 static void Initialize();
rebonatto 0:e57bc370d339 47 static void Start();
rebonatto 0:e57bc370d339 48 static void Stop();
rebonatto 0:e57bc370d339 49 static void Wait();
rebonatto 0:e57bc370d339 50
rebonatto 0:e57bc370d339 51 static void ReadRFID(int channel,char *rfid);
rebonatto 0:e57bc370d339 52
rebonatto 0:e57bc370d339 53 };
rebonatto 0:e57bc370d339 54
rebonatto 0:e57bc370d339 55 #endif