mirror of
https://github.com/opentx/opentx.git
synced 2025-07-25 17:25:13 +03:00
Streamline multi interface (#7524)
This commit is contained in:
parent
07b096ff44
commit
9c632b582d
23 changed files with 147 additions and 36 deletions
|
@ -789,7 +789,7 @@ int getFirstAvailable(int min, int max, IsValueAvailable isValueAvailable)
|
|||
#if defined(MULTIMODULE)
|
||||
|
||||
// This maps OpenTX multi type with Pascal's Multi type
|
||||
uint8_t convertMultiProtocol(uint8_t moduleIdx, uint8_t type)
|
||||
uint8_t multiConvertOtxToMulti(uint8_t moduleIdx, uint8_t type)
|
||||
{
|
||||
|
||||
// 15 for Multimodule is FrskyX or D16 which we map as a subprotocol of 3 (FrSky)
|
||||
|
@ -818,6 +818,27 @@ uint8_t convertMultiProtocol(uint8_t moduleIdx, uint8_t type)
|
|||
return type;
|
||||
}
|
||||
|
||||
// This maps multi type to OpenTX number, type ONLY (no subtype)
|
||||
int convertMultiToOtx(int type)
|
||||
{
|
||||
if (type == 3) //FrSkyD
|
||||
return MODULE_SUBTYPE_MULTI_FRSKY;
|
||||
|
||||
if (type == 15) //FrSkyX
|
||||
return MODULE_SUBTYPE_MULTI_FRSKY;
|
||||
|
||||
if (type == 25) //FrSkyV
|
||||
return MODULE_SUBTYPE_MULTI_FRSKY;
|
||||
|
||||
if (type > 25)
|
||||
type = type - 1;
|
||||
|
||||
if (type > 15)
|
||||
type = type - 1;
|
||||
|
||||
return type - 1; //Multi list starts at 1
|
||||
}
|
||||
|
||||
// Third row is number of subtypes -1 (max valid subtype)
|
||||
#define NO_SUBTYPE nullptr
|
||||
|
||||
|
@ -866,6 +887,7 @@ const char STR_SUBTYPE_ZSX[] = "\007""280JJRC";
|
|||
const char STR_SUBTYPE_FLYZONE[] = "\005""FZ410";
|
||||
const char STR_SUBTYPE_FX816[] = "\003""P38";
|
||||
const char STR_SUBTYPE_ESKY150[] = "\003""4CH""7CH";
|
||||
const char STR_SUBTYPE_FRSKYL[] = "\010""LR12\0 ""LR12 6ch";
|
||||
|
||||
const char* mm_options_strings::options[] = {
|
||||
nullptr,
|
||||
|
@ -925,6 +947,8 @@ const mm_protocol_definition multi_protocols[] = {
|
|||
{MODULE_SUBTYPE_MULTI_FX816, 0, false, false, STR_SUBTYPE_FX816, nullptr},
|
||||
{MODULE_SUBTYPE_MULTI_HOTT, 0, true, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
|
||||
{MODULE_SUBTYPE_MULTI_FRSKYX2, 4, true, false, STR_SUBTYPE_FRSKYX2, STR_MULTI_RFTUNE},
|
||||
{MODULE_SUBTYPE_MULTI_PROPEL, 0, false, false, NO_SUBTYPE, nullptr},
|
||||
{MODULE_SUBTYPE_MULTI_FRSKYL, 1, false, false, STR_SUBTYPE_FRSKYL, STR_MULTI_RFTUNE},
|
||||
{MM_RF_CUSTOM_SELECTED, 7, true, true, NO_SUBTYPE, STR_MULTI_OPTION},
|
||||
|
||||
// Sentinel and default for protocols not listed above (MM_RF_CUSTOM is 0xff)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue