-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSAMPAMonitor.cpp
98 lines (88 loc) · 2.21 KB
/
SAMPAMonitor.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include "SAMPAMonitor.h"
SAMPAMonitor::SAMPAMonitor()
{
//maxTotalBufferSize = 0;
//currentDataSizeInBuffer = 0;
}
void SAMPAMonitor::addHeaderToHeaderBuffer(int _fifo)
{
currentDataSizeInHeaderBuffer[_fifo] += 50;
updateMaxHeaderBufferSize(_fifo);
}
void SAMPAMonitor::addSampleToDataBuffer(int _fifo)
{
currentDataSizeInDataBuffer[_fifo] += 10;
updateMaxDataBufferSize(_fifo);
}
void SAMPAMonitor::deleteHeaderFromHeaderBuffer(int _fifo)
{
currentDataSizeInHeaderBuffer[_fifo] -= 50;
}
void SAMPAMonitor::deleteSampleFromDataBuffer(int _fifo)
{
currentDataSizeInDataBuffer[_fifo] -= 10;
}
void SAMPAMonitor::updateMaxHeaderBufferSize(int _fifo)
{
if (currentDataSizeInHeaderBuffer[_fifo] < 0)
{
std::cout << "Error: Data in SAMPA HEADER buffer under 0: " << currentDataSizeInHeaderBuffer[_fifo] << std::endl;
}
else if(currentDataSizeInHeaderBuffer[_fifo] > maxHeaderBufferSize[_fifo])
{
maxHeaderBufferSize[_fifo] = currentDataSizeInHeaderBuffer[_fifo];
}
}
void SAMPAMonitor::updateMaxDataBufferSize(int _fifo)
{
if (currentDataSizeInDataBuffer[_fifo] < 0)
{
std::cout << "Error: Data in SAMPA DATA buffer under 0: " << currentDataSizeInDataBuffer[_fifo] << std::endl;
}
else if(currentDataSizeInDataBuffer[_fifo] > maxDataBufferSize[_fifo])
{
maxDataBufferSize[_fifo] = currentDataSizeInDataBuffer[_fifo];
}
}
long SAMPAMonitor::getMaxHeaderBufferSize(int _fifo)
{
return maxHeaderBufferSize[_fifo];
}
long SAMPAMonitor::getMaxDataBufferSize(int _fifo)
{
return maxDataBufferSize[_fifo];
}
long SAMPAMonitor::getCurrentDataSizeInHeaderBuffer(int _fifo)
{
return currentDataSizeInHeaderBuffer[_fifo];
}
long SAMPAMonitor::getCurrentDataSizeInDataBuffer(int _fifo)
{
return currentDataSizeInDataBuffer[_fifo];
}
long SAMPAMonitor::getMaxBitsInHeaderBuffer()
{
long maxValue = 0;
int fifo = 0;
for(int i = 0; i < constants::SAMPA_NUMBER_INPUT_PORTS; i++)
{
if(maxHeaderBufferSize[i] > maxValue)
{
fifo = i;
maxValue = maxHeaderBufferSize[i];
}
}
}
long SAMPAMonitor::getMaxBitsInDataBuffer()
{
long maxValue = 0;
int fifo = 0;
for(int i = 0; i < constants::SAMPA_NUMBER_INPUT_PORTS; i++)
{
if(maxDataBufferSize[i] > maxValue)
{
fifo = i;
maxValue = maxDataBufferSize[i];
}
}
}