1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-24 00:35:18 +03:00

Powermeter fixes

This commit is contained in:
Bertrand Songis 2019-03-20 09:53:14 +01:00
parent 45500b062d
commit 6277717c16
5 changed files with 15 additions and 11 deletions

View file

@ -54,11 +54,15 @@ void menuRadioPowerMeter(event_t event)
y += FH + 1;
lcdDrawText(0, y, "Power");
lcdDrawNumber(8*FW, y, reusableBuffer.powerMeter.power, LEFT);
lcdDrawText(lcdNextPos, y, "dBm");
if (reusableBuffer.powerMeter.power) {
lcdDrawNumber(8 * FW, y, reusableBuffer.powerMeter.power, LEFT | PREC2);
lcdDrawText(lcdNextPos, y, "dBm");
}
y += FH + 1;
lcdDrawText(0, y, "Peak");
lcdDrawNumber(8*FW, y, reusableBuffer.powerMeter.peak, LEFT);
lcdDrawText(lcdNextPos, y, "dBm");
if (reusableBuffer.powerMeter.peak) {
lcdDrawNumber(8 * FW, y, reusableBuffer.powerMeter.peak, LEFT | PREC2);
lcdDrawText(lcdNextPos, y, "dBm");
}
}

View file

@ -1209,8 +1209,8 @@ union ReusableBuffer
struct
{
uint32_t freq;
uint32_t power;
uint32_t peak;
int16_t power;
int16_t peak;
} powerMeter;
struct

View file

@ -251,7 +251,7 @@ void setupPulsesInternalModule(uint8_t protocol)
#if defined(PXX2)
case PROTOCOL_CHANNELS_PXX2:
intmodulePulsesData.pxx2.setupFrame(INTERNAL_MODULE);
scheduleNextMixerCalculation(INTERNAL_MODULE, moduleSettings[INTERNAL_MODULE].mode == MODULE_MODE_SPECTRUM_ANALYSER ? 1 : PXX2_PERIOD);
scheduleNextMixerCalculation(INTERNAL_MODULE, moduleSettings[INTERNAL_MODULE].mode == MODULE_MODE_SPECTRUM_ANALYSER || moduleSettings[INTERNAL_MODULE].mode == MODULE_MODE_POWER_METER ? 1 : PXX2_PERIOD);
break;
#endif

View file

@ -179,8 +179,8 @@ void processPowerMeterFrame(uint8_t module, uint8_t * frame)
return;
}
reusableBuffer.powerMeter.power = *((uint16_t *)&frame[8]);
if (reusableBuffer.powerMeter.power > reusableBuffer.powerMeter.peak) {
reusableBuffer.powerMeter.power = *((int16_t *)&frame[8]);
if (!reusableBuffer.powerMeter.peak || reusableBuffer.powerMeter.power > reusableBuffer.powerMeter.peak) {
reusableBuffer.powerMeter.peak = reusableBuffer.powerMeter.power;
}
}

View file

@ -91,13 +91,13 @@ void telemetryWakeup()
uint8_t frame[PXX2_FRAME_MAXLENGTH];
#if defined(INTMODULE_USART)
if (intmoduleFifo.getFrame(frame)) {
while (intmoduleFifo.getFrame(frame)) {
processPXX2TelemetryFrame(INTERNAL_MODULE, frame);
}
#endif
#if defined(EXTMODULE_USART)
if (extmoduleFifo.getFrame(frame)) {
while (extmoduleFifo.getFrame(frame)) {
processPXX2TelemetryFrame(EXTERNAL_MODULE, frame);
}
#endif