1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-26 01:35:21 +03:00

R9M : activate automatically MODULE telem when possible (#5553)

* Fix #5543

* Auto activate R9M telem

* Adjust radio ui

* Thx @schwabe

* Stop being stupid ?

* PR rework

* [Companion] Removed "Module Telemetry" checkbox.
This commit is contained in:
3djc 2017-12-29 09:47:45 +01:00 committed by Bertrand Songis
parent 3cba3a76a4
commit 8ee9199abc
22 changed files with 157 additions and 146 deletions

View file

@ -80,6 +80,7 @@ enum MenuModelSetupItems {
#endif
ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE,
ITEM_MODEL_EXTERNAL_MODULE_OPTIONS,
ITEM_MODEL_EXTERNAL_MODULE_BIND_OPTIONS,
#if defined(MULTIMODULE)
ITEM_MODEL_EXTERNAL_MODULE_AUTOBIND,
#endif
@ -246,6 +247,7 @@ void menuModelSetup(event_t event)
OUTPUT_TYPE_ROWS()
FAILSAFE_ROWS(EXTERNAL_MODULE),
EXTERNAL_MODULE_OPTION_ROW,
(IS_MODULE_R9M_LBT(EXTERNAL_MODULE) ? (uint8_t)0 : HIDDEN_ROW),
MULTIMODULE_MODULE_ROWS
EXTERNAL_MODULE_POWER_ROW,
EXTRA_MODULE_ROWS
@ -261,6 +263,7 @@ void menuModelSetup(event_t event)
OUTPUT_TYPE_ROWS()
FAILSAFE_ROWS(EXTERNAL_MODULE),
EXTERNAL_MODULE_OPTION_ROW,
(IS_MODULE_R9M_LBT(EXTERNAL_MODULE) ? (uint8_t)0 : HIDDEN_ROW),
MULTIMODULE_MODULE_ROWS
EXTERNAL_MODULE_POWER_ROW,
EXTRA_MODULE_ROWS
@ -1154,23 +1157,13 @@ void menuModelSetup(event_t event)
}
}
#endif
if (IS_MODULE_R9M_FCC(moduleIdx)) {
if (IS_MODULE_R9M(moduleIdx)) {
lcdDrawTextAlignedLeft(y, STR_MODULE_TELEMETRY);
if (IS_TELEMETRY_INTERNAL_MODULE()) {
lcdDrawTextAlignedLeft(y, STR_MODULE_TELEMETRY);
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_DISABLE_INTERNAL);
}
else {
g_model.moduleData[moduleIdx].pxx.sport_out = editCheckBox(g_model.moduleData[EXTERNAL_MODULE].pxx.sport_out, MODEL_SETUP_2ND_COLUMN, y, STR_MODULE_TELEMETRY, attr, event);
}
}
else if (IS_MODULE_R9M_LBT(moduleIdx)) {
if (IS_TELEMETRY_INTERNAL_MODULE()) {
lcdDrawTextAlignedLeft(y, STR_MODULE_TELEMETRY);
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_DISABLE_INTERNAL);
}
else {
lcdDrawTextAlignedLeft(y, STR_MODULE_TELEMETRY);
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_BINDING_OPTION);
lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_MODULE_TELEM_ON);
}
}
else if (IS_MODULE_SBUS(moduleIdx)) {
@ -1180,6 +1173,27 @@ void menuModelSetup(event_t event)
break;
}
case ITEM_MODEL_EXTERNAL_MODULE_BIND_OPTIONS:
{
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
lcdDrawTextAlignedLeft(y, INDENT "Mode:");
if (g_model.moduleData[moduleIdx].pxx.power == R9M_LBT_POWER_25) {
if(g_model.moduleData[moduleIdx].pxx.receiver_telem_off == true)
lcdDrawText(lcdLastRightPos+1, y, STR_BINDING_25MW_CH1_8_TELEM_OFF);
else
lcdDrawText(lcdLastRightPos+1, y, STR_BINDING_25MW_CH1_8_TELEM_ON);
}
else {
if(g_model.moduleData[moduleIdx].pxx.receiver_channel_9_16 == true)
lcdDrawText(lcdLastRightPos+1, y, STR_BINDING_500MW_CH9_16_TELEM_OFF);
else
lcdDrawText(lcdLastRightPos+1, y, STR_BINDING_500MW_CH1_8_TELEM_OFF);
}
if (attr) REPEAT_LAST_CURSOR_MOVE();
}
case ITEM_MODEL_EXTERNAL_MODULE_POWER:
{
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);