HARDT - The Ham Radio DSP Toolkit
hsignalleveloutput.h
1 #ifndef __HSIGNALLEVELOUTPUT_H
2 #define __HSIGNALLEVELOUTPUT_H
3 
4 #include "hwriter.h"
5 #include "hwriterconsumer.h"
6 
26 {
28  int Max;
29 
31  int Min;
32 
34  int Avg;
35 
37  int Db;
38 
40  int AvgDb;
41 
43  int S;
44 
46  int AvgS;
47 
52  double Sum;
53 };
54 
56 template <class T>
57 class HSignalLevelOutput : public HOutput<T, HSignalLevelResult>
58 {
59  private:
60 
61  HSignalLevelResult _result;
62  int _ref;
63  int _scale;
64 
65  int _avgCount;
66  T* _avg;
67  double *_avgSum;
68  int _avgPos;
69 
70  float _factor;
71 
72  void Init();
73 
74  public:
75 
77  HSignalLevelOutput(HWriter<HSignalLevelResult>* writer, int average, int ref = 54, int scale = 1);
78 
81  HSignalLevelOutput(HWriterConsumer<T>* consumer, int average, int ref = 54, int scale = 1);
82 
85 
87  int Output(T* src, size_t blocksize);
88 
90  bool Command(HCommand* command) {
91  // No ruther propagation of commands
92  return true;
93  }
94 };
95 
96 #endif
HSignalLevelResult::AvgS
int AvgS
Definition: hsignalleveloutput.h:46
HSignalLevelResult::Db
int Db
Definition: hsignalleveloutput.h:37
HSignalLevelOutput
Definition: hsignalleveloutput.h:57
HSignalLevelResult::AvgDb
int AvgDb
Definition: hsignalleveloutput.h:40
HSignalLevelResult::Min
int Min
Definition: hsignalleveloutput.h:31
HSignalLevelResult::Sum
double Sum
Definition: hsignalleveloutput.h:52
HSignalLevelOutput::~HSignalLevelOutput
~HSignalLevelOutput()
Definition: hsignalleveloutput.cpp:49
HWriter< HSignalLevelResult >
HSignalLevelResult::S
int S
Definition: hsignalleveloutput.h:43
HOutput
Definition: houtput.h:27
HSignalLevelResult::Avg
int Avg
Definition: hsignalleveloutput.h:34
HSignalLevelOutput::Command
bool Command(HCommand *command)
Definition: hsignalleveloutput.h:90
HSignalLevelOutput::HSignalLevelOutput
HSignalLevelOutput(HWriter< HSignalLevelResult > *writer, int average, int ref=54, int scale=1)
Definition: hsignalleveloutput.cpp:10
HSignalLevelResult::Max
int Max
Definition: hsignalleveloutput.h:28
HCommand
Definition: hcommand.h:81
HSignalLevelOutput::Output
int Output(T *src, size_t blocksize)
Definition: hsignalleveloutput.cpp:62
HSignalLevelResult
Definition: hsignalleveloutput.h:25
HWriterConsumer
Definition: hwriterconsumer.h:8