Versão limpa em 04/09/2014. Telnet funcionando.
Dependencies: EthernetInterface mbed-rtos mbed NTPClient
Headers/EventDetector.h@43:69afea5f5a4d, 2016-01-18 (annotated)
- 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?
User | Revision | Line number | New 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 |