Added tic marks, removed audio RMS calculation for now at least.

monitor
Elliott Liggett 2022-08-24 21:52:36 -07:00
rodzic 9623226b0c
commit 0f226fdca5
5 zmienionych plików z 31 dodań i 10 usunięć

Wyświetl plik

@ -158,7 +158,12 @@ bool audioConverter::convert(audioPacket audio)
{
audio.amplitudePeak = samplesF.array().abs().maxCoeff();
audio.amplitudeRMS = samplesF.array().abs().mean();
//audio.amplitudeRMS = samplesF.array().abs().mean(); // zero for tx audio
//audio.amplitudeRMS = samplesF.norm() / sqrt(samplesF.size()); // too high values. Zero for tx audio.
//audio.amplitudeRMS = samplesF.squaredNorm(); // tx not zero. Values higher than peak sometimes
//audio.amplitudeRMS = samplesF.norm(); // too small values. also too small on TX
//audio.amplitudeRMS = samplesF.blueNorm(); // scale same as norm, too small.
// Set the volume
samplesF *= audio.volume;

Wyświetl plik

@ -378,12 +378,25 @@ void meter::drawScale_dBFs(QPainter *qp)
//qp->setFont(QFont("Arial", fontSize));
peakRedLevel = 193;
qp->drawText(20+mXstart,scaleTextYstart, QString("-15"));
qp->drawText(20+mXstart-5,scaleTextYstart, QString("-15"));
qp->drawText(38+mXstart,scaleTextYstart, QString("-12"));
qp->drawText(71+mXstart,scaleTextYstart, QString("-9"));
qp->drawText(124+mXstart,scaleTextYstart, QString("-6"));
qp->drawText(193+mXstart,scaleTextYstart, QString("-3"));
qp->drawText(255+mXstart,scaleTextYstart, QString("0dB"));
qp->drawText(255+mXstart,scaleTextYstart, QString("0"));
// Low ticks:
qp->setPen(lowLineColor);
qp->drawLine(20+mXstart,scaleTextYstart, 20+mXstart, scaleTextYstart+5);
qp->drawLine(38+mXstart,scaleTextYstart, 38+mXstart, scaleTextYstart+5);
qp->drawLine(71+mXstart,scaleTextYstart, 71+mXstart, scaleTextYstart+5);
qp->drawLine(124+mXstart,scaleTextYstart, 124+mXstart, scaleTextYstart+5);
// High ticks:
qp->setPen(highLineColor);
qp->drawLine(193+mXstart,scaleTextYstart, 193+mXstart, scaleTextYstart+5);
qp->drawLine(255+mXstart,scaleTextYstart, 255+mXstart, scaleTextYstart+5);
// Now the lines:
qp->setPen(lowLineColor);

Wyświetl plik

@ -152,7 +152,7 @@ void udpHandler::getRxLevels(quint16 amplitudePeak, quint16 amplitudeRMS,quint16
audioLevelsRxPeak[(audioLevelsRxPosition)%audioLevelBufferSize] = amplitudePeak;
audioLevelsRxRMS[(audioLevelsRxPosition)%audioLevelBufferSize] = amplitudeRMS;
if((audioLevelsRxPosition)%3 == 0)
if((audioLevelsRxPosition)%4 == 0)
{
// calculate mean and emit signal
unsigned char meanPeak = findMax(audioLevelsRxPeak);
@ -175,7 +175,7 @@ void udpHandler::getTxLevels(quint16 amplitudePeak, quint16 amplitudeRMS ,quint1
audioLevelsTxPeak[(audioLevelsTxPosition)%audioLevelBufferSize] = amplitudePeak;
audioLevelsTxRMS[(audioLevelsTxPosition)%audioLevelBufferSize] = amplitudeRMS;
if((audioLevelsTxPosition)%3 == 0)
if((audioLevelsTxPosition)%4 == 0)
{
// calculate mean and emit signal
unsigned char meanPeak = findMax(audioLevelsTxPeak);

Wyświetl plik

@ -29,7 +29,7 @@
#include "udpcivdata.h"
#include "udpaudio.h"
#define audioLevelBufferSize (3)
#define audioLevelBufferSize (4)
// Class to handle the connection/disconnection of the radio.
class udpHandler: public udpBase

Wyświetl plik

@ -623,7 +623,9 @@ void wfmain::receiveStatusUpdate(networkStatus status)
void wfmain::receiveNetworkAudioLevels(networkAudioLevels l)
{
/*
meterKind m2mtr = ui->meter2Widget->getMeterType();
if(m2mtr == meterAudio)
{
if(amTransmitting)
@ -641,20 +643,21 @@ void wfmain::receiveNetworkAudioLevels(networkAudioLevels l)
if(l.haveRxLevels)
ui->meter2Widget->setLevels(l.rxAudioRMS, l.rxAudioPeak);
}
*/
/*
meterKind m = meterNone;
if(l.haveRxLevels)
{
m = meterRxAudio;
receiveMeter(m, l.rxAudioRMS);
receiveMeter(m, l.rxAudioPeak);
}
if(l.haveTxLevels)
{
m = meterTxMod;
receiveMeter(m, l.txAudioRMS);
receiveMeter(m, l.txAudioPeak);
}
*/
}
void wfmain::setupPlots()