fix: RX stat labelling dependent on telemetry protocol (#3523)

* RX stat (formerly known as "RSSI") labeling dependent on protocol (RSSI/dbm, Rqly/%, Sgnl/-)  used for range check, multi rf tuning and low/critical warning settings pages

* chore: Bump libopenui

* removed define that was supposed to be for testing only

function getRxStatLabels(): wasting flash as inline, no need to be inlined

* removed inline on getRxStatLabels() - step 2
This commit is contained in:
Michael
2023-05-17 11:17:35 +10:00
committed by GitHub
parent 5db37e2a2b
commit fd7d359695
11 changed files with 89 additions and 26 deletions
+3 -2
View File
@@ -1796,7 +1796,8 @@ void menuModelSetup(event_t event)
if (!title) break;
lcdDrawText(INDENT_WIDTH, y, title);
if (title == STR_MULTI_RFTUNE) {
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, "RSSI(", LEFT);
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, getRxStatLabels()->label, LEFT);
lcdDrawText(lcdLastRightPos, y, "(", LEFT);
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
}
@@ -2137,7 +2138,7 @@ void menuModelSetup(event_t event)
#if defined(PXX)
if (isModuleInRangeCheckMode()) {
showMessageBox("RSSI: ");
showMessageBox(getRxStatLabels()->label);
lcdDrawNumber(WARNING_LINE_X, 5*FH, TELEMETRY_RSSI(), BOLD);
}
#endif
+1 -1
View File
@@ -228,7 +228,7 @@ void menuModelTelemetry(event_t event)
break;
case ITEM_TELEMETRY_RSSI_LABEL:
lcdDrawTextAlignedLeft(y, getRssiLabel());
lcdDrawTextAlignedLeft(y, getRxStatLabels()->label);
break;
case ITEM_TELEMETRY_RSSI_SOURCE: {
+3 -2
View File
@@ -1555,7 +1555,8 @@ void menuModelSetup(event_t event)
if (!title) break;
lcdDrawText(INDENT_WIDTH, y, title);
if (title == STR_MULTI_RFTUNE) {
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, "RSSI(", LEFT);
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, getRxStatLabels()->label, LEFT);
lcdDrawText(lcdLastRightPos, y, "(", LEFT);
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
}
@@ -1850,7 +1851,7 @@ void menuModelSetup(event_t event)
#if defined(PXX)
if (isModuleInRangeCheckMode()) {
showMessageBox("RSSI: ");
showMessageBox(getRxStatLabels()->label);
lcdDrawNumber(WARNING_LINE_X, 5*FH, TELEMETRY_RSSI(), BOLD | LEFT);
}
#endif
+1 -1
View File
@@ -220,7 +220,7 @@ void menuModelTelemetry(event_t event)
break;
case ITEM_TELEMETRY_RSSI_LABEL:
lcdDrawTextAlignedLeft(y, getRssiLabel());
lcdDrawTextAlignedLeft(y, getRxStatLabels()->label);
break;
case ITEM_TELEMETRY_RSSI_SOURCE: {
+2 -2
View File
@@ -897,8 +897,8 @@ void ModelTelemetryPage::build(FormWindow * window)
new StaticText(line, rect_t{}, STR_IGNORE_INSTANCE, 0, COLOR_THEME_PRIMARY1);
new CheckBox(line, rect_t{}, GET_SET_DEFAULT(g_model.ignoreSensorIds));
// RSSI
new Subtitle(window, rect_t{}, getRssiLabel(), 0, COLOR_THEME_PRIMARY1);
// RX stat
new Subtitle(window, rect_t{}, getRxStatLabels()->label, 0, COLOR_THEME_PRIMARY1);
line = window->newLine(&grid);
line->padLeft(10);
+2 -11
View File
@@ -527,23 +527,14 @@ void ModuleWindow::updateFailsafe()
}
}
#if defined(PCBNV14)
#define SIGNAL_POSTFIX
#define SIGNAL_MESSAGE "SGNL"
#else
#define SIGNAL_POSTFIX " db"
#define SIGNAL_MESSAGE "RSSI"
#endif
void ModuleWindow::startRSSIDialog(std::function<void()> closeHandler)
{
auto rssiDialog = new DynamicMessageDialog(
parent, STR_RANGE_TEST,
[=]() {
return std::to_string((int)TELEMETRY_RSSI()) +
std::string(SIGNAL_POSTFIX);
return std::to_string((int)TELEMETRY_RSSI()) + getRxStatLabels()->unit;
},
SIGNAL_MESSAGE, 50,
getRxStatLabels()->label, 50,
COLOR_THEME_SECONDARY1 | CENTERED | FONT(BOLD) | FONT(XL));
rssiDialog->setCloseHandler([this, closeHandler]() {
+5 -2
View File
@@ -61,7 +61,7 @@ MPMProtoOption::MPMProtoOption(FormGroup* form, FlexGridLayout *layout) :
edit = new NumberEdit(box, rect_t{}, 0, 0, nullptr);
cb = new CheckBox(box, rect_t{}, nullptr, nullptr);
rssi = new DynamicNumber<uint16_t>(
box, rect_t{}, [] { return (uint16_t)TELEMETRY_RSSI(); }, 0, "RSSI: ", " db");
box, rect_t{}, [] { return (uint16_t)TELEMETRY_RSSI(); }, 0, getRxStatLabels()->label, getRxStatLabels()->unit);
}
void MPMProtoOption::update(const MultiRfProtocols::RfProto* rfProto, ModuleData* md)
@@ -137,8 +137,11 @@ void MPMProtoOption::update(const MultiRfProtocols::RfProto* rfProto, ModuleData
edit->setSetValueHandler(SET_DEFAULT(md->multi.optionValue));
lv_obj_clear_flag(edit->getLvObj(), LV_OBJ_FLAG_HIDDEN);
edit->update();
if (title == STR_MULTI_RFTUNE)
if (title == STR_MULTI_RFTUNE) {
rssi->setPrefix(getRxStatLabels()->label);
rssi->setSuffix(getRxStatLabels()->unit);
lv_obj_clear_flag(rssi->getLvObj(), LV_OBJ_FLAG_HIDDEN);
}
}
}
}