Versão do protegemed que calcula o tempo em ms da fuga, calcula o numero de onverflow (valores muito baixo) e underflow (valores muito altos). Além disso, calcula um valor médio a partir dos valores capturados e não apenas pela fft.
Dependencies: EthernetInterface mbed-rtos mbed
Diff: Headers/Capture.h
- Revision:
- 0:c64e1194230b
- Child:
- 1:917ca6b5d9d9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Headers/Capture.h Wed Jul 09 21:16:23 2014 +0000 @@ -0,0 +1,50 @@ +/* + * capture.h + * + * Created on: + * Author: + */ + +#ifndef CAPTURE_H +#define CAPTURE_H + +#include <stdio.h> +#include <string.h> +#include <math.h> + +#include "mbed.h" +#include "rtos.h" +#include "dma.h" +#include "adc.h" + +#include "Settings.h" + +// MTR: Estes defines nao deveriam estar no arquivo de configuraçeos? +//#define SAMPLE_RATE 256U + +class Capture +{ +protected: + + static Semaphore m_CaptureSemaphore; //used to alert the capture thread about a ready capture + static int m_BufferIndex; + + static dmaLinkedListNode m_Nodes[2]; //this list holds the buffer configuration for the DMA peripheral +public: + static unsigned short int m_AdcBuffers[2][NUMBER_OF_SAMPLES][NUMBER_OF_CHANNELS]; + +public: + + static unsigned short int GetValue(int nsamples, int nchannel); + static void CopyBuffer(int channel, unsigned short int *dest); + + static void ISRHandler(); + + static void Initialize(); + static void Start(); + static void Stop(); + static void Wait(); + +}; + +#endif \ No newline at end of file