mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-21 07:15:09 +03:00
R9M ACCESS / ACCST refactoring
This commit is contained in:
parent
15c65a6c91
commit
d8dbe5abda
9 changed files with 32 additions and 43 deletions
|
@ -46,7 +46,7 @@ option(TRACE_LUA_INTERNALS "Turn on traces for Lua internals" OFF)
|
|||
option(FRSKY_STICKS "Reverse sticks for FrSky sticks" OFF)
|
||||
option(NANO "Use nano newlib and binalloc")
|
||||
option(NIGHTLY_BUILD_WARNING "Warn this is a nightly build" OFF)
|
||||
option(MODULE_R9M_FLEX "Add R9M options for non certified firmwwares" OFF)
|
||||
option(R9M_PROTO_FLEX "Add R9M options for non certified firmwwares" OFF)
|
||||
option(FRSKY_RELEASE "Used to build FrSky released firmware" OFF)
|
||||
|
||||
# since we reset all default CMAKE compiler flags for firmware builds, provide an alternate way for user to specify additional flags.
|
||||
|
@ -308,8 +308,8 @@ if(NIGHTLY_BUILD_WARNING)
|
|||
add_definitions(-DNIGHTLY_BUILD_WARNING)
|
||||
endif()
|
||||
|
||||
if(MODULE_R9M_FLEX)
|
||||
add_definitions(-DMODULE_R9M_FLEX)
|
||||
if(R9M_PROTO_FLEX)
|
||||
add_definitions(-DR9M_PROTO_FLEX)
|
||||
endif()
|
||||
|
||||
if(FRSKY_RELEASE)
|
||||
|
|
|
@ -1015,7 +1015,6 @@ void menuModelSetup(event_t event)
|
|||
|
||||
case ITEM_MODEL_SETUP_INTERNAL_MODULE_TYPE: {
|
||||
lcdDrawTextAlignedLeft(y, STR_MODE);
|
||||
#if defined(PXX1)
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MODULE_PROTOCOLS, g_model.moduleData[INTERNAL_MODULE].type, menuHorizontalPosition==0 ? attr : 0);
|
||||
if (isModuleXJT(INTERNAL_MODULE))
|
||||
lcdDrawTextAtIndex(lcdNextPos + 3, y, STR_ACCST_RF_PROTOCOLS, 1+g_model.moduleData[INTERNAL_MODULE].rfProtocol, menuHorizontalPosition==1 ? attr : 0);
|
||||
|
@ -1043,24 +1042,6 @@ void menuModelSetup(event_t event)
|
|||
g_model.moduleData[INTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].subType, 0, MODULE_SUBTYPE_ISRM_PXX2_LAST, EE_MODEL, isRfProtocolAvailable);
|
||||
}
|
||||
}
|
||||
#else
|
||||
uint8_t index = 0;
|
||||
if (g_model.moduleData[INTERNAL_MODULE].type == MODULE_TYPE_PXX2_ISRM) {
|
||||
index = 1 + g_model.moduleData[INTERNAL_MODULE].subType;
|
||||
}
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_ISRM_PXX2_RF_PROTOCOLS, index, attr);
|
||||
if (attr) {
|
||||
index = checkIncDec(event, index, 0, 3, EE_MODEL);
|
||||
if (checkIncDec_Ret) {
|
||||
memclear(&g_model.moduleData[INTERNAL_MODULE], sizeof(ModuleData));
|
||||
if (index > 0) {
|
||||
g_model.moduleData[INTERNAL_MODULE].type = MODULE_TYPE_PXX2_ISRM;
|
||||
g_model.moduleData[INTERNAL_MODULE].subType = index - 1;
|
||||
g_model.moduleData[INTERNAL_MODULE].channelsCount = defaultModuleChannels_M8(INTERNAL_MODULE);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
@ -1078,8 +1059,6 @@ void menuModelSetup(event_t event)
|
|||
case ITEM_MODEL_SETUP_EXTERNAL_MODULE_TYPE:
|
||||
lcdDrawTextAlignedLeft(y, STR_MODE);
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MODULE_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].type, menuHorizontalPosition==0 ? attr : 0);
|
||||
if (isModuleR9M2(EXTERNAL_MODULE))
|
||||
lcdDrawTextAtIndex(lcdNextPos + 3, y, STR_R9M_PXX2_RF_PROTOCOLS, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==1 ? attr : 0);
|
||||
if (isModuleXJT(EXTERNAL_MODULE))
|
||||
lcdDrawTextAtIndex(lcdNextPos + 3, y, STR_ACCST_RF_PROTOCOLS, 1+g_model.moduleData[EXTERNAL_MODULE].rfProtocol, menuHorizontalPosition==1 ? attr : 0);
|
||||
else if (isModuleDSM2(EXTERNAL_MODULE))
|
||||
|
@ -1117,8 +1096,6 @@ void menuModelSetup(event_t event)
|
|||
}
|
||||
break;
|
||||
case 1:
|
||||
if (isModuleR9M2(EXTERNAL_MODULE))
|
||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, MODULE_SUBTYPE_R9M_PXX2_LAST);
|
||||
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)) {
|
||||
|
|
|
@ -514,7 +514,7 @@ bool isSourceAvailableInResetSpecialFunction(int index)
|
|||
#if defined(PCBXLITE)
|
||||
bool isR9MModeAvailable(int mode)
|
||||
{
|
||||
#if defined(MODULE_R9M_FLEX)
|
||||
#if defined(R9M_PROTO_FLEX)
|
||||
return mode >= MODULE_SUBTYPE_R9M_EUPLUS;
|
||||
#else
|
||||
return mode <= MODULE_SUBTYPE_R9M_EU;
|
||||
|
@ -524,7 +524,7 @@ bool isR9MModeAvailable(int mode)
|
|||
#else
|
||||
bool isR9MModeAvailable(int mode)
|
||||
{
|
||||
#if defined(MODULE_R9M_FLEX)
|
||||
#if defined(R9M_PROTO_FLEX)
|
||||
return mode < MODULE_SUBTYPE_R9M_EUPLUS;
|
||||
#else
|
||||
return true;
|
||||
|
@ -611,7 +611,12 @@ bool isExternalModuleAvailable(int moduleType)
|
|||
return false;
|
||||
#endif
|
||||
|
||||
#if defined(FRSKY_RELEASE)
|
||||
#if !defined(XJT)
|
||||
if (moduleType == MODULE_TYPE_PXX1_XJT)
|
||||
return false;
|
||||
#endif
|
||||
|
||||
#if !defined(R9M_SIZE_STD)
|
||||
if (moduleType == MODULE_TYPE_PXX1_R9M)
|
||||
return false;
|
||||
#endif
|
||||
|
|
|
@ -37,7 +37,7 @@ enum ModuleSubtypeR9M_PXX2 {
|
|||
MODULE_SUBTYPE_R9M_PXX2_ACCESS,
|
||||
MODULE_SUBTYPE_R9M_PXX2_FCC,
|
||||
MODULE_SUBTYPE_R9M_PXX2_EU,
|
||||
#if defined(MODULE_R9M_FLEX)
|
||||
#if defined(R9M_PROTO_FLEX)
|
||||
MODULE_SUBTYPE_R9M_PXX2_FLEX,
|
||||
#endif
|
||||
MODULE_SUBTYPE_R9M_PXX2_COUNT,
|
||||
|
|
|
@ -155,7 +155,7 @@ inline bool isModuleRFAccess(uint8_t idx)
|
|||
return g_model.moduleData[idx].subType == MODULE_SUBTYPE_ISRM_PXX2_ACCESS;
|
||||
}
|
||||
else if (isModuleR9M2(idx)) {
|
||||
return g_model.moduleData[idx].subType == MODULE_SUBTYPE_R9M_PXX2_ACCESS;
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
|
|
|
@ -227,10 +227,7 @@ void Pxx2Pulses::setupAccstBindFrame(uint8_t module)
|
|||
for (uint8_t i=0; i<PXX2_LEN_RX_NAME; i++) {
|
||||
Pxx2Transport::addByte(0x00);
|
||||
}
|
||||
if (g_model.moduleData[module].type == MODULE_TYPE_PXX2_ISRM)
|
||||
Pxx2Transport::addByte((g_model.moduleData[module].pxx.receiver_telem_off << 7) + (g_model.moduleData[module].pxx.receiver_telem_off << 6));
|
||||
else
|
||||
Pxx2Transport::addByte(0x00);
|
||||
Pxx2Transport::addByte(g_model.header.modelId[module]);
|
||||
}
|
||||
|
||||
|
@ -357,10 +354,10 @@ void Pxx2Pulses::setupFrame(uint8_t module)
|
|||
setupRegisterFrame(module);
|
||||
break;
|
||||
case MODULE_MODE_BIND:
|
||||
if (g_model.moduleData[module].subType == MODULE_SUBTYPE_ISRM_PXX2_ACCESS || g_model.moduleData[module].subType == MODULE_SUBTYPE_R9M_PXX2_ACCESS)
|
||||
setupAccessBindFrame(module);
|
||||
else
|
||||
if (g_model.moduleData[module].type == MODULE_TYPE_PXX2_ISRM && g_model.moduleData[module].subType != MODULE_SUBTYPE_ISRM_PXX2_ACCESS)
|
||||
setupAccstBindFrame(module);
|
||||
else
|
||||
setupAccessBindFrame(module);
|
||||
break;
|
||||
case MODULE_MODE_RESET:
|
||||
setupResetFrame(module);
|
||||
|
|
|
@ -7,6 +7,8 @@ option(TRACE_SD_CARD "Traces SD enabled" OFF)
|
|||
option(TRACE_FATFS "Traces FatFS enabled" OFF)
|
||||
option(TRACE_AUDIO "Traces audio enabled" OFF)
|
||||
option(DEBUG_TRACE_BUFFER "Debug Trace Screen" OFF)
|
||||
option(XJT "XJT TX Module" ON)
|
||||
option(R9M_SIZE_STD "R9M standard size TX Module" ON)
|
||||
option(PPM "PPM TX Module" ON)
|
||||
option(DSM2 "DSM2 TX Module" ON)
|
||||
option(SBUS "SBUS TX Module" ON)
|
||||
|
@ -117,6 +119,14 @@ if(PXX2)
|
|||
)
|
||||
endif()
|
||||
|
||||
if(XJT)
|
||||
add_definitions(-DXJT)
|
||||
endif()
|
||||
|
||||
if(R9M_SIZE_STD)
|
||||
add_definitions(-DR9M_SIZE_STD)
|
||||
endif()
|
||||
|
||||
if(MULTIMODULE)
|
||||
add_definitions(-DMULTIMODULE)
|
||||
set(SRC ${SRC} pulses/multi.cpp telemetry/spektrum.cpp telemetry/flysky_ibus.cpp telemetry/multi.cpp)
|
||||
|
|
|
@ -82,9 +82,9 @@
|
|||
|
||||
#define TR_VSRCRAW "---\0" TR_STICKS_VSRCRAW TR_POTS_VSRCRAW TR_ROTARY_ENCODERS TR_GYR_VSRCRAW "MAX\0" TR_CYC_VSRCRAW TR_TRIMS_VSRCRAW TR_SW_VSRCRAW TR_EXTRA_VSRCRAW
|
||||
|
||||
#if defined(PXX1)
|
||||
#define LEN_MODULE_PROTOCOLS "\010"
|
||||
#define TR_MODULE_PROTOCOLS "OFF\0 ""PPM\0 ""XJT\0 ""ISRM\0 ""DSM2\0 ""CRSF\0 ""MULT\0 ""R9M\0 ""R9M2\0 ""R9MLite\0""R9ML2\0 ""R9MLP\0 ""SBUS"
|
||||
#if 1 // defined(PXX1)
|
||||
#define LEN_MODULE_PROTOCOLS "\014"
|
||||
#define TR_MODULE_PROTOCOLS "OFF\0 ""PPM\0 ""XJT\0 ""ISRM\0 ""DSM2\0 ""CRSF\0 ""MULT\0 ""R9M\0 ""R9M ACCESS\0 ""R9MLite\0 ""R9ML ACCESS\0""R9MLP ACCESS""SBUS"
|
||||
#else
|
||||
#define LEN_MODULE_PROTOCOLS "\010"
|
||||
#define TR_MODULE_PROTOCOLS "OFF\0 ""PPM\0 ""ACCST\0 ""ISRM\0 ""DSM2\0 ""CRSF\0 ""MULT\0 ""---\0 ""R9M\0 ""---\0 ""R9ML\0 ""R9MLP\0 ""SBUS\0"
|
||||
|
|
|
@ -41,7 +41,7 @@ options_sky9x = {
|
|||
"faichoice": ("FAI", "CHOICE", None),
|
||||
"nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"),
|
||||
"multimodule": ("MULTIMODULE", "YES", "NO"),
|
||||
"flexr9m": ("MODULE_R9M_FLEX", "YES", None)
|
||||
"flexr9m": ("R9M_PROTO_FLEX", "YES", None)
|
||||
}
|
||||
|
||||
options_ar9x = {
|
||||
|
@ -63,7 +63,7 @@ options_ar9x = {
|
|||
"nooverridech": ("OVERRIDE_CHANNEL_FUNCTION", "NO", "YES"),
|
||||
# "rtc": ("RTCLOCK", "YES", "NO"),
|
||||
"multimodule": ("MULTIMODULE", "YES", "NO"),
|
||||
"flexr9m": ("MODULE_R9M_FLEX", "YES", None)
|
||||
"flexr9m": ("R9M_PROTO_FLEX", "YES", None)
|
||||
}
|
||||
|
||||
options_taranis_x9d = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue