diff --git a/meter.cpp b/meter.cpp index 09c90ef..2a0259b 100644 --- a/meter.cpp +++ b/meter.cpp @@ -149,11 +149,9 @@ void meter::paintEvent(QPaintEvent *) } -void meter::setLevels(int current, int peak, int average) +void meter::setLevel(int current) { this->current = current; - this->peak = peak; - this->average = average; avgLevels[(avgPosition++)%averageBalisticLength] = current; peakLevels[(peakPosition++)%peakBalisticLength] = current; @@ -184,6 +182,15 @@ void meter::setLevels(int current, int peak, int average) this->update(); } +void meter::setLevels(int current, int peak, int average) +{ + this->current = current; + this->peak = peak; + this->average = average; + + this->update(); +} + void meter::updateDrawing(int num) { fontSize = num; diff --git a/meter.h b/meter.h index 3ee4f72..a49bf66 100644 --- a/meter.h +++ b/meter.h @@ -22,6 +22,7 @@ public slots: void updateDrawing(int num); void setLevels(int current, int peak, int average); + void setLevel(int current); void setMeterType(meterKind type); meterKind getMeterType(); diff --git a/wfmain.cpp b/wfmain.cpp index d6abcde..d88a86a 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -4533,42 +4533,22 @@ void wfmain::receiveLANGain(unsigned char level) void wfmain::receiveMeter(meterKind inMeter, unsigned char level) { - unsigned int peak = 0; - unsigned int sum=0; - unsigned int average=0; - switch(inMeter) { case meterS: - SMeterReadings[(smeterPos++)%SMeterReadings.length()] = level; - for(int i=0; i < SMeterReadings.length(); i++) - { - if((unsigned char)SMeterReadings.at(i) > peak) - peak = (unsigned char)SMeterReadings.at(i); - sum += (unsigned char)SMeterReadings.at(i); - } - average = sum / SMeterReadings.length(); ui->meterSPoWidget->setMeterType(meterS); - ui->meterSPoWidget->setLevels(level, peak, average); + ui->meterSPoWidget->setLevel(level); ui->meterSPoWidget->repaint(); break; case meterPower: - powerMeterReadings[(powerMeterPos++)%powerMeterReadings.length()] = level; - for(int i=0; i < powerMeterReadings.length(); i++) - { - if((unsigned char)powerMeterReadings.at(i) > peak) - peak = (unsigned char)powerMeterReadings.at(i); - sum += (unsigned char)powerMeterReadings.at(i); - } - average = sum / powerMeterReadings.length(); ui->meterSPoWidget->setMeterType(meterPower); - ui->meterSPoWidget->setLevels(level, peak, average); + ui->meterSPoWidget->setLevel(level); ui->meterSPoWidget->update(); break; default: if(ui->meter2Widget->getMeterType() == inMeter) { - ui->meter2Widget->setLevels(level, level, level); + ui->meter2Widget->setLevel(level); } break; } diff --git a/wfmain.ui b/wfmain.ui index aa855c7..1677d86 100644 --- a/wfmain.ui +++ b/wfmain.ui @@ -18,7 +18,7 @@ - 3 + 1