Versão sem FFT e aquisição por DMA. 256 amostras.
Dependencies: EthernetInterface NTPClient mbed-rtos mbed
Headers/Capture.h@0:e57bc370d339, 2016-01-05 (annotated)
- 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?
User | Revision | Line number | New 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 |