D16 bind option (#7218)

D16  bind option, and several fixes that give MULTI live data priority vs OpenTX stored multi definitions

Co-authored-by: pascallanger <pascal_langer@yahoo.fr>
This commit is contained in:
3djc
2019-12-27 09:42:13 +01:00
committed by GitHub
co-authored by pascallanger
parent 2f793eba32
commit ea11335273
20 changed files with 97 additions and 63 deletions
+10 -9
View File
@@ -1613,23 +1613,24 @@ bool menuModelSetup(event_t event)
if (MULTIMODULE_PROTOCOL_KNOWN(moduleIdx)) {
int optionValue = g_model.moduleData[moduleIdx].multi.optionValue;
MultiModuleStatus &status = getMultiModuleStatus(moduleIdx);
const uint8_t multi_proto = g_model.moduleData[moduleIdx].getMultiProtocol();
if (multi_proto < MODULE_SUBTYPE_MULTI_LAST) {
if (status.isValid()) {
lcdDrawText(MENUS_MARGIN_LEFT + INDENT_WIDTH, y, mm_options_strings::options[status.optionDisp]);
if (attr && status.optionDisp == 2) {
lcdDrawNumber(LCD_W - 10, y, TELEMETRY_RSSI(), RIGHT, 0, "RSSI(", ")");
}
}
else {
const mm_protocol_definition * pdef = getMultiProtocolDefinition(multi_proto);
if (pdef->optionsstr) {
lcdDrawText(MENUS_MARGIN_LEFT + INDENT_WIDTH, y, pdef->optionsstr);
if (attr && pdef->optionsstr == STR_MULTI_RFTUNE) {
if (attr && pdef->optionsstr == STR_MULTI_RFTUNE) {
lcdDrawNumber(LCD_W - 10, y, TELEMETRY_RSSI(), RIGHT, 0, "RSSI(", ")");
}
}
}
else {
MultiModuleStatus &status = getMultiModuleStatus(moduleIdx);
lcdDrawText(MENUS_MARGIN_LEFT + INDENT_WIDTH, y, mm_options_strings::options[status.optionDisp]);
if (attr && status.optionDisp == 2) {
lcdDrawNumber(LCD_W - 10, y, TELEMETRY_RSSI(), RIGHT, 0, "RSSI(", ")");
}
}
if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A)
optionValue = 50 + 5 * optionValue;