mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-20 14:55:09 +03:00
parent
040692568e
commit
83ab5b6c36
21 changed files with 248 additions and 198 deletions
|
@ -768,7 +768,7 @@
|
|||
</palette>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>WARNING: Requires non-certified R9M firmware!</string>
|
||||
<string>WARNING: Requires non-certified firmware!</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
@ -8696,8 +8696,8 @@ Mixage actif par défaut si non-renseigné.</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../modeledit/setup_module.ui" line="771"/>
|
||||
<source>WARNING: Requires non-certified R9M firmware!</source>
|
||||
<translation>ATTENTION: Nécessite un firmware R9M non certifié!</translation>
|
||||
<source>WARNING: Requires non-certified firmware!</source>
|
||||
<translation>ATTENTION: Nécessite un firmware non certifié!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../modeledit/setup_module.ui" line="797"/>
|
||||
|
|
|
@ -8650,7 +8650,7 @@ If blank then the mix is considered to be "ON" all the time.</source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../modeledit/setup_module.ui" line="771"/>
|
||||
<source>WARNING: Requires non-certified R9M firmware!</source>
|
||||
<source>WARNING: Requires non-certified firmware!</source>
|
||||
<translation>警告: 未認定のR9Mファームウェアが必要です!</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
|
|
@ -754,7 +754,7 @@ void menuModelSetup(event_t event)
|
|||
|
||||
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||
case ITEM_MODEL_SETUP_INTERNAL_MODULE_LABEL:
|
||||
lcdDrawTextAlignedLeft(y, TR_INTERNALRF);
|
||||
lcdDrawTextAlignedLeft(y, STR_INTERNALRF);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_INTERNAL_MODULE_TYPE:
|
||||
|
@ -817,7 +817,7 @@ void menuModelSetup(event_t event)
|
|||
#endif
|
||||
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_LABEL:
|
||||
lcdDrawTextAlignedLeft(y, TR_EXTERNALRF);
|
||||
lcdDrawTextAlignedLeft(y, STR_EXTERNALRF);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_TYPE:
|
||||
|
@ -863,8 +863,9 @@ void menuModelSetup(event_t event)
|
|||
break;
|
||||
|
||||
case 1:
|
||||
if (isModuleDSM2(EXTERNAL_MODULE))
|
||||
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)) {
|
||||
g_model.moduleData[EXTERNAL_MODULE].subType = checkIncDec(event,
|
||||
g_model.moduleData[EXTERNAL_MODULE].subType,
|
||||
|
@ -872,13 +873,6 @@ void menuModelSetup(event_t event)
|
|||
MODULE_SUBTYPE_R9M_LAST,
|
||||
EE_MODEL,
|
||||
isR9MModeAvailable);
|
||||
#if defined(R9M_PROTO_FLEX)
|
||||
if (g_model.moduleData[EXTERNAL_MODULE].subType > MODULE_SUBTYPE_R9M_EU && old_editMode && !s_editMode) {
|
||||
POPUP_WARNING(STR_R9MFLEXWARN1);
|
||||
const char *w = STR_R9MFLEXWARN2;
|
||||
SET_WARNING_INFO(w, strlen(w), 0);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(MULTIMODULE)
|
||||
|
@ -911,13 +905,21 @@ void menuModelSetup(event_t event)
|
|||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
#if defined(R9M_PROTO_FLEX)
|
||||
if (isModuleR9M(EXTERNAL_MODULE) && g_model.moduleData[EXTERNAL_MODULE].subType > MODULE_SUBTYPE_R9M_EU && old_editMode) {
|
||||
POPUP_WARNING(STR_R9MFLEXWARN1);
|
||||
SET_WARNING_INFO(STR_R9MFLEXWARN2, sizeof(TR_R9MFLEXWARN2), 0);
|
||||
else if (old_editMode > 0) {
|
||||
if (isModuleR9M(EXTERNAL_MODULE)) {
|
||||
if (g_model.moduleData[EXTERNAL_MODULE].subType > MODULE_SUBTYPE_R9M_EU) {
|
||||
POPUP_WARNING(STR_R9M_PROTO_FLEX_WARN1);
|
||||
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
|
||||
}
|
||||
else if (g_model.moduleData[EXTERNAL_MODULE].subType == MODULE_SUBTYPE_R9M_EU) {
|
||||
POPUP_WARNING(STR_R9M_PROTO_EU_WARN1);
|
||||
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
|
||||
}
|
||||
else {
|
||||
POPUP_WARNING(STR_R9M_PROTO_FCC_WARN1);
|
||||
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -274,7 +274,10 @@ void editTimerCountdown(int timerIdx, coord_t y, LcdFlags attr, event_t event)
|
|||
#define CURRENT_RECEIVER_EDITED(k) (k - (k >= ITEM_MODEL_SETUP_EXTERNAL_MODULE_LABEL ? ITEM_MODEL_SETUP_EXTERNAL_MODULE_PXX2_RECEIVER_1 : ITEM_MODEL_SETUP_INTERNAL_MODULE_PXX2_RECEIVER_1))
|
||||
|
||||
#include "common/stdlcd/model_setup_pxx1.cpp"
|
||||
|
||||
#if defined(PXX2)
|
||||
#include "common/stdlcd/model_setup_pxx2.cpp"
|
||||
#endif
|
||||
|
||||
void menuModelSetup(event_t event)
|
||||
{
|
||||
|
@ -715,7 +718,7 @@ void menuModelSetup(event_t event)
|
|||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_INTERNAL_MODULE_LABEL:
|
||||
lcdDrawTextAlignedLeft(y, TR_INTERNALRF);
|
||||
lcdDrawTextAlignedLeft(y, STR_INTERNALRF);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_INTERNAL_MODULE_TYPE:
|
||||
|
@ -785,18 +788,18 @@ void menuModelSetup(event_t event)
|
|||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_LABEL:
|
||||
lcdDrawTextAlignedLeft(y, TR_EXTERNALRF);
|
||||
lcdDrawTextAlignedLeft(y, STR_EXTERNALRF);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_TYPE:
|
||||
lcdDrawTextAlignedLeft(y, STR_MODE);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_EXTERNAL_MODULE_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].type, menuHorizontalPosition==0 ? attr : 0);
|
||||
if (isModuleXJT(EXTERNAL_MODULE))
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_3RD_COLUMN, y, STR_ACCST_RF_PROTOCOLS, 1+g_model.moduleData[EXTERNAL_MODULE].rfProtocol, menuHorizontalPosition==1 ? attr : 0);
|
||||
lcdDrawTextAtIndex(lcdNextPos + 3, y, STR_ACCST_RF_PROTOCOLS, 1+g_model.moduleData[EXTERNAL_MODULE].rfProtocol, menuHorizontalPosition==1 ? attr : 0);
|
||||
else if (isModuleDSM2(EXTERNAL_MODULE))
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_3RD_COLUMN, y, STR_DSM_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, menuHorizontalPosition==1 ? attr : 0);
|
||||
lcdDrawTextAtIndex(lcdNextPos + 3, y, STR_DSM_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, menuHorizontalPosition==1 ? attr : 0);
|
||||
else if (isModuleR9M(EXTERNAL_MODULE))
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_3RD_COLUMN, y, STR_R9M_REGION, g_model.moduleData[EXTERNAL_MODULE].subType, (menuHorizontalPosition==1 ? attr : 0));
|
||||
lcdDrawTextAtIndex(lcdNextPos + 3, y, STR_R9M_REGION, g_model.moduleData[EXTERNAL_MODULE].subType, (menuHorizontalPosition==1 ? attr : 0));
|
||||
#if defined(MULTIMODULE)
|
||||
else if (isModuleMultimodule(EXTERNAL_MODULE)) {
|
||||
uint8_t multi_rfProto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false);
|
||||
|
@ -809,24 +812,27 @@ void menuModelSetup(event_t event)
|
|||
}
|
||||
else {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_MULTI_PROTOCOLS, multi_rfProto, menuHorizontalPosition==1 ? attr : 0);
|
||||
|
||||
const mm_protocol_definition *pdef = getMultiProtocolDefinition(multi_rfProto);
|
||||
if (pdef->subTypeString != nullptr)
|
||||
if (pdef->subTypeString != nullptr) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, pdef->subTypeString, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (attr && s_editMode>0) {
|
||||
if (attr) {
|
||||
if (s_editMode > 0) {
|
||||
switch (menuHorizontalPosition) {
|
||||
case 0:
|
||||
g_model.moduleData[EXTERNAL_MODULE].type = checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].type, MODULE_TYPE_NONE, IS_TRAINER_EXTERNAL_MODULE() ? MODULE_TYPE_NONE : MODULE_TYPE_COUNT-1, EE_MODEL, isExternalModuleAvailable);
|
||||
g_model.moduleData[EXTERNAL_MODULE].type = checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].type, MODULE_TYPE_NONE,
|
||||
IS_TRAINER_EXTERNAL_MODULE() ? MODULE_TYPE_NONE : MODULE_TYPE_COUNT - 1, EE_MODEL,
|
||||
isExternalModuleAvailable);
|
||||
if (checkIncDec_Ret) {
|
||||
g_model.moduleData[EXTERNAL_MODULE].rfProtocol = 0;
|
||||
g_model.moduleData[EXTERNAL_MODULE].channelsStart = 0;
|
||||
g_model.moduleData[EXTERNAL_MODULE].channelsCount = defaultModuleChannels_M8(EXTERNAL_MODULE);
|
||||
if (isModuleSBUS(EXTERNAL_MODULE))
|
||||
g_model.moduleData[EXTERNAL_MODULE].sbus.refreshRate = -31;
|
||||
if(isModulePPM(EXTERNAL_MODULE))
|
||||
if (isModulePPM(EXTERNAL_MODULE))
|
||||
SET_DEFAULT_PPM_FRAME_LENGTH(EXTERNAL_MODULE);
|
||||
}
|
||||
break;
|
||||
|
@ -854,22 +860,21 @@ void menuModelSetup(event_t event)
|
|||
}
|
||||
#endif
|
||||
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;
|
||||
g_model.moduleData[EXTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].subType,
|
||||
MODULE_SUBTYPE_R9M_FCC, MODULE_SUBTYPE_R9M_LAST, EE_MODEL,
|
||||
isR9MModeAvailable);
|
||||
}
|
||||
else {
|
||||
g_model.moduleData[EXTERNAL_MODULE].rfProtocol = checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, MODULE_SUBTYPE_PXX1_ACCST_D16, MODULE_SUBTYPE_PXX1_LAST, EE_MODEL, isRfProtocolAvailable);
|
||||
g_model.moduleData[EXTERNAL_MODULE].rfProtocol = checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].rfProtocol,
|
||||
MODULE_SUBTYPE_PXX1_ACCST_D16, MODULE_SUBTYPE_PXX1_LAST, EE_MODEL,
|
||||
isRfProtocolAvailable);
|
||||
}
|
||||
if (checkIncDec_Ret) {
|
||||
g_model.moduleData[EXTERNAL_MODULE].channelsStart = 0;
|
||||
g_model.moduleData[EXTERNAL_MODULE].channelsCount = defaultModuleChannels_M8(EXTERNAL_MODULE);
|
||||
}
|
||||
break;
|
||||
|
||||
#if defined(MULTIMODULE)
|
||||
case 2:
|
||||
if (g_model.moduleData[EXTERNAL_MODULE].multi.customProto) {
|
||||
|
@ -882,6 +887,7 @@ void menuModelSetup(event_t event)
|
|||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, pdef->maxSubtype);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
// Custom protocol, third column is subtype
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 7);
|
||||
|
@ -889,6 +895,23 @@ void menuModelSetup(event_t event)
|
|||
#endif
|
||||
}
|
||||
}
|
||||
else if (old_editMode > 0) {
|
||||
if (isModuleR9M(EXTERNAL_MODULE)) {
|
||||
if (g_model.moduleData[EXTERNAL_MODULE].subType > MODULE_SUBTYPE_R9M_EU) {
|
||||
POPUP_WARNING(STR_R9M_PROTO_FLEX_WARN1);
|
||||
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
|
||||
}
|
||||
else if (g_model.moduleData[EXTERNAL_MODULE].subType == MODULE_SUBTYPE_R9M_EU) {
|
||||
POPUP_WARNING(STR_R9M_PROTO_EU_WARN1);
|
||||
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
|
||||
}
|
||||
else {
|
||||
POPUP_WARNING(STR_R9M_PROTO_FCC_WARN1);
|
||||
SET_WARNING_INFO(STR_R9M_PROTO_WARN2, sizeof(TR_R9M_PROTO_WARN2), 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_SETUP_TRAINER_LABEL:
|
||||
|
|
|
@ -642,7 +642,7 @@ bool menuModelSetup(event_t event)
|
|||
break;
|
||||
|
||||
case ITEM_MODEL_INTERNAL_MODULE_LABEL:
|
||||
lcdDrawText(MENUS_MARGIN_LEFT, y, TR_INTERNALRF);
|
||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_INTERNALRF);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_INTERNAL_MODULE_MODE:
|
||||
|
@ -685,7 +685,7 @@ bool menuModelSetup(event_t event)
|
|||
break;
|
||||
|
||||
case ITEM_MODEL_EXTERNAL_MODULE_LABEL:
|
||||
lcdDrawText(MENUS_MARGIN_LEFT, y, TR_EXTERNALRF);
|
||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_EXTERNALRF);
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_EXTERNAL_MODULE_MODE:
|
||||
|
@ -713,7 +713,8 @@ bool menuModelSetup(event_t event)
|
|||
}
|
||||
}
|
||||
#endif
|
||||
if (attr && s_editMode>0) {
|
||||
if (attr) {
|
||||
if (s_editMode > 0) {
|
||||
switch (menuHorizontalPosition) {
|
||||
case 0:
|
||||
g_model.moduleData[EXTERNAL_MODULE].type = checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].type,
|
||||
|
@ -753,13 +754,8 @@ bool menuModelSetup(event_t event)
|
|||
}
|
||||
#endif
|
||||
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;
|
||||
g_model.moduleData[EXTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].subType, MODULE_SUBTYPE_R9M_FCC,
|
||||
MODULE_SUBTYPE_R9M_LAST, EE_MODEL, isR9MModeAvailable);
|
||||
}
|
||||
else {
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].rfProtocol, MODULE_SUBTYPE_PXX1_ACCST_D16, MODULE_SUBTYPE_PXX1_LAST);
|
||||
|
@ -787,6 +783,7 @@ bool menuModelSetup(event_t event)
|
|||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case ITEM_MODEL_TRAINER_LABEL:
|
||||
|
|
|
@ -547,7 +547,7 @@ bool isPxx2IsrmChannelsCountAllowed(int channels)
|
|||
}
|
||||
#endif
|
||||
|
||||
bool isModuleUSingSport(uint8_t moduleBay, uint8_t moduleType)
|
||||
bool isModuleUsingSport(uint8_t moduleBay, uint8_t moduleType)
|
||||
{
|
||||
switch(moduleType) {
|
||||
case MODULE_TYPE_NONE:
|
||||
|
@ -555,18 +555,15 @@ bool isModuleUSingSport(uint8_t moduleBay, uint8_t moduleType)
|
|||
case MODULE_TYPE_PPM:
|
||||
case MODULE_TYPE_DSM2:
|
||||
case MODULE_TYPE_MULTIMODULE:
|
||||
case MODULE_TYPE_ISRM_PXX2:
|
||||
case MODULE_TYPE_R9M_LITE_PXX2:
|
||||
case MODULE_TYPE_R9M_LITE_PRO_PXX2:
|
||||
return false;
|
||||
|
||||
case MODULE_TYPE_ISRM_PXX2:
|
||||
case MODULE_TYPE_XJT_PXX1:
|
||||
if (moduleBay == EXTERNAL_MODULE)
|
||||
return false;
|
||||
|
||||
#if defined(INTMODULE_USART)
|
||||
return false;
|
||||
#endif
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
|
@ -580,7 +577,7 @@ bool isInternalModuleAvailable(int moduleType)
|
|||
|
||||
#if defined(PXX1) && defined(INTERNAL_MODULE_PXX1)
|
||||
if (moduleType == MODULE_TYPE_XJT_PXX1)
|
||||
return !isModuleUSingSport(EXTERNAL_MODULE, g_model.moduleData[EXTERNAL_MODULE].type);
|
||||
return !isModuleUsingSport(EXTERNAL_MODULE, g_model.moduleData[EXTERNAL_MODULE].type);
|
||||
#else
|
||||
if (moduleType == MODULE_TYPE_XJT_PXX1)
|
||||
return false;
|
||||
|
@ -591,7 +588,7 @@ bool isInternalModuleAvailable(int moduleType)
|
|||
#if defined(INTMODULE_USART)
|
||||
return true;
|
||||
#else
|
||||
return (!isModuleUSingSport(EXTERNAL_MODULE, g_model.moduleData[EXTERNAL_MODULE].type));
|
||||
return (!isModuleUsingSport(EXTERNAL_MODULE, g_model.moduleData[EXTERNAL_MODULE].type));
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -601,7 +598,7 @@ bool isInternalModuleAvailable(int moduleType)
|
|||
|
||||
bool isExternalModuleAvailable(int moduleType)
|
||||
{
|
||||
#if !defined(PCBXLITE) && !defined(PCBX9LITE)
|
||||
#if !defined(HARDWARE_EXTERNAL_MODULE_SIZE_SML)
|
||||
if (moduleType == MODULE_TYPE_R9M_LITE_PXX1 || moduleType == MODULE_TYPE_R9M_LITE_PXX2 || moduleType == MODULE_TYPE_R9M_LITE_PRO_PXX2)
|
||||
return false;
|
||||
#endif
|
||||
|
@ -651,7 +648,7 @@ bool isExternalModuleAvailable(int moduleType)
|
|||
#endif
|
||||
|
||||
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||
if (isModuleUSingSport(EXTERNAL_MODULE, moduleType) && isModuleUSingSport(INTERNAL_MODULE, g_model.moduleData[INTERNAL_MODULE].type))
|
||||
if (isModuleUsingSport(EXTERNAL_MODULE, moduleType) && isModuleUsingSport(INTERNAL_MODULE, g_model.moduleData[INTERNAL_MODULE].type))
|
||||
return false;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -918,6 +918,7 @@
|
|||
#define EXTMODULE_PULSES
|
||||
|
||||
#if defined(PCBXLITE) || defined(PCBX9LITE)
|
||||
#define HARDWARE_EXTERNAL_MODULE_SIZE_SML
|
||||
#define EXTMODULE_RCC_APB2Periph (RCC_APB2Periph_TIM8 | RCC_APB2Periph_USART6)
|
||||
#if defined(PCBX9LITE)
|
||||
#define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_DMA2)
|
||||
|
|
|
@ -254,6 +254,8 @@ const char STR_MONITOR_SWITCHES[] = TR_MONITOR_SWITCHES;
|
|||
const char STR_MONITOR_OUTPUT_DESC[] = TR_MONITOR_OUTPUT_DESC;
|
||||
const char STR_MONITOR_MIXER_DESC[] = TR_MONITOR_MIXER_DESC;
|
||||
const char STR_MENUGLOBALVARS[] = TR_MENUGLOBALVARS;
|
||||
const char STR_INTERNALRF[] = TR_INTERNALRF;
|
||||
const char STR_EXTERNALRF[] = TR_EXTERNALRF;
|
||||
const char STR_MODULE_TELEMETRY[] = TR_MODULE_TELEMETRY;
|
||||
const char STR_MODULE_TELEM_ON[] = TR_MODULE_TELEM_ON;
|
||||
const char STR_COUNTRYCODE[] = TR_COUNTRYCODE;
|
||||
|
@ -463,8 +465,10 @@ const char STR_CHANNELRANGE[] = TR_CHANNELRANGE;
|
|||
const char STR_ANTENNASELECTION[] = TR_ANTENNASELECTION;
|
||||
const char STR_ANTENNACONFIRM1[] = TR_ANTENNACONFIRM1;
|
||||
const char STR_ANTENNACONFIRM2[] = TR_ANTENNACONFIRM2;
|
||||
const char STR_R9MFLEXWARN1[] = TR_R9MFLEXWARN1;
|
||||
const char STR_R9MFLEXWARN2[] = TR_R9MFLEXWARN2;
|
||||
const char STR_R9M_PROTO_FLEX_WARN1[] = TR_R9M_PROTO_FLEX_WARN1;
|
||||
const char STR_R9M_PROTO_FCC_WARN1[] = TR_R9M_PROTO_FCC_WARN1;
|
||||
const char STR_R9M_PROTO_EU_WARN1[] = TR_R9M_PROTO_EU_WARN1;
|
||||
const char STR_R9M_PROTO_WARN2[] = TR_R9M_PROTO_WARN2;
|
||||
const char STR_SET[] = TR_SET;
|
||||
const char STR_PREFLIGHT[] = TR_PREFLIGHT;
|
||||
const char STR_CHECKLIST[] = TR_CHECKLIST;
|
||||
|
|
|
@ -414,6 +414,8 @@ extern const char STR_REG_OK[];
|
|||
extern const char STR_BIND_OK[];
|
||||
#endif
|
||||
|
||||
extern const char STR_INTERNALRF[];
|
||||
extern const char STR_EXTERNALRF[];
|
||||
extern const char STR_MODULE_TELEMETRY[];
|
||||
extern const char STR_MODULE_TELEM_ON[];
|
||||
extern const char STR_FAILSAFE[];
|
||||
|
@ -721,8 +723,10 @@ extern const char STR_CHANNELRANGE[];
|
|||
extern const char STR_ANTENNASELECTION[];
|
||||
extern const char STR_ANTENNACONFIRM1[];
|
||||
extern const char STR_ANTENNACONFIRM2[];
|
||||
extern const char STR_R9MFLEXWARN1[];
|
||||
extern const char STR_R9MFLEXWARN2[];
|
||||
extern const char STR_R9M_PROTO_FLEX_WARN1[];
|
||||
extern const char STR_R9M_PROTO_FCC_WARN1[];
|
||||
extern const char STR_R9M_PROTO_EU_WARN1[];
|
||||
extern const char STR_R9M_PROTO_WARN2[];
|
||||
extern const char STR_SET[];
|
||||
extern const char STR_PREFLIGHT[];
|
||||
extern const char STR_CHECKLIST[];
|
||||
|
|
|
@ -984,8 +984,10 @@
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Volba antény")
|
||||
#define TR_ANTENNACONFIRM1 "Opravdu přepnout?"
|
||||
#define TR_ANTENNACONFIRM2 TR("Zkont. anténu", "Ujisti se že je anténa připojena!")
|
||||
#define TR_R9MFLEXWARN1 "Potřebuje"
|
||||
#define TR_R9MFLEXWARN2 "necertifikovaný R9M firm."
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Potřebuje"
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "necertifikovaný R9M firm."
|
||||
#define TR_LOWALARM INDENT "Nízký Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Kritický Alarm"
|
||||
#define TR_RSSIALARM_WARN TR("RSSI","RSSI TELEMETRIE")
|
||||
|
|
|
@ -991,8 +991,10 @@
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenne auswählen")
|
||||
#define TR_ANTENNACONFIRM1 "Ant. umschalten"
|
||||
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Ist eine externe Antenne installiert?")
|
||||
#define TR_R9MFLEXWARN1 "Requires non"
|
||||
#define TR_R9MFLEXWARN2 "certified R9M firm."
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "certified firmware"
|
||||
#define TR_LOWALARM INDENT "Warnungsschwelle"
|
||||
#define TR_CRITICALALARM INDENT "Kritischer Alarm"
|
||||
#define TR_RSSIALARM_WARN "Telemetry"
|
||||
|
|
|
@ -990,8 +990,10 @@
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection"))
|
||||
#define TR_ANTENNACONFIRM1 "Really switch?"
|
||||
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
|
||||
#define TR_R9MFLEXWARN1 "Requires non"
|
||||
#define TR_R9MFLEXWARN2 "certified R9M firm."
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Requires FLEX non"
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "certified firmware"
|
||||
#define TR_LOWALARM INDENT "Low alarm"
|
||||
#define TR_CRITICALALARM INDENT "Critical alarm"
|
||||
#define TR_RSSIALARM_WARN "RSSI"
|
||||
|
|
|
@ -1006,8 +1006,10 @@
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection"))
|
||||
#define TR_ANTENNACONFIRM1 "Really switch?"
|
||||
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
|
||||
#define TR_R9MFLEXWARN1 "Requires non"
|
||||
#define TR_R9MFLEXWARN2 "certified R9M firm."
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "certified firmware"
|
||||
#define TR_LOWALARM INDENT "Alarma baja"
|
||||
#define TR_CRITICALALARM INDENT "Alarma Critica"
|
||||
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
|
||||
|
|
|
@ -999,8 +999,10 @@
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenna", TR(INDENT "Antenna", INDENT "Antenna selection"))
|
||||
#define TR_ANTENNACONFIRM1 "Really switch?"
|
||||
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
|
||||
#define TR_R9MFLEXWARN1 "Requires non"
|
||||
#define TR_R9MFLEXWARN2 "certified R9M firm."
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "certified firmware"
|
||||
#define TR_LOWALARM INDENT "Low Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Critical Alarm"
|
||||
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
|
||||
|
|
|
@ -1001,8 +1001,10 @@
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenne", INDENT "Choix antenne")
|
||||
#define TR_ANTENNACONFIRM1 "Vraiment changer?"
|
||||
#define TR_ANTENNACONFIRM2 TR("Vérif antenne", "Installer l'antenne d'abord!")
|
||||
#define TR_R9MFLEXWARN1 "Nécessite firm."
|
||||
#define TR_R9MFLEXWARN2 "R9M non certifié"
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Nécessite firm."
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "R9M non certifié"
|
||||
#define TR_LOWALARM INDENT "Alarme basse"
|
||||
#define TR_CRITICALALARM INDENT "Alarme critique"
|
||||
#define TR_RSSIALARM_WARN TR("RSSI", "TELEMETRIE")
|
||||
|
|
|
@ -1000,8 +1000,10 @@
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection")
|
||||
#define TR_ANTENNACONFIRM1 "Really switch?"
|
||||
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
|
||||
#define TR_R9MFLEXWARN1 "Requires non"
|
||||
#define TR_R9MFLEXWARN2 "certified R9M firm."
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "certified firmware"
|
||||
#define TR_LOWALARM INDENT "Allarme Basso"
|
||||
#define TR_CRITICALALARM INDENT "Allarme Critico"
|
||||
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
|
||||
|
|
|
@ -989,8 +989,10 @@ TR_GYR_VSRCRAW
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection")
|
||||
#define TR_ANTENNACONFIRM1 "Antennes wisselen?"
|
||||
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Is er zeker een antenne geplaatst!")
|
||||
#define TR_R9MFLEXWARN1 "Requires non"
|
||||
#define TR_R9MFLEXWARN2 "certified R9M firm."
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "certified firmware"
|
||||
#define TR_LOWALARM INDENT "Waarschuwing"
|
||||
#define TR_CRITICALALARM INDENT "Kritiek Alarm"
|
||||
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
|
||||
|
|
|
@ -1000,8 +1000,10 @@
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection")
|
||||
#define TR_ANTENNACONFIRM1 "Really switch?"
|
||||
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
|
||||
#define TR_R9MFLEXWARN1 "Requires non"
|
||||
#define TR_R9MFLEXWARN2 "certified R9M firm."
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "certified firmware"
|
||||
#define TR_LOWALARM INDENT "Alarm niski"
|
||||
#define TR_CRITICALALARM INDENT "Alarm krytyczny"
|
||||
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
|
||||
|
|
|
@ -990,8 +990,10 @@
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection")
|
||||
#define TR_ANTENNACONFIRM1 "Really switch?"
|
||||
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
|
||||
#define TR_R9MFLEXWARN1 "Requires non"
|
||||
#define TR_R9MFLEXWARN2 "certified R9M firm."
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "certified firmware"
|
||||
#define TR_LOWALARM INDENT "Low Alarm"
|
||||
#define TR_CRITICALALARM INDENT "Critical Alarm"
|
||||
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
|
||||
|
|
|
@ -1000,8 +1000,10 @@
|
|||
#define TR_ANTENNASELECTION TR(INDENT "Antenna", INDENT "Antenna selection")
|
||||
#define TR_ANTENNACONFIRM1 "Really switch?"
|
||||
#define TR_ANTENNACONFIRM2 TR("Check antenna", "Make sure antenna is installed!")
|
||||
#define TR_R9MFLEXWARN1 "Requires non"
|
||||
#define TR_R9MFLEXWARN2 "certified R9M firm."
|
||||
#define TR_R9M_PROTO_FLEX_WARN1 "Requires non"
|
||||
#define TR_R9M_PROTO_FCC_WARN1 "Requires FCC"
|
||||
#define TR_R9M_PROTO_EU_WARN1 "Requires EU"
|
||||
#define TR_R9M_PROTO_WARN2 "certified firmware"
|
||||
#define TR_LOWALARM INDENT "Låg-alarm"
|
||||
#define TR_CRITICALALARM INDENT "Kritiskt alarm"
|
||||
#define TR_RSSIALARM_WARN TR("RSSI","TELEMETRY RSSI")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue