Versão atual 13-12-2013.

Dependencies:   EthernetInterface mbed-rtos mbed

Committer:
rebonatto
Date:
Fri Dec 13 11:45:06 2013 +0000
Revision:
1:238ac24e46dd
Parent:
0:65c41a68b49a
Atual 13-12-2013.

Who changed what in which revision?

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