|
|
|
@@ -671,31 +671,31 @@ void menuModelSetup(uint8_t event)
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_DSM_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, menuHorizontalPosition==1 ? attr : 0);
|
|
|
|
|
#if defined(MULTIMODULE)
|
|
|
|
|
else if (IS_MODULE_MULTIMODULE(EXTERNAL_MODULE)) {
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_MULTI_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].rfProtocol+8, menuHorizontalPosition==1 ? attr : 0);
|
|
|
|
|
|
|
|
|
|
switch(g_model.moduleData[EXTERNAL_MODULE].rfProtocol) {
|
|
|
|
|
case MM_RF_PROTO_FLYSKY:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_FLYSKY, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_HISKY:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_HISKY, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_DSM2:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_DSM_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].subType+1, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_YD717:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_YD717, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_SYMAX:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_SYMAX, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_CX10:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_CX10, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_CG023:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_CG023, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_MULTI_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].rfProtocol+8, menuHorizontalPosition==1 ? attr : 0);
|
|
|
|
|
|
|
|
|
|
switch(g_model.moduleData[EXTERNAL_MODULE].rfProtocol) {
|
|
|
|
|
case MM_RF_PROTO_FLYSKY:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_FLYSKY, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_HISKY:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_HISKY, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_DSM2:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_DSM_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].subType+1, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_YD717:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_YD717, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_SYMAX:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_SYMAX, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_CX10:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_CX10, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_CG023:
|
|
|
|
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_CG023, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
if (attr && s_editMode>0) {
|
|
|
|
@@ -711,7 +711,7 @@ void menuModelSetup(uint8_t event)
|
|
|
|
|
case 1:
|
|
|
|
|
if (IS_MODULE_DSM2(EXTERNAL_MODULE))
|
|
|
|
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, DSM2_PROTO_LP45, DSM2_PROTO_DSMX);
|
|
|
|
|
else if(IS_MODULE_MULTIMODULE(EXTERNAL_MODULE)) {
|
|
|
|
|
else if (IS_MODULE_MULTIMODULE(EXTERNAL_MODULE)) {
|
|
|
|
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, MM_RF_PROTO_FIRST, MM_RF_PROTO_LAST);
|
|
|
|
|
if (checkIncDec_Ret)
|
|
|
|
|
g_model.moduleData[EXTERNAL_MODULE].subType=0;
|
|
|
|
@@ -724,24 +724,24 @@ void menuModelSetup(uint8_t event)
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
#if defined(MULTIMODULE)
|
|
|
|
|
case 2:
|
|
|
|
|
switch (g_model.moduleData[EXTERNAL_MODULE].rfProtocol) {
|
|
|
|
|
case MM_RF_PROTO_HISKY:
|
|
|
|
|
case MM_RF_PROTO_DSM2:
|
|
|
|
|
case MM_RF_PROTO_SYMAX:
|
|
|
|
|
case MM_RF_PROTO_CG023:
|
|
|
|
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 1);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_CX10:
|
|
|
|
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 2);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_FLYSKY:
|
|
|
|
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_YD717:
|
|
|
|
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 4);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
case 2:
|
|
|
|
|
switch (g_model.moduleData[EXTERNAL_MODULE].rfProtocol) {
|
|
|
|
|
case MM_RF_PROTO_HISKY:
|
|
|
|
|
case MM_RF_PROTO_DSM2:
|
|
|
|
|
case MM_RF_PROTO_SYMAX:
|
|
|
|
|
case MM_RF_PROTO_CG023:
|
|
|
|
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 1);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_CX10:
|
|
|
|
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 2);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_FLYSKY:
|
|
|
|
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3);
|
|
|
|
|
break;
|
|
|
|
|
case MM_RF_PROTO_YD717:
|
|
|
|
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 4);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -754,7 +754,7 @@ void menuModelSetup(uint8_t event)
|
|
|
|
|
case ITEM_MODEL_INTERNAL_MODULE_CHANNELS:
|
|
|
|
|
case ITEM_MODEL_EXTERNAL_MODULE_CHANNELS:
|
|
|
|
|
case ITEM_MODEL_TRAINER_CHANNELS:
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
uint8_t moduleIdx = CURRENT_MODULE_EDITED(k);
|
|
|
|
|
ModuleData & moduleData = g_model.moduleData[moduleIdx];
|
|
|
|
|
lcd_putsLeft(y, STR_CHANNELRANGE);
|
|
|
|
@@ -786,6 +786,7 @@ void menuModelSetup(uint8_t event)
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
case ITEM_MODEL_INTERNAL_MODULE_BIND:
|
|
|
|
|
case ITEM_MODEL_EXTERNAL_MODULE_BIND:
|
|
|
|
|
case ITEM_MODEL_TRAINER_SETTINGS:
|
|
|
|
@@ -825,7 +826,6 @@ void menuModelSetup(uint8_t event)
|
|
|
|
|
else {
|
|
|
|
|
lcd_putsLeft(y, STR_RXNUM);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (IS_MODULE_XJT(moduleIdx) || IS_MODULE_DSM2(moduleIdx) || IS_MODULE_MULTIMODULE(moduleIdx)) {
|
|
|
|
|
if (xOffsetBind) lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.header.modelId[moduleIdx], (l_posHorz==0 ? attr : 0) | LEADING0|LEFT, 2);
|
|
|
|
|
if (attr && l_posHorz==0) {
|
|
|
|
|