Versão atual 13-12-2013.
Dependencies: EthernetInterface mbed-rtos mbed
Headers/Capture.h@1:238ac24e46dd, 2013-12-13 (annotated)
- 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?
User | Revision | Line number | New 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 |