From eb2b82bf92347f84b609766b5e4034fc94f98728 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 31 Mar 2019 15:17:11 +0200 Subject: [PATCH] Fixes --- radio/src/gui/128x64/lcd.cpp | 2 +- radio/src/gui/212x64/lcd.cpp | 2 +- .../src/gui/common/stdlcd/radio_power_meter.cpp | 16 +++++++--------- .../common/stdlcd/radio_spectrum_analyser.cpp | 7 ++++--- radio/src/gui/common/stdlcd/radio_tools.cpp | 4 ++-- radio/src/opentx.h | 1 - radio/src/storage/datacopy.cpp | 3 --- radio/src/targets/horus/telemetry_driver.cpp | 2 +- 8 files changed, 16 insertions(+), 21 deletions(-) diff --git a/radio/src/gui/128x64/lcd.cpp b/radio/src/gui/128x64/lcd.cpp index 5d86d9a3a..100d59334 100644 --- a/radio/src/gui/128x64/lcd.cpp +++ b/radio/src/gui/128x64/lcd.cpp @@ -400,7 +400,7 @@ void lcdDrawText(coord_t x, coord_t y, const char * s, LcdFlags flags) void lcdDrawCenteredText(coord_t y, const char * s, LcdFlags flags) { - coord_t x = (LCD_W - FW * strlen(s)) / 2; + coord_t x = (LCD_W - getTextWidth(s, flags)) / 2; lcdDrawText(x, y, s, flags); } diff --git a/radio/src/gui/212x64/lcd.cpp b/radio/src/gui/212x64/lcd.cpp index 16debad74..23177fa7f 100644 --- a/radio/src/gui/212x64/lcd.cpp +++ b/radio/src/gui/212x64/lcd.cpp @@ -349,7 +349,7 @@ void lcdDrawSizedText(coord_t x, coord_t y, const char * s, uint8_t len) void lcdDrawCenteredText(coord_t y, const char * s, LcdFlags flags) { - coord_t x = (LCD_W - FW * strlen(s)) / 2; + coord_t x = (LCD_W - getTextWidth(s, flags)) / 2; lcdDrawText(x, y, s, flags); } diff --git a/radio/src/gui/common/stdlcd/radio_power_meter.cpp b/radio/src/gui/common/stdlcd/radio_power_meter.cpp index 86f00a8b9..6f010e7d8 100644 --- a/radio/src/gui/common/stdlcd/radio_power_meter.cpp +++ b/radio/src/gui/common/stdlcd/radio_power_meter.cpp @@ -25,12 +25,12 @@ void pxx2ModuleRequiredScreen(event_t event); void menuRadioPowerMeter(event_t event) { - if(!isModulePXX2(INTERNAL_MODULE)) { + if (!isModulePXX2(INTERNAL_MODULE)) { pxx2ModuleRequiredScreen(event); return; } - if(TELEMETRY_STREAMING()) { + if (TELEMETRY_STREAMING()) { lcdDrawCenteredText(LCD_H/2, "Turn off receiver"); return; } @@ -46,23 +46,21 @@ void menuRadioPowerMeter(event_t event) resumePulses(); return; } - else if (moduleSettings[INTERNAL_MODULE].mode != MODULE_MODE_POWER_METER) { + + if (moduleSettings[INTERNAL_MODULE].mode != MODULE_MODE_POWER_METER) { memclear(&reusableBuffer.powerMeter, sizeof(reusableBuffer.powerMeter)); + reusableBuffer.powerMeter.freq = 2400; moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_POWER_METER; } coord_t y = MENU_HEADER_HEIGHT + 1 + FH; LcdFlags attr = (menuVerticalPosition == 0 ? INVERS : 0); lcdDrawText(0, y, "Freq."); - lcdDrawNumber(8*FW, y, reusableBuffer.powerMeter.freqBand ? 900: 2400, LEFT|attr|(s_editMode > 0 ? BLINK : 0)); + lcdDrawNumber(8*FW, y, reusableBuffer.powerMeter.freq, LEFT|attr|(s_editMode > 0 ? BLINK : 0)); lcdDrawText(lcdNextPos, y, " MHz band"); if (attr) { - CHECK_INCDEC_MODELVAR(event, reusableBuffer.powerMeter.freqBand, 0, 1); + reusableBuffer.powerMeter.freq = checkIncDec(event, reusableBuffer.powerMeter.freq == 900, 0, 1) ? 900 : 2400; if (checkIncDec_Ret) { - if(reusableBuffer.powerMeter.freqBand == 0) - reusableBuffer.powerMeter.freq = 900; //TODO fine tune to region ? (866/900/915) - else - reusableBuffer.powerMeter.freq = 2400; reusableBuffer.powerMeter.power = 0; reusableBuffer.powerMeter.peak = 0; } diff --git a/radio/src/gui/common/stdlcd/radio_spectrum_analyser.cpp b/radio/src/gui/common/stdlcd/radio_spectrum_analyser.cpp index 9653a2af9..64d6668e6 100644 --- a/radio/src/gui/common/stdlcd/radio_spectrum_analyser.cpp +++ b/radio/src/gui/common/stdlcd/radio_spectrum_analyser.cpp @@ -24,12 +24,12 @@ extern void pxx2ModuleRequiredScreen(event_t event); void menuRadioSpectrumAnalyser(event_t event) { - if(!isModulePXX2(INTERNAL_MODULE)) { + if (!isModulePXX2(INTERNAL_MODULE)) { pxx2ModuleRequiredScreen(event); return; } - if(TELEMETRY_STREAMING()) { + if (TELEMETRY_STREAMING()) { lcdDrawCenteredText(15, "Turn off receiver"); return; } @@ -45,7 +45,8 @@ void menuRadioSpectrumAnalyser(event_t event) resumePulses(); return; } - else if (moduleSettings[INTERNAL_MODULE].mode != MODULE_MODE_SPECTRUM_ANALYSER) { + + if (moduleSettings[INTERNAL_MODULE].mode != MODULE_MODE_SPECTRUM_ANALYSER) { memclear(reusableBuffer.spectrumAnalyser.bars, sizeof(reusableBuffer.spectrumAnalyser.bars)); moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_SPECTRUM_ANALYSER; } diff --git a/radio/src/gui/common/stdlcd/radio_tools.cpp b/radio/src/gui/common/stdlcd/radio_tools.cpp index d74a15f03..74b58ba05 100644 --- a/radio/src/gui/common/stdlcd/radio_tools.cpp +++ b/radio/src/gui/common/stdlcd/radio_tools.cpp @@ -27,7 +27,7 @@ void pxx2ModuleRequiredScreen(event_t event) lcdDrawCenteredText(30, "ACCESS UPGRADE ON"); lcdDrawCenteredText(45, "YOUR INTERNAL MODULE"); - if(event == EVT_KEY_FIRST(KEY_EXIT)) { + if (event == EVT_KEY_FIRST(KEY_EXIT)) { killEvents(event); popMenu(); } @@ -50,7 +50,7 @@ void menuRadioTools(event_t event) { SIMPLE_MENU("TOOLS", menuTabGeneral, MENU_RADIO_TOOLS, HEADER_LINE + 2); -#if defined(PXX2) && !(defined(PCBX9D) || defined(PCBX9DP) || defined(PCBX9E) || defined(PCBX7) || (defined(PCBXLITE) && !defined(PCBXLITES))) +#if defined(PXX2) && (defined(PCBXLITES) || defined(PCBX3)) addRadioTool(0, "Spectrum Analyser", menuRadioSpectrumAnalyser, event); addRadioTool(1, "Power Meter", menuRadioPowerMeter, event); #endif diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 1bdb2bd8e..acfc457e4 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1220,7 +1220,6 @@ union ReusableBuffer uint32_t freq; int16_t power; int16_t peak; - uint8_t freqBand; } powerMeter; struct diff --git a/radio/src/storage/datacopy.cpp b/radio/src/storage/datacopy.cpp index ebbca4595..f2718ffaa 100644 --- a/radio/src/storage/datacopy.cpp +++ b/radio/src/storage/datacopy.cpp @@ -208,9 +208,6 @@ void copyTrainerModuleData(A * dest, B * src) template void copyReceiverData(A * dest, B * src) { - dest->used = src->used; - dest->telemetry = src->telemetry; - dest->dirty = src->dirty; memcpy(dest->name, src->name, sizeof(dest->name)); } diff --git a/radio/src/targets/horus/telemetry_driver.cpp b/radio/src/targets/horus/telemetry_driver.cpp index 21e9f6c5a..6d7078a48 100644 --- a/radio/src/targets/horus/telemetry_driver.cpp +++ b/radio/src/targets/horus/telemetry_driver.cpp @@ -206,7 +206,7 @@ extern "C" void TELEMETRY_USART_IRQHandler(void) #if defined(LUA) if (telemetryProtocol == PROTOCOL_TELEMETRY_FRSKY_SPORT) { static uint8_t prevdata; - if (prevdata == 0x7E && outputTelemetryBuffer.size > 0 && data == outputTelemetryBuffer.trigger && outputTelemetryBuffer.destination == SPORT_MODULE) { + if (prevdata == 0x7E && outputTelemetryBuffer.size > 0 && outputTelemetryBuffer.destination.value == TELEMETRY_ENDPOINT_SPORT && data == outputTelemetryBuffer.sport.physicalId) { sportSendBuffer(outputTelemetryBuffer.data, outputTelemetryBuffer.size); } prevdata = data;