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:
@@ -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
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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]() {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user