mirror of
https://github.com/opentx/opentx.git
synced 2025-07-23 16:25:16 +03:00
R9M continued
This commit is contained in:
parent
c490b1abae
commit
2415cd8588
6 changed files with 12 additions and 44 deletions
|
@ -435,7 +435,6 @@ PACK(struct ModuleData {
|
||||||
struct {
|
struct {
|
||||||
uint8_t failsafeMode:4; // only 3 bits used
|
uint8_t failsafeMode:4; // only 3 bits used
|
||||||
uint8_t freq:2;
|
uint8_t freq:2;
|
||||||
uint8_t region:2;
|
|
||||||
} r9m;
|
} r9m;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -187,7 +187,7 @@ enum MenuModelSetupItems {
|
||||||
|
|
||||||
|
|
||||||
#define EXTERNAL_MODULE_MODE_ROWS (isModuleXJT(EXTERNAL_MODULE) || isModuleR9M(EXTERNAL_MODULE) || isModuleDSM2(EXTERNAL_MODULE) || isModuleMultimodule(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0
|
#define EXTERNAL_MODULE_MODE_ROWS (isModuleXJT(EXTERNAL_MODULE) || isModuleR9M(EXTERNAL_MODULE) || isModuleDSM2(EXTERNAL_MODULE) || isModuleMultimodule(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0
|
||||||
#define EXTERNAL_MODULE_FREQ_ROW isR9MMFlex(EXTERNAL_MODULE) ? (uint8_t)1: (uint8_t)HIDDEN_ROW,
|
#define EXTERNAL_MODULE_FREQ_ROW (isModuleR9M_EUPLUS(EXTERNAL_MODULE) || isModuleR9M_AU_PLUS(EXTERNAL_MODULE)) ? (uint8_t)1: (uint8_t)HIDDEN_ROW,
|
||||||
|
|
||||||
|
|
||||||
#define CURSOR_ON_CELL (true)
|
#define CURSOR_ON_CELL (true)
|
||||||
|
|
|
@ -530,13 +530,13 @@ bool isR9MModeAvailable(int mode)
|
||||||
#else
|
#else
|
||||||
bool isR9MModeAvailable(int mode)
|
bool isR9MModeAvailable(int mode)
|
||||||
{
|
{
|
||||||
return mode <= MODULE_SUBTYPE_R9M_EUPLUS;
|
#if defined(MODULE_R9M_FLEX_FW)
|
||||||
|
return mode < MODULE_SUBTYPE_R9M_EUPLUS;
|
||||||
|
#else
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
bool isR9MMFlex(int module)
|
|
||||||
{
|
|
||||||
return g_model.moduleData[module].r9m.region == MODULE_R9M_REGION_FLEX;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool isPXX2ChannelsCountAllowed(int channels)
|
bool isPXX2ChannelsCountAllowed(int channels)
|
||||||
{
|
{
|
||||||
|
|
|
@ -54,7 +54,6 @@ bool isSwitchAvailableInCustomFunctions(int swtch);
|
||||||
bool isSwitchAvailableInMixes(int swtch);
|
bool isSwitchAvailableInMixes(int swtch);
|
||||||
bool isSwitchAvailableInTimers(int swtch);
|
bool isSwitchAvailableInTimers(int swtch);
|
||||||
bool isR9MModeAvailable(int mode);
|
bool isR9MModeAvailable(int mode);
|
||||||
bool isR9MMFlex(int module);
|
|
||||||
bool isPXX2ChannelsCountAllowed(int channels);
|
bool isPXX2ChannelsCountAllowed(int channels);
|
||||||
bool isExternalModuleAvailable(int moduleType);
|
bool isExternalModuleAvailable(int moduleType);
|
||||||
bool isInternalModuleAvailable(int module);
|
bool isInternalModuleAvailable(int module);
|
||||||
|
@ -159,11 +158,7 @@ const mm_protocol_definition *getMultiProtocolDefinition (uint8_t protocol);
|
||||||
|
|
||||||
#define FAILSAFE_ROWS(x) ((isModuleXJTVariant(x) && HAS_RF_PROTOCOL_FAILSAFE(g_model.moduleData[x].rfProtocol)) || MULTIMODULE_HASFAILSAFE(x) || isModuleR9M(x) || isModuleR9M2(x)) ? (g_model.moduleData[x].failsafeMode==FAILSAFE_CUSTOM ? (uint8_t)1 : (uint8_t)0) : HIDDEN_ROW
|
#define FAILSAFE_ROWS(x) ((isModuleXJTVariant(x) && HAS_RF_PROTOCOL_FAILSAFE(g_model.moduleData[x].rfProtocol)) || MULTIMODULE_HASFAILSAFE(x) || isModuleR9M(x) || isModuleR9M2(x)) ? (g_model.moduleData[x].failsafeMode==FAILSAFE_CUSTOM ? (uint8_t)1 : (uint8_t)0) : HIDDEN_ROW
|
||||||
|
|
||||||
#if defined(PCBXLITE)
|
#define EXTERNAL_MODULE_OPTION_ROW (isModuleR9M(EXTERNAL_MODULE) || isModuleSBUS(EXTERNAL_MODULE) ? TITLE_ROW : MULTIMODULE_OPTIONS_ROW)
|
||||||
#define EXTERNAL_MODULE_OPTION_ROW (isModuleR9M(EXTERNAL_MODULE) || isModuleSBUS(EXTERNAL_MODULE) ? TITLE_ROW : MULTIMODULE_OPTIONS_ROW)
|
|
||||||
#else
|
|
||||||
#define EXTERNAL_MODULE_OPTION_ROW (isModuleR9M(EXTERNAL_MODULE) || isModuleSBUS(EXTERNAL_MODULE) ? TITLE_ROW : MULTIMODULE_OPTIONS_ROW)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(PCBXLITE) && !defined(MODULE_R9M_FULLSIZE)
|
#if defined(PCBXLITE) && !defined(MODULE_R9M_FULLSIZE)
|
||||||
#define EXTERNAL_MODULE_POWER_ROW (isModuleMultimodule(EXTERNAL_MODULE) || isModuleR9M(EXTERNAL_MODULE)) ? (isModuleR9M_FCC_VARIANT(EXTERNAL_MODULE) ? TITLE_ROW : (uint8_t) 0) : HIDDEN_ROW
|
#define EXTERNAL_MODULE_POWER_ROW (isModuleMultimodule(EXTERNAL_MODULE) || isModuleR9M(EXTERNAL_MODULE)) ? (isModuleR9M_FCC_VARIANT(EXTERNAL_MODULE) ? TITLE_ROW : (uint8_t) 0) : HIDDEN_ROW
|
||||||
|
|
|
@ -112,7 +112,7 @@ inline bool isModuleR9M2(uint8_t idx)
|
||||||
return g_model.moduleData[idx].type == MODULE_TYPE_R9M2 || g_model.moduleData[idx].type == MODULE_TYPE_R9M_LITE2 || g_model.moduleData[idx].type == MODULE_TYPE_R9M_LITE_PRO2;
|
return g_model.moduleData[idx].type == MODULE_TYPE_R9M2 || g_model.moduleData[idx].type == MODULE_TYPE_R9M_LITE2 || g_model.moduleData[idx].type == MODULE_TYPE_R9M_LITE_PRO2;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(PCBXLITE)
|
|
||||||
inline bool isModuleR9M_FCC(uint8_t idx)
|
inline bool isModuleR9M_FCC(uint8_t idx)
|
||||||
{
|
{
|
||||||
return isModuleR9M(idx) && g_model.moduleData[idx].subType == MODULE_SUBTYPE_R9M_FCC;
|
return isModuleR9M(idx) && g_model.moduleData[idx].subType == MODULE_SUBTYPE_R9M_FCC;
|
||||||
|
@ -130,39 +130,13 @@ inline bool isModuleR9M_FCC_VARIANT(uint8_t idx)
|
||||||
|
|
||||||
inline bool isModuleR9M_EUPLUS(uint8_t idx)
|
inline bool isModuleR9M_EUPLUS(uint8_t idx)
|
||||||
{
|
{
|
||||||
return isModuleR9M(idx) && g_model.moduleData[idx].subType != MODULE_SUBTYPE_R9M_EUPLUS;
|
return isModuleR9M(idx) && g_model.moduleData[idx].subType == MODULE_SUBTYPE_R9M_EUPLUS;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool isModuleR9M_AU_PLUS(uint8_t idx)
|
inline bool isModuleR9M_AU_PLUS(uint8_t idx)
|
||||||
{
|
{
|
||||||
return isModuleR9M(idx) && g_model.moduleData[idx].subType != MODULE_SUBTYPE_R9M_AUPLUS;
|
return isModuleR9M(idx) && g_model.moduleData[idx].subType == MODULE_SUBTYPE_R9M_AUPLUS;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
inline bool isModuleR9M_FCC(uint8_t idx)
|
|
||||||
{
|
|
||||||
return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region == MODULE_R9M_REGION_FCC;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool isModuleR9M_LBT(uint8_t idx)
|
|
||||||
{
|
|
||||||
return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region == MODULE_R9M_REGION_EU;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool isModuleR9M_FCC_VARIANT(uint8_t idx)
|
|
||||||
{
|
|
||||||
return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region != MODULE_R9M_REGION_EU;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool isModuleR9M_EUPLUS(uint8_t idx)
|
|
||||||
{
|
|
||||||
return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region == MODULE_R9M_REGION_FLEX && g_model.moduleData[idx].r9m.freq == MODULE_R9M_FREQ_868MHZ;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool isModuleR9M_AU_PLUS(uint8_t idx)
|
|
||||||
{
|
|
||||||
return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region == MODULE_R9M_REGION_FLEX && g_model.moduleData[idx].r9m.freq == MODULE_R9M_FREQ_915MHZ;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
inline bool isModulePXX(uint8_t idx)
|
inline bool isModulePXX(uint8_t idx)
|
||||||
{
|
{
|
||||||
|
|
|
@ -352,8 +352,8 @@ enum R9MLBTPowerValues {
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define LEN_R9M_REGION "\004"
|
#define LEN_R9M_REGION "\006"
|
||||||
#define TR_R9M_REGION "FCC\0""EU\0 ""FLEX"
|
#define TR_R9M_REGION "FCC\0""EU\0 ""868MHz""915MHz"
|
||||||
#define LEN_R9MFLEX_FREQ "\006"
|
#define LEN_R9MFLEX_FREQ "\006"
|
||||||
#define TR_R9MFLEX_FREQ "868Mhz""915Mhz"
|
#define TR_R9MFLEX_FREQ "868Mhz""915Mhz"
|
||||||
#define LEN_R9M_FCC_POWER_VALUES "\006"
|
#define LEN_R9M_FCC_POWER_VALUES "\006"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue