13
0

RMS meter - reset after calculating new data

This commit is contained in:
Robin Gareus 2013-07-16 16:25:27 +02:00
parent e9289a19c8
commit a716f3c55a

View File

@ -46,12 +46,6 @@ void Kmeterdsp::process (float *p, int n)
float s, t, z1, z2; float s, t, z1, z2;
if (_flag) // Display thread has read the rms value.
{
_rms = 0;
_flag = false;
}
// Get filter state. // Get filter state.
z1 = _z1; z1 = _z1;
z2 = _z2; z2 = _z2;
@ -88,10 +82,19 @@ void Kmeterdsp::process (float *p, int n)
_z1 = z1 + 1e-20f; _z1 = z1 + 1e-20f;
_z2 = z2 + 1e-20f; _z2 = z2 + 1e-20f;
// Adjust RMS value and update maximum since last read().
s = sqrtf (2 * z2); s = sqrtf (2 * z2);
if (_flag) // Display thread has read the rms value.
{
_rms = s;
_flag = false;
}
else
{
// Adjust RMS value and update maximum since last read().
if (s > _rms) _rms = s; if (s > _rms) _rms = s;
} }
}
/* Returns highest _rms value since last call */ /* Returns highest _rms value since last call */