diff --git a/radio/src/gui/common/stdlcd/radio_power_meter.cpp b/radio/src/gui/common/stdlcd/radio_power_meter.cpp index 52dfaf042..9b8275781 100644 --- a/radio/src/gui/common/stdlcd/radio_power_meter.cpp +++ b/radio/src/gui/common/stdlcd/radio_power_meter.cpp @@ -26,6 +26,7 @@ extern uint8_t g_moduleIdx; enum PowerMeterFields { POWER_METER_FREQ_RANGE, POWER_METER_ATTENUATOR, + POWER_METER_MAX, POWER_METER_POWER, POWER_METER_PEAK, POWER_METER_FIELDS_MAX @@ -34,7 +35,7 @@ enum PowerMeterFields { void menuRadioPowerMeter(event_t event) { - SUBMENU(STR_MENU_POWER_METER, POWER_METER_FIELDS_MAX-1, {0, 0, READONLY_ROW, READONLY_ROW}); + SUBMENU(STR_MENU_POWER_METER, POWER_METER_FIELDS_MAX-1, {0, 0, READONLY_ROW, READONLY_ROW, READONLY_ROW}); if (TELEMETRY_STREAMING()) { lcdDrawCenteredText(LCD_H/2, STR_TURN_OFF_RECEIVER); @@ -58,24 +59,17 @@ void menuRadioPowerMeter(event_t event) if (moduleSettings[g_moduleIdx].mode != MODULE_MODE_POWER_METER) { memclear(&reusableBuffer.powerMeter, sizeof(reusableBuffer.powerMeter)); reusableBuffer.powerMeter.freq = 2400000000; -#if defined(FRSKY_RELEASE) reusableBuffer.powerMeter.attn = 4; -#endif moduleSettings[g_moduleIdx].mode = MODULE_MODE_POWER_METER; } // The warning - lcdDrawText(3 * FW, FH + 3, STR_MAX, BOLD); - lcdDrawText(lcdLastRightPos, FH + 3, ": ", BOLD); - lcdDrawNumber(lcdLastRightPos, FH + 3, -10 + 10 * reusableBuffer.powerMeter.attn, BOLD); - lcdDrawText(lcdLastRightPos, FH + 3, "dBm ", BOLD); - lcdDrawText(lcdLastRightPos, FH + 3, "(", BOLD); - drawPower(lcdLastRightPos, FH + 3, -10 + 10 * reusableBuffer.powerMeter.attn, BOLD); - lcdDrawText(lcdLastRightPos, FH + 3, ")", BOLD); + if (reusableBuffer.powerMeter.attn != 0) + lcdDrawCenteredText(FH+2, STR_POWERMETER_ATTN_NEEDED, BOLD); for (uint8_t i=0; i 0 ? INVERS | BLINK : INVERS) : 0); - coord_t y = MENU_HEADER_HEIGHT + 2 * FH + i * FH; + coord_t y = MENU_HEADER_HEIGHT + 12 + i * FH; switch (i) { case POWER_METER_FREQ_RANGE: @@ -100,6 +94,16 @@ void menuRadioPowerMeter(event_t event) } break; + case POWER_METER_MAX: + lcdDrawText(0, y, STR_MAX); + lcdDrawNumber(8 * FW, y, -10 + 10 * reusableBuffer.powerMeter.attn); + lcdDrawText(lcdLastRightPos, y, "dBm/ "); + drawPower(lcdLastRightPos, y, -10 + 10 * reusableBuffer.powerMeter.attn, 0); + if (attr) { + reusableBuffer.powerMeter.attn = checkIncDec(event, reusableBuffer.powerMeter.attn, 0, 5, 0); + } + break; + case POWER_METER_POWER: lcdDrawText(0, y, STR_POWERMETER_POWER); if (reusableBuffer.powerMeter.power) { diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index f826bdf0a..6ae271367 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -595,6 +595,7 @@ const char STR_BLCOLOR[] = TR_BLCOLOR; const char STR_TRAINER[] = TR_TRAINER; const char STR_MODULE_BIND[] = TR_MODULE_BIND; +const char STR_POWERMETER_ATTN_NEEDED[] = TR_POWERMETER_ATTN_NEEDED; const char STR_PXX2_SELECT_RX[] = TR_PXX2_SELECT_RX; const char STR_PXX2_DEFAULT[] = TR_PXX2_DEFAULT; const char STR_BT_SELECT_DEVICE[] = TR_BT_SELECT_DEVICE; diff --git a/radio/src/translations.h b/radio/src/translations.h index 5a2fd9ecb..fb8d8dbe4 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -861,6 +861,7 @@ extern const char STR_EXPONAME[]; extern const char STR_TRAINER[]; extern const char STR_MODULE_BIND[]; +extern const char STR_POWERMETER_ATTN_NEEDED[]; extern const char STR_PXX2_SELECT_RX[]; extern const char STR_PXX2_DEFAULT[]; extern const char STR_BT_SELECT_DEVICE[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 50c381b9c..5ea7b5d8b 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -980,6 +980,7 @@ #define TR_BUZZER INDENT"Pípák" #define TR_BYTES "[B]" #define TR_MODULE_BIND BUTTON(TR("Bnd", "Bind")) +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..." diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index fc4f4db41..023bc7ed2 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -985,6 +985,7 @@ #define TR_BUZZER INDENT "Summer" #define TR_BYTES "Bytes" #define TR_MODULE_BIND BUTTON(TR("Bnd","Bind")) //9XR-Pro +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..." diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index f0dd1ade3..72f1f77e1 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -996,6 +996,7 @@ #define TR_BUZZER INDENT "Buzzer" #define TR_BYTES "bytes" #define TR_MODULE_BIND BUTTON(TR("Bnd", "Bind")) +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..." diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 4711b2688..bc2644319 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -991,6 +991,7 @@ #define TR_BUZZER INDENT"Zumbador" #define TR_BYTES "bytes" #define TR_MODULE_BIND "[Enlace]" +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..." diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index cbf684ceb..0c60a9006 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -983,6 +983,7 @@ #define TR_BUZZER INDENT"Buzzer" #define TR_BYTES "bytes" #define TR_MODULE_BIND "[Bind]" +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..." diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 123805b8c..d4f4b33d3 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -995,6 +995,7 @@ #define TR_BUZZER INDENT "Bipeur" #define TR_BYTES "bytes" #define TR_MODULE_BIND BUTTON(TR("Bnd", "Bind")) +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..." diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 16b495038..7acef6295 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -985,6 +985,7 @@ #define TR_BUZZER INDENT"Buzzer" #define TR_BYTES "Bytes" #define TR_MODULE_BIND "[Bind]" +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..." diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 27f86269c..b796b945f 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -986,6 +986,7 @@ #define TR_BUZZER INDENT "Zoemer" #define TR_BYTES "bytes" #define TR_MODULE_BIND TR("[Bnd]", "[Bind]") +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..." diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 47ec0afec..85a0af292 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -986,6 +986,7 @@ #define TR_BUZZER INDENT"Brzęczyk" #define TR_BYTES "bajty" #define TR_MODULE_BIND TR("[BND]","[Bind]") +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..." diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 1d53538fa..d2db2ab03 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -990,6 +990,7 @@ #define TR_BUZZER INDENT"Buzzer" #define TR_BYTES "bytes" #define TR_MODULE_BIND "[Bind]" +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..." diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index e513e5aa3..17b8c43f9 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -999,6 +999,7 @@ #define TR_BUZZER INDENT"Summer" #define TR_BYTES "byte" #define TR_MODULE_BIND TR("[Bnd]", "[Bind]") +#define TR_POWERMETER_ATTN_NEEDED "Attenuator needed" #define TR_PXX2_SELECT_RX "Select RX..." #define TR_PXX2_DEFAULT "" #define TR_BT_SELECT_DEVICE "Select device..."