Versão limpa em 04/09/2014. Telnet funcionando.

Dependencies:   EthernetInterface mbed-rtos mbed NTPClient

Committer:
rebonatto
Date:
Mon Jan 18 18:26:03 2016 +0000
Revision:
43:69afea5f5a4d
Parent:
42:d6f9ce115eaf
Aquisi??o sem DMA, 256 amostras.; Buffer simples com  copia de buffer para calculo da FFT.; Com telnetr e TFTP ativos. Telnet funcionando sem travar.; Vers?o com WhatDog.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rebonatto 0:66d8bd1f9d4c 1 /*
rebonatto 0:66d8bd1f9d4c 2 * EventDetector.h
rebonatto 0:66d8bd1f9d4c 3 *
rebonatto 0:66d8bd1f9d4c 4 * Created on:
rebonatto 0:66d8bd1f9d4c 5 * Author:
rebonatto 0:66d8bd1f9d4c 6 */
rebonatto 0:66d8bd1f9d4c 7
rebonatto 0:66d8bd1f9d4c 8 #ifndef EVENTDETECTOR_H
rebonatto 0:66d8bd1f9d4c 9 #define EVENTDETECTOR_H
rebonatto 0:66d8bd1f9d4c 10
rebonatto 0:66d8bd1f9d4c 11 #include <stdlib.h>
rebonatto 0:66d8bd1f9d4c 12
rebonatto 0:66d8bd1f9d4c 13 #include "rtos.h"
rebonatto 0:66d8bd1f9d4c 14
rebonatto 0:66d8bd1f9d4c 15 #include "Settings.h"
rebonatto 0:66d8bd1f9d4c 16 #include "Capture.h"
rebonatto 0:66d8bd1f9d4c 17 #include "SignalProcessor.h"
rebonatto 0:66d8bd1f9d4c 18
rebonatto 0:66d8bd1f9d4c 19 class CaptureEvent
rebonatto 0:66d8bd1f9d4c 20 {
rebonatto 0:66d8bd1f9d4c 21 char m_RFID[9];
rebonatto 0:66d8bd1f9d4c 22 int m_Type;
rebonatto 0:66d8bd1f9d4c 23 int m_OutletNumber;
rebonatto 0:66d8bd1f9d4c 24 float m_MeanValue;
rebonatto 0:66d8bd1f9d4c 25 float m_MV2;
rebonatto 0:66d8bd1f9d4c 26 float m_RMSValue;
rebonatto 0:66d8bd1f9d4c 27 int m_Under;
rebonatto 0:66d8bd1f9d4c 28 int m_Over;
rebonatto 0:66d8bd1f9d4c 29 float m_Gain;
rebonatto 0:66d8bd1f9d4c 30 int m_Offset;
rebonatto 0:66d8bd1f9d4c 31 int m_Duration;
rebonatto 0:66d8bd1f9d4c 32 float m_Sin[NUMBER_OF_HARMONICS];
rebonatto 0:66d8bd1f9d4c 33 float m_Cos[NUMBER_OF_HARMONICS];
rebonatto 0:66d8bd1f9d4c 34
rebonatto 0:66d8bd1f9d4c 35 public:
rebonatto 0:66d8bd1f9d4c 36
rebonatto 0:66d8bd1f9d4c 37 CaptureEvent();
rebonatto 0:66d8bd1f9d4c 38
rebonatto 0:66d8bd1f9d4c 39 //void Setup(char* rfid,int type,int outlet,float mv,float rms,float gain, int offset,float* sin, float* cos);
rebonatto 0:66d8bd1f9d4c 40 void Setup(char* rfid, int type, int outlet, float mv, float mv2, float rms, int under, int over, float gain, int offset, int duration, float* sin, float* cos);
rebonatto 0:66d8bd1f9d4c 41
rebonatto 0:66d8bd1f9d4c 42 char* get_RFID() { return m_RFID; }
rebonatto 0:66d8bd1f9d4c 43 int get_Type() { return m_Type; }
rebonatto 0:66d8bd1f9d4c 44 int get_OutletNumber() { return m_OutletNumber; }
rebonatto 0:66d8bd1f9d4c 45 float get_MeanValue() { return m_MeanValue; }
rebonatto 0:66d8bd1f9d4c 46 float get_MV2() { return m_MV2; }
rebonatto 0:66d8bd1f9d4c 47 float get_RMSValue() { return m_RMSValue; }
rebonatto 0:66d8bd1f9d4c 48 int get_Under() { return m_Under; }
rebonatto 0:66d8bd1f9d4c 49 int get_Over() { return m_Over; }
rebonatto 0:66d8bd1f9d4c 50 float get_Gain() { return m_Gain; }
rebonatto 0:66d8bd1f9d4c 51 int get_Offset() { return m_Offset; }
rebonatto 0:66d8bd1f9d4c 52 int get_Duration() { return m_Duration; }
rebonatto 0:66d8bd1f9d4c 53 float get_SineValue(int idx) { return m_Sin[idx]; }
rebonatto 0:66d8bd1f9d4c 54 float get_CossineValue(int idx) { return m_Cos[idx]; }
rebonatto 0:66d8bd1f9d4c 55 };
rebonatto 0:66d8bd1f9d4c 56
rebonatto 0:66d8bd1f9d4c 57 typedef Mail<CaptureEvent,LENGTH_MAIL_BOX> CaptureMailbox;
rebonatto 0:66d8bd1f9d4c 58
rebonatto 0:66d8bd1f9d4c 59 class EventDetector
rebonatto 0:66d8bd1f9d4c 60 {
rebonatto 0:66d8bd1f9d4c 61 protected:
rebonatto 0:66d8bd1f9d4c 62
rebonatto 0:66d8bd1f9d4c 63 static CaptureMailbox m_EventMailbox;
rebonatto 0:66d8bd1f9d4c 64 static const int m_EventLimit;
rebonatto 0:66d8bd1f9d4c 65
rebonatto 0:66d8bd1f9d4c 66 static EventDetector m_Detector[NUMBER_OF_CHANNELS];
rebonatto 0:66d8bd1f9d4c 67
rebonatto 0:66d8bd1f9d4c 68 bool m_OutletTriggered;
rebonatto 0:66d8bd1f9d4c 69 int m_EventCounter;
rebonatto 0:66d8bd1f9d4c 70 int m_Channel;
rebonatto 0:66d8bd1f9d4c 71 Timer m_tempo;
rebonatto 0:66d8bd1f9d4c 72
rebonatto 0:66d8bd1f9d4c 73 //void SendMessage(int ext,float rmsvalue);
rebonatto 43:69afea5f5a4d 74 void SendMessage(float *buffer, float rmsvalue, float mv2, int under, int over, int duration);
rebonatto 0:66d8bd1f9d4c 75
rebonatto 0:66d8bd1f9d4c 76 int TimeDelay(int t);
rebonatto 0:66d8bd1f9d4c 77
rebonatto 0:66d8bd1f9d4c 78 public:
rebonatto 0:66d8bd1f9d4c 79
rebonatto 0:66d8bd1f9d4c 80 EventDetector(int ch);
rebonatto 0:66d8bd1f9d4c 81
rebonatto 0:66d8bd1f9d4c 82 void ExternalTrigger();
rebonatto 0:66d8bd1f9d4c 83
rebonatto 0:66d8bd1f9d4c 84 //void ProcessEvent(float rmsvalue, int t);
rebonatto 0:66d8bd1f9d4c 85 void ProcessEvent(float rmsvalue, float mv2, int under, int over);
rebonatto 0:66d8bd1f9d4c 86
rebonatto 0:66d8bd1f9d4c 87 void ShowValues(CaptureEvent* e);
rebonatto 0:66d8bd1f9d4c 88
rebonatto 0:66d8bd1f9d4c 89 static CaptureMailbox& GetMailbox() { return m_EventMailbox; }
rebonatto 0:66d8bd1f9d4c 90 static EventDetector& get_Detector(int ch) { return m_Detector[ch]; }
rebonatto 0:66d8bd1f9d4c 91
rebonatto 0:66d8bd1f9d4c 92 };
rebonatto 0:66d8bd1f9d4c 93
rebonatto 0:66d8bd1f9d4c 94 #endif