From 787a37dd6e946cd44a0682418e06450cb3282920 Mon Sep 17 00:00:00 2001 From: Peter Feerick Date: Thu, 14 Aug 2025 01:15:40 +0000 Subject: [PATCH 1/3] chore: refresh MPM defs to 1.3.4.31 --- radio/src/MultiProtoDefs.h | 17 ++++++-- radio/src/MultiSubtypeDefs.h | 84 ++++++++++++++++++++---------------- 2 files changed, 60 insertions(+), 41 deletions(-) diff --git a/radio/src/MultiProtoDefs.h b/radio/src/MultiProtoDefs.h index 095f806af16..d27b641da71 100644 --- a/radio/src/MultiProtoDefs.h +++ b/radio/src/MultiProtoDefs.h @@ -20,7 +20,7 @@ */ // -// Data based on MPM firmware version 1.3.3.33 multi.txt +// Data based on MPM firmware version 1.3.4.31 multi.txt // #if defined(MULTIMODULE) or defined(SIMU) @@ -92,7 +92,7 @@ enum ModuleSubtypeMulti { MODULE_SUBTYPE_MULTI_FX, MODULE_SUBTYPE_MULTI_BAYANG_RX, MODULE_SUBTYPE_MULTI_PELIKAN, - MODULE_SUBTYPE_MULTI_TIGER, //60 + MODULE_SUBTYPE_MULTI_EAZYRC, //60 MODULE_SUBTYPE_MULTI_XK, MODULE_SUBTYPE_MULTI_XN297DUMP, MODULE_SUBTYPE_MULTI_FRSKYX2, @@ -126,6 +126,14 @@ enum ModuleSubtypeMulti { MODULE_SUBTYPE_MULTI_MT99XX2, MODULE_SUBTYPE_MULTI_KYOSHO2, MODULE_SUBTYPE_MULTI_SCORPIO, + MODULE_SUBTYPE_MULTI_BLUEFLY, + MODULE_SUBTYPE_MULTI_BUMBLEB, //95 + MODULE_SUBTYPE_MULTI_SGF22, + MODULE_SUBTYPE_MULTI_KYOSHO3, + MODULE_SUBTYPE_MULTI_XK2, + MODULE_SUBTYPE_MULTI_YUXIANG, + MODULE_SUBTYPE_MULTI_JIABAILE, //100 + MODULE_SUBTYPE_MULTI_H36, // // spare entries - don't touch, // just add to known protocols @@ -161,10 +169,11 @@ enum ModuleSubtypeMulti { "Q303","GW008","DM002","Cabell","Esky150","H8 3D","Corona","CFlie","Hitec","WFLY",\ "Bugs","BugMini","Traxxas","NCC1701","E01X","V911S","GD00X","V761","KF606","Redpine",\ "Potensi","ZSX","Height","Scanner","FrSkyRX","FS2A_RX","HoTT","FX","BayanRX","Pelikan",\ - "Tiger", "XK","XN297DU","FrSkyX2","FrSkyR9","Propel","FrSky L","Skyartc","ESkyV2","DSM_RX",\ + "EazyRC", "XK","XN297DU","FrSkyX2","FrSkyR9","Propel","FrSky L","Skyartc","ESkyV2","DSM_RX",\ "JJRC345","Q90C","Kyosho","RadLink","ExpLRS","Realacc","OMP","M-Link","WFLY2","E016Hv2",\ "E010r5","LOLI","E129","JOYSWAY","E016H","Config","IKEA","WILLIFM","Losi","MouldKg",\ - "Xerall","MT99XX2", "Kyosho2", "Scorpio" + "Xerall","MT99XX2","Kyosho2","Scorpio","BlueFly","BumbleB","SGF22","Kyosho3","XK2", \ + "Yuxiang","Jiabaile","H36" #define SPARE_PROTO_NAMES \ "NN 1","NN 2","NN 3","NN 4","NN 5","NN 6","NN 7","NN 8","NN 9","NN 10" #define SPARE_SUBTYPE_NAMES \ diff --git a/radio/src/MultiSubtypeDefs.h b/radio/src/MultiSubtypeDefs.h index 0bf29a3d7fc..e8f6ba41acd 100644 --- a/radio/src/MultiSubtypeDefs.h +++ b/radio/src/MultiSubtypeDefs.h @@ -20,7 +20,7 @@ */ // -// Data based on MPM firmware version 1.3.3.33 multi.txt +// Data based on MPM firmware version 1.3.4.31 multi.txt // #if defined(MULTIMODULE) or defined(SIMU) @@ -96,12 +96,12 @@ STRLIST(STR_SUBTYPE_FRSKYD, {"D8","Cloned"}) STRLIST(STR_SUBTYPE_FRSKYX, {"D16","D16 8ch","LBT(EU)","LBT 8ch","Cloned", "Cloned 8ch"}) STRLIST(STR_SUBTYPE_HISKY, {"Std","HK310"}) STRLIST(STR_SUBTYPE_V2X2, {"Std","JXD506","MR101"}) -STRLIST(STR_SUBTYPE_DSM, {"2 1F","2 2F","X 1F","X 2F","Auto","R 1F"}) +STRLIST(STR_SUBTYPE_DSM, {"2 1F","2 2F","X 1F","X 2F","Auto","R 1F","R","SFC"}) STRLIST(STR_SUBTYPE_DEVO, {"8ch","10ch","12ch","6ch","7ch"}) STRLIST(STR_SUBTYPE_YD717, {"Std","SkyWlkr","Syma X4","XINXUN","NIHUI"}) STRLIST(STR_SUBTYPE_KN, {"WLtoys","FeiLun"}) STRLIST(STR_SUBTYPE_SYMAX, {"Std","X5C"}) -STRLIST(STR_SUBTYPE_SLT, {"V1_6ch","V2_8ch","Q100","Q200","MR100"}) +STRLIST(STR_SUBTYPE_SLT, {"V1_6ch","V2_8ch","Q100","Q200","MR100","V1_4ch","RF Sim"}) STRLIST(STR_SUBTYPE_CX10, {"Green","Blue","DM007","-","JC3015a","JC3015b","MK33041"}) STRLIST(STR_SUBTYPE_CG023, {"Std","YD829"}) STRLIST(STR_SUBTYPE_BAYANG, {"Std","H8S3D","X16 AH","IRDrone","DHD D4","QX100"}) @@ -110,7 +110,7 @@ STRLIST(STR_SUBTYPE_MT99, {"MT99","H7","YZ","LS","FY805","A180","Dragon","F STRLIST(STR_SUBTYPE_MJXQ, {"WLH08","X600","X800","H26D","E010","H26WH","Phoenix"}) STRLIST(STR_SUBTYPE_FY326, {"Std","FY319"}) STRLIST(STR_SUBTYPE_FUTABA, {"SFHSS"}) -STRLIST(STR_SUBTYPE_HONTAI, {"Std","JJRC X1","X5C1","FQ_951"}) +STRLIST(STR_SUBTYPE_HONTAI, {"Std","JJRC X1","X5C1","FQ_951","XKK170"}) STRLIST(STR_SUBTYPE_AFHDS2A, {"PWM,IBUS","PPM,IBUS","PWM,SBUS","PPM,SBUS","PWM,IB16","PPM,IB16","PWM,SB16","PPM,SB16"}) STRLIST(STR_SUBTYPE_Q2X2, {"Q222","Q242","Q282"}) STRLIST(STR_SUBTYPE_WK2x01, {"WK2801","WK2401","W6_5_1","W6_6_1","W6_HeL","W6_HeI"}) @@ -122,7 +122,7 @@ STRLIST(STR_SUBTYPE_CORONA, {"V1","V2","FD V3"}) STRLIST(STR_SUBTYPE_HITEC, {"Optima","Opt Hub","Minima"}) STRLIST(STR_SUBTYPE_WFLY, {"WFR0x"}) STRLIST(STR_SUBTYPE_BUGS_MINI, {"Std","Bugs3H"}) -STRLIST(STR_SUBTYPE_TRAXXAS, {"6519"}) +STRLIST(STR_SUBTYPE_TRAXXAS, {"TQ"}) STRLIST(STR_SUBTYPE_E01X, {"E012","E015"}) STRLIST(STR_SUBTYPE_V911S, {"Std","E119"}) STRLIST(STR_SUBTYPE_GD00X, {"GD_V1","GD_V2"}) @@ -134,9 +134,9 @@ STRLIST(STR_SUBTYPE_ZSX, {"280JJRC"}) STRLIST(STR_SUBTYPE_HEIGHT, {"5ch","8ch"}) STRLIST(STR_SUBTYPE_FRSKYX_RX, {"Multi","CloneTX","EraseTX","CPPM"}) STRLIST(STR_SUBTYPE_HOTT, {"Sync","No_Sync"}) -STRLIST(STR_SUBTYPE_FX, {"816","620","9630"}) +STRLIST(STR_SUBTYPE_FX, {"816","620","9630","Q560"}) STRLIST(STR_SUBTYPE_PELIKAN, {"Pro","Lite","SCX24"}) -STRLIST(STR_SUBTYPE_XK, {"X450","X420"}) +STRLIST(STR_SUBTYPE_XK, {"X450","X420","Cars"}) STRLIST(STR_SUBTYPE_XN297DUMP, {"250K","1M","2M","AUTO","NRF","CC2500"}) STRLIST(STR_SUBTYPE_FRSKYR9, {"915MHz","868MHz","915 8ch","868 8ch","FCC","--","FCC 8ch","-- 8ch"}) STRLIST(STR_SUBTYPE_PROPEL, {"74-Z"}) @@ -145,15 +145,17 @@ STRLIST(STR_SUBTYPE_ESKY150V2, {"150 V2"}) STRLIST(STR_SUBTYPE_JJRC345, {"Std","SkyTmbr"}) STRLIST(STR_SUBTYPE_KYOSHO, {"FHSS","Hype"}) STRLIST(STR_SUBTYPE_KYOSHO2, {"KT-17"}) -STRLIST(STR_SUBTYPE_RLINK, {"Surface","Air","DumboRC"}) +STRLIST(STR_SUBTYPE_RLINK, {"Surface","Air","DumboRC","RC4G"}) STRLIST(STR_SUBTYPE_ELRS, {"N/A WIP"}) -STRLIST(STR_SUBTYPE_REALACC, {"R11"}) STRLIST(STR_SUBTYPE_WFLY2, {"RF20x"}) STRLIST(STR_SUBTYPE_MOULDKG, {"Analog","Digital"}) -STRLIST(STR_SUBTYPE_MT992, {"PA18"}) +STRLIST(STR_SUBTYPE_MT992, {"PA18","SU35"}) STRLIST(STR_SUBTYPE_RX, {"Multi","CPPM"}) STRLIST(STR_SUBTYPE_DSM_RX, {"Multi","CloneTX","EraseTX","CPPM"}) STRLIST(STR_SUBTYPE_E129, {"STD","C186"}) +STRLIST(STR_SUBTYPE_SGF22, {"F22","F22S","J20"}) +STRLIST(STR_SUBTYPE_XK2, {"X4","P10"}) +STRLIST(STR_SUBTYPE_JIABAILE, {"STD","GYRO"}) // // Generic subtypes for future use protocols - don't touch @@ -162,7 +164,7 @@ STRLIST(STR_SUBTYPE_NN, { SPARE_SUBTYPE_NAMES }) // // Common data structure defining Multi protocol capabilites, i.e. number of subtypes, -// failsafe support yes/no, channel map disabled yes/no, reference to the suptype options strings above +// failsafe support yes/no, channel map disabled yes/no, reference to the subtype options strings above // and further protocol options, e.g. RF tune, video frequency. // PROTODEF ({ @@ -171,12 +173,12 @@ PROTODEF ({ {MODULE_SUBTYPE_MULTI_FRSKY, 1, false, false, STR_SUBTYPE_FRSKYD, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_HISKY, 1, true, true, STR_SUBTYPE_HISKY, nullptr}, {MODULE_SUBTYPE_MULTI_V2X2, 2, false, false, STR_SUBTYPE_V2X2, nullptr}, - {MODULE_SUBTYPE_MULTI_DSM2, 5, false, true, STR_SUBTYPE_DSM, STR_DEF(STR_MULTI_MAX_THROW)}, + {MODULE_SUBTYPE_MULTI_DSM2, 7, false, true, STR_SUBTYPE_DSM, STR_DEF(STR_MULTI_MAX_THROW)}, {MODULE_SUBTYPE_MULTI_DEVO, 4, true, true, STR_SUBTYPE_DEVO, STR_DEF(STR_MULTI_FIXEDID)}, {MODULE_SUBTYPE_MULTI_YD717, 4, false, false, STR_SUBTYPE_YD717, nullptr}, {MODULE_SUBTYPE_MULTI_KN, 1, false, false, STR_SUBTYPE_KN, nullptr}, {MODULE_SUBTYPE_MULTI_SYMAX, 1, false, false, STR_SUBTYPE_SYMAX, nullptr}, - {MODULE_SUBTYPE_MULTI_SLT, 4, false, true, STR_SUBTYPE_SLT, STR_DEF(STR_MULTI_RFTUNE)}, + {MODULE_SUBTYPE_MULTI_SLT, 6, false, true, STR_SUBTYPE_SLT, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_CX10, 6, false, false, STR_SUBTYPE_CX10, nullptr}, {MODULE_SUBTYPE_MULTI_CG023, 1, false, false, STR_SUBTYPE_CG023, nullptr}, {MODULE_SUBTYPE_MULTI_BAYANG, 5, false, false, STR_SUBTYPE_BAYANG, STR_DEF(STR_MULTI_TELEMETRY)}, @@ -184,21 +186,21 @@ PROTODEF ({ {MODULE_SUBTYPE_MULTI_ESky, 1, false, true, STR_SUBTYPE_ESky, nullptr}, {MODULE_SUBTYPE_MULTI_MT99XX, 7, false, false, STR_SUBTYPE_MT99, nullptr}, {MODULE_SUBTYPE_MULTI_MJXQ, 6, false, false, STR_SUBTYPE_MJXQ, nullptr}, - {MODULE_SUBTYPE_MULTI_SHENQI, 0, false, false, NO_SUBTYPE, nullptr}, //new + {MODULE_SUBTYPE_MULTI_SHENQI, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_FY326, 1, false, false, STR_SUBTYPE_FY326, nullptr}, {MODULE_SUBTYPE_MULTI_FUTABA, 0, true, true, STR_SUBTYPE_FUTABA, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_J6PRO, 0, false, true, NO_SUBTYPE, nullptr}, - {MODULE_SUBTYPE_MULTI_FQ777, 0, false, false, NO_SUBTYPE, nullptr}, //new - {MODULE_SUBTYPE_MULTI_ASSAN, 0, false, false, NO_SUBTYPE, nullptr}, //new + {MODULE_SUBTYPE_MULTI_FQ777, 0, false, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_ASSAN, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_FRSKYV, 0, false, false, NO_SUBTYPE, STR_DEF(STR_MULTI_RFTUNE)}, - {MODULE_SUBTYPE_MULTI_HONTAI, 3, false, false, STR_SUBTYPE_HONTAI, nullptr}, + {MODULE_SUBTYPE_MULTI_HONTAI, 4, false, false, STR_SUBTYPE_HONTAI, nullptr}, // MODULE_SUBTYPE_MULTI_OLRS non selectable and masked out for selection {MODULE_SUBTYPE_MULTI_FS_AFHDS2A, 7, true, true, STR_SUBTYPE_AFHDS2A, STR_DEF(STR_MULTI_SERVOFREQ)}, {MODULE_SUBTYPE_MULTI_Q2X2, 2, false, false, STR_SUBTYPE_Q2X2, nullptr}, {MODULE_SUBTYPE_MULTI_WK_2X01, 5, true, true, STR_SUBTYPE_WK2x01, nullptr}, {MODULE_SUBTYPE_MULTI_Q303, 3, false, false, STR_SUBTYPE_Q303, nullptr}, - {MODULE_SUBTYPE_MULTI_GW008, 0, false, false, NO_SUBTYPE, nullptr}, //new - {MODULE_SUBTYPE_MULTI_DM002, 0, false, false, NO_SUBTYPE, nullptr}, //new + {MODULE_SUBTYPE_MULTI_GW008, 0, false, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_DM002, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_CABELL, 7, false, false, STR_SUBTYPE_CABELL, STR_DEF(STR_MULTI_OPTION)}, {MODULE_SUBTYPE_MULTI_ESKY150, 1, false, false, STR_SUBTYPE_ESKY150, nullptr}, {MODULE_SUBTYPE_MULTI_H83D, 3, false, false, STR_SUBTYPE_H83D, nullptr}, @@ -206,10 +208,10 @@ PROTODEF ({ // MODULE_SUBTYPE_MULTI_CFLIE non selectable and masked out for selection {MODULE_SUBTYPE_MULTI_HITEC, 2, false, false, STR_SUBTYPE_HITEC, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_WFLY, 0, true, false, STR_SUBTYPE_WFLY, nullptr}, - {MODULE_SUBTYPE_MULTI_BUGS, 0, false, false, NO_SUBTYPE, nullptr}, //new + {MODULE_SUBTYPE_MULTI_BUGS, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_BUGS_MINI, 1, false, false, STR_SUBTYPE_BUGS_MINI, nullptr}, {MODULE_SUBTYPE_MULTI_TRAXXAS, 0, false, false, STR_SUBTYPE_TRAXXAS, nullptr}, - {MODULE_SUBTYPE_MULTI_NCC1701, 0, false, false, NO_SUBTYPE, nullptr}, //new + {MODULE_SUBTYPE_MULTI_NCC1701, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_E01X, 1, false, false, STR_SUBTYPE_E01X, nullptr}, {MODULE_SUBTYPE_MULTI_V911S, 1, false, false, STR_SUBTYPE_V911S, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_GD00X, 1, false, false, STR_SUBTYPE_GD00X, STR_DEF(STR_MULTI_RFTUNE)}, @@ -221,13 +223,13 @@ PROTODEF ({ {MODULE_SUBTYPE_MULTI_HEIGHT, 1, false, false, STR_SUBTYPE_HEIGHT, nullptr}, // MODULE_SUBTYPE_MULTI_SCANNER non selectable and masked out for selection {MODULE_SUBTYPE_MULTI_FRSKYX_RX, 3, false, false, STR_SUBTYPE_FRSKYX_RX, STR_DEF(STR_MULTI_RFTUNE)}, - {MODULE_SUBTYPE_MULTI_AFHDS2A_RX, 1, false, false, STR_SUBTYPE_RX, nullptr}, //new + {MODULE_SUBTYPE_MULTI_AFHDS2A_RX, 1, false, false, STR_SUBTYPE_RX, nullptr}, {MODULE_SUBTYPE_MULTI_HOTT, 1, true, false, STR_SUBTYPE_HOTT, STR_DEF(STR_MULTI_RFTUNE)}, - {MODULE_SUBTYPE_MULTI_FX, 2, false, false, STR_SUBTYPE_FX, nullptr}, - {MODULE_SUBTYPE_MULTI_BAYANG_RX, 1, false, false, STR_SUBTYPE_RX, nullptr}, //new + {MODULE_SUBTYPE_MULTI_FX, 3, false, false, STR_SUBTYPE_FX, nullptr}, + {MODULE_SUBTYPE_MULTI_BAYANG_RX, 1, false, false, STR_SUBTYPE_RX, nullptr}, {MODULE_SUBTYPE_MULTI_PELIKAN, 2, false, true, STR_SUBTYPE_PELIKAN, nullptr}, - {MODULE_SUBTYPE_MULTI_TIGER, 0, false, false, NO_SUBTYPE, nullptr}, //new - {MODULE_SUBTYPE_MULTI_XK, 1, false, false, STR_SUBTYPE_XK, STR_DEF(STR_MULTI_RFTUNE)}, + {MODULE_SUBTYPE_MULTI_EAZYRC, 0, false, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_XK, 2, false, false, STR_SUBTYPE_XK, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_XN297DUMP, 5, false, false, STR_SUBTYPE_XN297DUMP, STR_DEF(STR_MULTI_RFCHAN)}, {MODULE_SUBTYPE_MULTI_FRSKYX2, 5, true, false, STR_SUBTYPE_FRSKYX, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_FRSKY_R9, 7, true, false, STR_SUBTYPE_FRSKYR9, nullptr}, @@ -235,31 +237,39 @@ PROTODEF ({ {MODULE_SUBTYPE_MULTI_FRSKYL, 1, false, false, STR_SUBTYPE_FRSKYL, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_SKYARTEC, 0, false, true, NO_SUBTYPE, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_ESKY150V2, 0, false, true, STR_SUBTYPE_ESKY150V2, STR_DEF(STR_MULTI_RFTUNE)}, - {MODULE_SUBTYPE_MULTI_DSM_RX, 3, false, true, STR_SUBTYPE_DSM_RX, nullptr}, //new + {MODULE_SUBTYPE_MULTI_DSM_RX, 3, false, true, STR_SUBTYPE_DSM_RX, nullptr}, {MODULE_SUBTYPE_MULTI_JJRC345, 1, false, false, STR_SUBTYPE_JJRC345, nullptr}, {MODULE_SUBTYPE_MULTI_Q90C, 0, false, false, NO_SUBTYPE, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_KYOSHO, 1, false, true, STR_SUBTYPE_KYOSHO, nullptr}, - {MODULE_SUBTYPE_MULTI_RLINK, 2, false, false, STR_SUBTYPE_RLINK, STR_DEF(STR_MULTI_RFTUNE)}, + {MODULE_SUBTYPE_MULTI_RLINK, 3, false, false, STR_SUBTYPE_RLINK, STR_DEF(STR_MULTI_RFTUNE)}, // MODULE_SUBTYPE_MULTI_ELRS non selectable and masked out for selection - {MODULE_SUBTYPE_MULTI_REALACC, 0, false, false, STR_SUBTYPE_REALACC, nullptr}, + {MODULE_SUBTYPE_MULTI_REALACC, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_OMP, 0, false, false, NO_SUBTYPE, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_MLINK, 0, true, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_WFLY2, 0, true, false, STR_SUBTYPE_WFLY2, STR_DEF(STR_MULTI_OPTION)}, {MODULE_SUBTYPE_MULTI_E016HV2, 0, false, false, NO_SUBTYPE, STR_DEF(STR_MULTI_RFTUNE)}, - {MODULE_SUBTYPE_MULTI_E010R5, 0, false, false, NO_SUBTYPE, nullptr}, //new + {MODULE_SUBTYPE_MULTI_E010R5, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_LOLI, 0, true, false, NO_SUBTYPE, nullptr}, - {MODULE_SUBTYPE_MULTI_E129, 1, false, false, STR_SUBTYPE_E129, nullptr}, //new - {MODULE_SUBTYPE_MULTI_JOYSWAY, 0, false, false, NO_SUBTYPE, nullptr}, //new - {MODULE_SUBTYPE_MULTI_E016H, 0, false, false, NO_SUBTYPE, nullptr}, //new + {MODULE_SUBTYPE_MULTI_E129, 1, false, false, STR_SUBTYPE_E129, nullptr}, + {MODULE_SUBTYPE_MULTI_JOYSWAY, 0, false, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_E016H, 0, false, false, NO_SUBTYPE, nullptr}, // MODULE_SUBTYPE_MULTI_CONFIG non selectable and masked out for selection // MODULE_SUBTYPE_MULTI_IKEAANSLUTA non selectable and masked out for selection // MODULE_SUBTYPE_MULTI_WILLIFM non selectable and masked out for selection - {MODULE_SUBTYPE_MULTI_LOSI, 0, false, false, NO_SUBTYPE, nullptr}, //new + {MODULE_SUBTYPE_MULTI_LOSI, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_MOULDKG, 1, false, false, STR_SUBTYPE_MOULDKG, STR_DEF(STR_MULTI_OPTION)}, - {MODULE_SUBTYPE_MULTI_XERALL, 0, false, false, NO_SUBTYPE, nullptr}, //new - {MODULE_SUBTYPE_MULTI_MT99XX2, 0, false, false, STR_SUBTYPE_MT992, nullptr}, + {MODULE_SUBTYPE_MULTI_XERALL, 0, false, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_MT99XX2, 1, false, false, STR_SUBTYPE_MT992, nullptr}, {MODULE_SUBTYPE_MULTI_KYOSHO2, 0, false, false, STR_SUBTYPE_KYOSHO2, nullptr}, {MODULE_SUBTYPE_MULTI_SCORPIO, 0, false, true, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_BLUEFLY, 0, false, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_BUMBLEB, 0, false, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_SGF22, 2, false, false, STR_SUBTYPE_SGF22, nullptr}, + {MODULE_SUBTYPE_MULTI_KYOSHO3, 0, false, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_XK2, 1, false, false, STR_SUBTYPE_XK2, nullptr}, + {MODULE_SUBTYPE_MULTI_YUXIANG, 0, false, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_JIABAILE, 1, false, false, STR_SUBTYPE_JIABAILE, nullptr}, + {MODULE_SUBTYPE_MULTI_H36, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_NN1, 7, true, true, STR_SUBTYPE_NN, STR_DEF(STR_MULTI_OPTION)}, {MODULE_SUBTYPE_MULTI_NN2, 7, true, true, STR_SUBTYPE_NN, STR_DEF(STR_MULTI_OPTION)}, {MODULE_SUBTYPE_MULTI_NN3, 7, true, true, STR_SUBTYPE_NN, STR_DEF(STR_MULTI_OPTION)}, @@ -279,4 +289,4 @@ PROTODEF ({ {MODULE_SUBTYPE_MULTI_SENTINEL, 0, false, false, NO_SUBTYPE, nullptr}, }); -#endif // MULTIMODULE +#endif // MULTIMODULE \ No newline at end of file From 17407cbd692ba6db22aa08b9d42ca43a1084613c Mon Sep 17 00:00:00 2001 From: Peter Feerick Date: Thu, 14 Aug 2025 05:45:19 +0000 Subject: [PATCH 2/3] chore: missing EoF newline --- radio/src/MultiSubtypeDefs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/MultiSubtypeDefs.h b/radio/src/MultiSubtypeDefs.h index e8f6ba41acd..3f196c90158 100644 --- a/radio/src/MultiSubtypeDefs.h +++ b/radio/src/MultiSubtypeDefs.h @@ -289,4 +289,4 @@ PROTODEF ({ {MODULE_SUBTYPE_MULTI_SENTINEL, 0, false, false, NO_SUBTYPE, nullptr}, }); -#endif // MULTIMODULE \ No newline at end of file +#endif // MULTIMODULE From 27f96218d713e6a46cb48ab7a711a68f21d12723 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 22 Oct 2025 03:03:39 +0000 Subject: [PATCH 3/3] chore: incorporate feedback and changes made by mha --- radio/src/MultiProtoDefs.h | 7 ++-- radio/src/MultiSubtypeDefs.h | 72 +++++++++++++++++++----------------- 2 files changed, 42 insertions(+), 37 deletions(-) diff --git a/radio/src/MultiProtoDefs.h b/radio/src/MultiProtoDefs.h index d27b641da71..462430befc5 100644 --- a/radio/src/MultiProtoDefs.h +++ b/radio/src/MultiProtoDefs.h @@ -132,7 +132,8 @@ enum ModuleSubtypeMulti { MODULE_SUBTYPE_MULTI_KYOSHO3, MODULE_SUBTYPE_MULTI_XK2, MODULE_SUBTYPE_MULTI_YUXIANG, - MODULE_SUBTYPE_MULTI_JIABAILE, //100 + MODULE_SUBTYPE_MULTI_PINECON, //100 + MODULE_SUBTYPE_MULTI_JIABAILE, MODULE_SUBTYPE_MULTI_H36, // // spare entries - don't touch, @@ -172,8 +173,8 @@ enum ModuleSubtypeMulti { "EazyRC", "XK","XN297DU","FrSkyX2","FrSkyR9","Propel","FrSky L","Skyartc","ESkyV2","DSM_RX",\ "JJRC345","Q90C","Kyosho","RadLink","ExpLRS","Realacc","OMP","M-Link","WFLY2","E016Hv2",\ "E010r5","LOLI","E129","JOYSWAY","E016H","Config","IKEA","WILLIFM","Losi","MouldKg",\ - "Xerall","MT99XX2","Kyosho2","Scorpio","BlueFly","BumbleB","SGF22","Kyosho3","XK2", \ - "Yuxiang","Jiabaile","H36" + "Xerall","MT99XX2","Kyosho2","Scorpio","BlueFly","BumbleB","SGF22","Kyosho3","XK2",\ + "YuXiang","Pinecon","JIABAILE","H36" #define SPARE_PROTO_NAMES \ "NN 1","NN 2","NN 3","NN 4","NN 5","NN 6","NN 7","NN 8","NN 9","NN 10" #define SPARE_SUBTYPE_NAMES \ diff --git a/radio/src/MultiSubtypeDefs.h b/radio/src/MultiSubtypeDefs.h index 3f196c90158..aa9b5c29117 100644 --- a/radio/src/MultiSubtypeDefs.h +++ b/radio/src/MultiSubtypeDefs.h @@ -37,7 +37,7 @@ // // -// include list of Multi protocosl +// include list of Multi protocols // #include "MultiProtoDefs.h" @@ -90,70 +90,73 @@ // // Common definitions of Multi protocol subtype options (only for protocols that do have subtypes) // -STRLIST(STR_SUBTYPE_FLYSKY, {"Std","V9x9","V6x6","V912","CX20"}) +STRLIST(STR_SUBTYPE_FLYSKY, {"Flysky","V9x9","V6x6","V912","CX20"}) STRLIST(STR_SUBTYPE_HUBSAN, {"H107","H301","H501"}) STRLIST(STR_SUBTYPE_FRSKYD, {"D8","Cloned"}) -STRLIST(STR_SUBTYPE_FRSKYX, {"D16","D16 8ch","LBT(EU)","LBT 8ch","Cloned", "Cloned 8ch"}) -STRLIST(STR_SUBTYPE_HISKY, {"Std","HK310"}) +STRLIST(STR_SUBTYPE_FRSKYX, {"CH_16","CH_8","EU_16","EU_8","Cloned","Clon_8"}) +STRLIST(STR_SUBTYPE_HISKY, {"Hisky","HK310"}) STRLIST(STR_SUBTYPE_V2X2, {"Std","JXD506","MR101"}) -STRLIST(STR_SUBTYPE_DSM, {"2 1F","2 2F","X 1F","X 2F","Auto","R 1F","R","SFC"}) +STRLIST(STR_SUBTYPE_DSM, {"DSM2_1F","DSM2_2F","DSMX_1F","DSMX_2F","AUTO","DSMR_1F","DSMR","DSM2_SFC"}) STRLIST(STR_SUBTYPE_DEVO, {"8ch","10ch","12ch","6ch","7ch"}) STRLIST(STR_SUBTYPE_YD717, {"Std","SkyWlkr","Syma X4","XINXUN","NIHUI"}) STRLIST(STR_SUBTYPE_KN, {"WLtoys","FeiLun"}) STRLIST(STR_SUBTYPE_SYMAX, {"Std","X5C"}) -STRLIST(STR_SUBTYPE_SLT, {"V1_6ch","V2_8ch","Q100","Q200","MR100","V1_4ch","RF Sim"}) +STRLIST(STR_SUBTYPE_SLT, {"SLT_V1","SLT_V2","Q100","Q200","MR100","V1_4CH","RF_SIM"}) STRLIST(STR_SUBTYPE_CX10, {"Green","Blue","DM007","-","JC3015a","JC3015b","MK33041"}) STRLIST(STR_SUBTYPE_CG023, {"Std","YD829"}) STRLIST(STR_SUBTYPE_BAYANG, {"Std","H8S3D","X16 AH","IRDrone","DHD D4","QX100"}) STRLIST(STR_SUBTYPE_ESky, {"Std","ET4"}) -STRLIST(STR_SUBTYPE_MT99, {"MT99","H7","YZ","LS","FY805","A180","Dragon","F949G"}) -STRLIST(STR_SUBTYPE_MJXQ, {"WLH08","X600","X800","H26D","E010","H26WH","Phoenix"}) -STRLIST(STR_SUBTYPE_FY326, {"Std","FY319"}) +STRLIST(STR_SUBTYPE_MT99, {"MT","H7","YZ","LS","FY805","A180","Dragon","F949G"}) +STRLIST(STR_SUBTYPE_MJXQ, {"WLH08","X600","X800","H26D","E010","H26WH","PHOENIX"}) +STRLIST(STR_SUBTYPE_FY326, {"FY326","FY319"}) STRLIST(STR_SUBTYPE_FUTABA, {"SFHSS"}) -STRLIST(STR_SUBTYPE_HONTAI, {"Std","JJRC X1","X5C1","FQ_951","XKK170"}) -STRLIST(STR_SUBTYPE_AFHDS2A, {"PWM,IBUS","PPM,IBUS","PWM,SBUS","PPM,SBUS","PWM,IB16","PPM,IB16","PWM,SB16","PPM,SB16"}) +STRLIST(STR_SUBTYPE_HONTAI, {"HONTAI","JJRCX1","X5C1","FQ777_951","XKK170"}) +STRLIST(STR_SUBTYPE_AFHDS2A, {"PWM_IBUS","PPM_IBUS","PWM_SBUS","PPM_SBUS","PWM_IB16","PPM_IB16","PWM_SB16","PPM_SB16"}) STRLIST(STR_SUBTYPE_Q2X2, {"Q222","Q242","Q282"}) -STRLIST(STR_SUBTYPE_WK2x01, {"WK2801","WK2401","W6_5_1","W6_6_1","W6_HeL","W6_HeI"}) -STRLIST(STR_SUBTYPE_Q303, {"Std","CX35","CX10D","CX10WD"}) -STRLIST(STR_SUBTYPE_CABELL, {"V3","V3 Telm","-","-","-","-","F-Safe","Unbind"}) +STRLIST(STR_SUBTYPE_WK2x01, {"WK2801","WK2401","W6_5_1","W6_6_1","W6_HEL","W6_HEL_I"}) +STRLIST(STR_SUBTYPE_Q303, {"Q303","CX35","CX10D","CX10WD"}) +STRLIST(STR_SUBTYPE_CABELL, {"CAB_V3","C_TELEM","-","-","-","-","F_SAFE","UNBIND"}) STRLIST(STR_SUBTYPE_ESKY150, {"4ch","7ch"}) -STRLIST(STR_SUBTYPE_H83D, {"Std","H20H","H20Mini","H30Mini"}) -STRLIST(STR_SUBTYPE_CORONA, {"V1","V2","FD V3"}) -STRLIST(STR_SUBTYPE_HITEC, {"Optima","Opt Hub","Minima"}) +STRLIST(STR_SUBTYPE_H83D, {"H8_3D","H20H","H20Mini","H30Mini"}) +STRLIST(STR_SUBTYPE_CORONA, {"COR_V1","COR_V2","FD_V3"}) +STRLIST(STR_SUBTYPE_HITEC, {"OPT_FW","OPT_HUB","MINIMA"}) STRLIST(STR_SUBTYPE_WFLY, {"WFR0x"}) -STRLIST(STR_SUBTYPE_BUGS_MINI, {"Std","Bugs3H"}) +STRLIST(STR_SUBTYPE_BUGS_MINI, {"BUGSMINI","BUGS3H"}) STRLIST(STR_SUBTYPE_TRAXXAS, {"TQ"}) STRLIST(STR_SUBTYPE_E01X, {"E012","E015"}) -STRLIST(STR_SUBTYPE_V911S, {"Std","E119"}) +STRLIST(STR_SUBTYPE_V911S, {"V911S","E119"}) STRLIST(STR_SUBTYPE_GD00X, {"GD_V1","GD_V2"}) STRLIST(STR_SUBTYPE_V761, {"3ch","4ch","TOPRC"}) STRLIST(STR_SUBTYPE_KF606, {"KF606","MIG320","ZCZ50"}) STRLIST(STR_SUBTYPE_REDPINE, {"Fast","Slow"}) STRLIST(STR_SUBTYPE_POTENSIC, {"A20"}) -STRLIST(STR_SUBTYPE_ZSX, {"280JJRC"}) +STRLIST(STR_SUBTYPE_ZSX, {"280"}) STRLIST(STR_SUBTYPE_HEIGHT, {"5ch","8ch"}) STRLIST(STR_SUBTYPE_FRSKYX_RX, {"Multi","CloneTX","EraseTX","CPPM"}) STRLIST(STR_SUBTYPE_HOTT, {"Sync","No_Sync"}) STRLIST(STR_SUBTYPE_FX, {"816","620","9630","Q560"}) STRLIST(STR_SUBTYPE_PELIKAN, {"Pro","Lite","SCX24"}) STRLIST(STR_SUBTYPE_XK, {"X450","X420","Cars"}) -STRLIST(STR_SUBTYPE_XN297DUMP, {"250K","1M","2M","AUTO","NRF","CC2500"}) -STRLIST(STR_SUBTYPE_FRSKYR9, {"915MHz","868MHz","915 8ch","868 8ch","FCC","--","FCC 8ch","-- 8ch"}) +STRLIST(STR_SUBTYPE_XN297DUMP, {"250K","1M","2M","AUTO"}) +STRLIST(STR_SUBTYPE_FRSKYX2, {"CH_16","CH_8","EU_16","EU_8","Cloned"}) +STRLIST(STR_SUBTYPE_FRSKYR9, {"915MHz","868MHz","915_8ch","868_8ch","FCC","--","FCC_8ch","--_8ch"}) STRLIST(STR_SUBTYPE_PROPEL, {"74-Z"}) -STRLIST(STR_SUBTYPE_FRSKYL, {"LR12","LR12 6ch"}) -STRLIST(STR_SUBTYPE_ESKY150V2, {"150 V2"}) -STRLIST(STR_SUBTYPE_JJRC345, {"Std","SkyTmbr"}) +STRLIST(STR_SUBTYPE_FRSKYL, {"LR12","LR12_6ch"}) +STRLIST(STR_SUBTYPE_ESKY150V2, {"150V2"}) +STRLIST(STR_SUBTYPE_JJRC345, {"JJRC345","SkyTmblr"}) STRLIST(STR_SUBTYPE_KYOSHO, {"FHSS","Hype"}) STRLIST(STR_SUBTYPE_KYOSHO2, {"KT-17"}) STRLIST(STR_SUBTYPE_RLINK, {"Surface","Air","DumboRC","RC4G"}) STRLIST(STR_SUBTYPE_ELRS, {"N/A WIP"}) +STRLIST(STR_SUBTYPE_REALACC, {"R11"}) STRLIST(STR_SUBTYPE_WFLY2, {"RF20x"}) +STRLIST(STR_SUBTYPE_E016HV2, {"E016Hv2"}) STRLIST(STR_SUBTYPE_MOULDKG, {"Analog","Digital"}) STRLIST(STR_SUBTYPE_MT992, {"PA18","SU35"}) STRLIST(STR_SUBTYPE_RX, {"Multi","CPPM"}) STRLIST(STR_SUBTYPE_DSM_RX, {"Multi","CloneTX","EraseTX","CPPM"}) STRLIST(STR_SUBTYPE_E129, {"STD","C186"}) -STRLIST(STR_SUBTYPE_SGF22, {"F22","F22S","J20"}) +STRLIST(STR_SUBTYPE_SFG22, {"F22","F22S","J20"}) STRLIST(STR_SUBTYPE_XK2, {"X4","P10"}) STRLIST(STR_SUBTYPE_JIABAILE, {"STD","GYRO"}) @@ -230,8 +233,8 @@ PROTODEF ({ {MODULE_SUBTYPE_MULTI_PELIKAN, 2, false, true, STR_SUBTYPE_PELIKAN, nullptr}, {MODULE_SUBTYPE_MULTI_EAZYRC, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_XK, 2, false, false, STR_SUBTYPE_XK, STR_DEF(STR_MULTI_RFTUNE)}, - {MODULE_SUBTYPE_MULTI_XN297DUMP, 5, false, false, STR_SUBTYPE_XN297DUMP, STR_DEF(STR_MULTI_RFCHAN)}, - {MODULE_SUBTYPE_MULTI_FRSKYX2, 5, true, false, STR_SUBTYPE_FRSKYX, STR_DEF(STR_MULTI_RFTUNE)}, + {MODULE_SUBTYPE_MULTI_XN297DUMP, 3, false, false, STR_SUBTYPE_XN297DUMP, STR_DEF(STR_MULTI_RFCHAN)}, + {MODULE_SUBTYPE_MULTI_FRSKYX2, 4, true, false, STR_SUBTYPE_FRSKYX2, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_FRSKY_R9, 7, true, false, STR_SUBTYPE_FRSKYR9, nullptr}, {MODULE_SUBTYPE_MULTI_PROPEL, 0, false, false, STR_SUBTYPE_PROPEL, nullptr}, {MODULE_SUBTYPE_MULTI_FRSKYL, 1, false, false, STR_SUBTYPE_FRSKYL, STR_DEF(STR_MULTI_RFTUNE)}, @@ -243,11 +246,11 @@ PROTODEF ({ {MODULE_SUBTYPE_MULTI_KYOSHO, 1, false, true, STR_SUBTYPE_KYOSHO, nullptr}, {MODULE_SUBTYPE_MULTI_RLINK, 3, false, false, STR_SUBTYPE_RLINK, STR_DEF(STR_MULTI_RFTUNE)}, // MODULE_SUBTYPE_MULTI_ELRS non selectable and masked out for selection - {MODULE_SUBTYPE_MULTI_REALACC, 0, false, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_REALACC, 0, false, false, STR_SUBTYPE_REALACC, nullptr}, {MODULE_SUBTYPE_MULTI_OMP, 0, false, false, NO_SUBTYPE, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_MLINK, 0, true, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_WFLY2, 0, true, false, STR_SUBTYPE_WFLY2, STR_DEF(STR_MULTI_OPTION)}, - {MODULE_SUBTYPE_MULTI_E016HV2, 0, false, false, NO_SUBTYPE, STR_DEF(STR_MULTI_RFTUNE)}, + {MODULE_SUBTYPE_MULTI_E016HV2, 0, false, false, STR_SUBTYPE_E016HV2, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_E010R5, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_LOLI, 0, true, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_E129, 1, false, false, STR_SUBTYPE_E129, nullptr}, @@ -262,12 +265,13 @@ PROTODEF ({ {MODULE_SUBTYPE_MULTI_MT99XX2, 1, false, false, STR_SUBTYPE_MT992, nullptr}, {MODULE_SUBTYPE_MULTI_KYOSHO2, 0, false, false, STR_SUBTYPE_KYOSHO2, nullptr}, {MODULE_SUBTYPE_MULTI_SCORPIO, 0, false, true, NO_SUBTYPE, nullptr}, - {MODULE_SUBTYPE_MULTI_BLUEFLY, 0, false, false, NO_SUBTYPE, nullptr}, - {MODULE_SUBTYPE_MULTI_BUMBLEB, 0, false, false, NO_SUBTYPE, nullptr}, - {MODULE_SUBTYPE_MULTI_SGF22, 2, false, false, STR_SUBTYPE_SGF22, nullptr}, + {MODULE_SUBTYPE_MULTI_BLUEFLY, 0, false, false, NO_SUBTYPE, STR_DEF(STR_MULTI_RFTUNE)}, + {MODULE_SUBTYPE_MULTI_BUMBLEB, 0, false, false, NO_SUBTYPE, STR_DEF(STR_MULTI_RFTUNE)}, + {MODULE_SUBTYPE_MULTI_SGF22, 2, false, false, STR_SUBTYPE_SFG22, nullptr}, {MODULE_SUBTYPE_MULTI_KYOSHO3, 0, false, false, NO_SUBTYPE, nullptr}, - {MODULE_SUBTYPE_MULTI_XK2, 1, false, false, STR_SUBTYPE_XK2, nullptr}, + {MODULE_SUBTYPE_MULTI_XK2, 1, false, false, STR_SUBTYPE_XK2, STR_DEF(STR_MULTI_RFTUNE)}, {MODULE_SUBTYPE_MULTI_YUXIANG, 0, false, false, NO_SUBTYPE, nullptr}, + // MODULE_SUBTYPE_PINECONE non selectable and masked out for selection {MODULE_SUBTYPE_MULTI_JIABAILE, 1, false, false, STR_SUBTYPE_JIABAILE, nullptr}, {MODULE_SUBTYPE_MULTI_H36, 0, false, false, NO_SUBTYPE, nullptr}, {MODULE_SUBTYPE_MULTI_NN1, 7, true, true, STR_SUBTYPE_NN, STR_DEF(STR_MULTI_OPTION)},