X7 POC for R9 region sensing
This commit is contained in:
@@ -97,6 +97,7 @@ enum MenuModelSetupItems {
|
||||
ITEM_MODEL_EXTERNAL_MODULE_AUTOBIND,
|
||||
#endif
|
||||
ITEM_MODEL_EXTERNAL_MODULE_POWER,
|
||||
ITEM_MODEL_EXTERNAL_MODULE_FREQ,
|
||||
#if defined(PCBSKY9X) && !defined(REVA)
|
||||
ITEM_MODEL_EXTRA_MODULE_LABEL,
|
||||
ITEM_MODEL_EXTRA_MODULE_CHANNELS,
|
||||
@@ -170,7 +171,7 @@ enum MenuModelSetupItems {
|
||||
#if defined(PCBSKY9X) && !defined(REVA)
|
||||
#define EXTRA_MODULE_ROWS LABEL(ExtraModule), 1, 2,
|
||||
#else
|
||||
#define EXTRA_MODULE_ROWS
|
||||
#define EXTRA_MODULE_ROWS isR9MMFlex(EXTERNAL_MODULE) ? (uint8_t)1: (uint8_t)HIDDEN_ROW
|
||||
#endif
|
||||
|
||||
#if defined(PCBX7)
|
||||
@@ -273,7 +274,7 @@ void menuModelSetup(event_t event)
|
||||
EXTERNAL_MODULE_OPTION_ROW,
|
||||
MULTIMODULE_MODULE_ROWS
|
||||
EXTERNAL_MODULE_POWER_ROW,
|
||||
EXTRA_MODULE_ROWS
|
||||
EXTRA_MODULE_ROWS,
|
||||
FAILSAFE_ROWS(EXTERNAL_MODULE),
|
||||
TRAINER_ROWS });
|
||||
#else
|
||||
@@ -728,7 +729,7 @@ void menuModelSetup(event_t event)
|
||||
else if (isModuleDSM2(EXTERNAL_MODULE))
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_DSM_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, menuHorizontalPosition==1 ? attr : 0);
|
||||
else if (isR9ModuleRunning(EXTERNAL_MODULE))
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_R9M_REGION, g_model.moduleData[EXTERNAL_MODULE].subType, (menuHorizontalPosition==1 ? attr : 0));
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_R9M_REGION, g_model.moduleData[EXTERNAL_MODULE].subType & 0x03, (menuHorizontalPosition==1 ? attr : 0));
|
||||
#if defined(MULTIMODULE)
|
||||
else if (isModuleMultimodule(EXTERNAL_MODULE)) {
|
||||
int multi_rfProto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false);
|
||||
@@ -755,16 +756,6 @@ void menuModelSetup(event_t event)
|
||||
case 1:
|
||||
if (isModuleDSM2(EXTERNAL_MODULE))
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, DSM2_PROTO_LP45, DSM2_PROTO_DSMX);
|
||||
else if (isModuleR9M(EXTERNAL_MODULE)) {
|
||||
uint8_t newR9MType = checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].subType, MODULE_SUBTYPE_R9M_FCC, MODULE_SUBTYPE_R9M_LAST, EE_MODEL, isR9MModeAvailable);
|
||||
if (newR9MType != g_model.moduleData[EXTERNAL_MODULE].subType && newR9MType > MODULE_SUBTYPE_R9M_EU) {
|
||||
POPUP_WARNING(STR_R9MFLEXWARN1);
|
||||
const char * w = STR_R9MFLEXWARN2;
|
||||
SET_WARNING_INFO(w, strlen(w), 0);
|
||||
}
|
||||
g_model.moduleData[EXTERNAL_MODULE].subType = newR9MType;
|
||||
}
|
||||
|
||||
#if defined(MULTIMODULE)
|
||||
else if (isModuleMultimodule(EXTERNAL_MODULE)) {
|
||||
int multiRfProto = g_model.moduleData[EXTERNAL_MODULE].multi.customProto == 1 ? MM_RF_PROTO_CUSTOM : g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false);
|
||||
@@ -1191,10 +1182,7 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (isModuleR9M(moduleIdx)) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, TR_R9MFLEX_FREQ, BF_GET(g_model.moduleData[EXTERNAL_MODULE].subType, 0, 1), attr);
|
||||
}
|
||||
else if (isModuleSBUS(moduleIdx)) {
|
||||
if (isModuleSBUS(moduleIdx)) {
|
||||
lcdDrawTextAlignedLeft(y, STR_WARN_BATTVOLTAGE);
|
||||
putsVolts(lcdLastRightPos, y, getBatteryVoltage(), attr | PREC2 | LEFT);
|
||||
}
|
||||
@@ -1241,6 +1229,19 @@ void menuModelSetup(event_t event)
|
||||
}
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_EXTERNAL_MODULE_FREQ:
|
||||
{
|
||||
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
|
||||
uint8_t frequency = BF_GET(g_model.moduleData[moduleIdx].subType, 2, 1);
|
||||
lcdDrawTextAlignedLeft(y, STR_FREQUENCY);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_R9MFLEX_FREQ, frequency, LEFT | attr);
|
||||
if (attr)
|
||||
{
|
||||
CHECK_INCDEC_MODELVAR_ZERO(event, frequency, 1);
|
||||
BF_SET(g_model.moduleData[moduleIdx].subType, frequency, 2, 1);
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(MULTIMODULE)
|
||||
case ITEM_MODEL_EXTERNAL_MODULE_AUTOBIND:
|
||||
if (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true) == MM_RF_PROTO_DSM2)
|
||||
|
||||
Reference in New Issue
Block a user