Skip to content

Conversation

@pfeerick
Copy link
Member

@pfeerick pfeerick commented Aug 14, 2025

Fixes #6514

Summary of changes:

  • update MPM proto list from 1.3.3.33 to 1.3.4.31
  • will affect Companion/Simulator proto lists and radio with no MULTI connected

New Protocols Added:

  • BlueFly (94) - No subtypes
  • BumbleB (95) - No subtypes
  • SGF22 (96) - 3 subtypes: F22, F22S, J20
  • Kyosho3 (97) - No subtypes
  • XK2 (98) - 2 subtypes: X4, P10
  • YuXiang (99) - No subtypes
  • JiaBaiLe (101) - 2 subtypes: STD, GYRO
  • H36 (102) - No subtypes

Modified Existing Protocols:

  • DSM (5): Added 2 new subtypes (DSMR, DSM2_SFC) - now 8 subtypes total
  • SLT (10): Added 2 new subtypes (V1_4ch, RF Sim) - now 7 subtypes total
  • HONTAI (25): Added XKK170 subtype - now 5 subtypes total
  • Traxxas (42): Changed subtype from "RX6519" to "TQ"
  • FX (57): Added Q560 subtype - now 4 subtypes total
  • EazyRC (60): Renamed from "Tiger" (protocol name change)
  • XK (61): Added "Cars" subtype - now 3 subtypes total
  • RadioLink (73): Added RC4G subtype - now 4 subtypes total
  • MT99XX2 (91): Added SU35 subtype - now 2 subtypes total

@mha1 Does the changes look about right to you? These are the two multi files if you want to compare them yourself.

Multi_1.3.3.33.txt
Multi_1.3.4.31.txt

@pfeerick pfeerick added the house keeping 🧹 Cleanup of code and house keeping label Aug 14, 2025
@pfeerick pfeerick force-pushed the pfeerick/update-mpm-defs-1.3.4.31 branch from 0d66819 to efc3d0d Compare August 14, 2025 01:46
@mha1
Copy link
Contributor

mha1 commented Aug 14, 2025

Hi Peter,

I started the same activity yesterday but haven't PR'd it because testing with the simulator is currently not possible due to a bug probably in libsim, see https://discord.com/channels/839849772864503828/909552654328406056/1405299901520416888. Check out https://github.com/mha1/edgetx/tree/update_MPM_defaults_1.3.4.31 for what I did additinally/different.

Here's a summary:

This is the most critical issue. Multi.txt leaves gaps for defined but not selectable protocols .Notice the gap in 1.3.4.31 multi.txt between YuXiang and JIABAILE. We need to account for this gap. Otherwise all the index calculations are wrong and lead to "???" in Companion and simu crashes.

MPM/Multi.txt:

98,Kyosho3
99,XK2,X4,P10
100,YuXiang
102,JIABAILE,STD,GYRO
103,H36

MPM/Multiprotocol.h:

	PROTO_KYOSHO3	= 98,	// =>CYRF6936
	PROTO_XK2		= 99,	// =>CC2500 & NRF24L01
	PROTO_YUXIANG	= 100,	// =>NRF24L01
	PROTO_PINECONE	= 101,	// =>CC2500 & NRF24L01 <-- this is the one not being selectable
	PROTO_JIABAILE	= 102,	// =>NRF24L01
	PROTO_H36		= 103,	// =>NRF24L01

Solution: define the protocol in enum ModuleSubtypeMulti (even if not selectable), give it a proto name in , leave out of the list of Protos. This keeps indexes in line with the MPM's indexes

  MODULE_SUBTYPE_MULTI_XK2,
  MODULE_SUBTYPE_MULTI_YUXIANG,
  MODULE_SBUTYPE_MULTI_PINECON, // 100
  MODULE_SUBTYPE_MULTI_JIABAILE,
  MODULE_SUBTYPE_MULTI_H36,
  "Xerall","MT99XX2","Kyosho2","Scorpio","BlueFly","BumbleB","SGF22","Kyosho3","XK2","YuXiang",\
  "Pinecon","JIABAILE","H36"
  {MODULE_SUBTYPE_MULTI_XK2,        1, false, false,  STR_SUBTYPE_XK2,       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},

FrskyX and FrSkyX2 so far shared the subprotocols. They now have slightly different names. I created a dedicated FrSkyX2 subprotocol list and used it for protocol FrskyX2 to be in line with multi.txt:

15,FrskyX,CH_16,CH_8,EU_16,EU_8,Cloned,Clon_8
64,FrskyX2,CH_16,CH_8,EU_16,EU_8,Cloned
STRLIST(STR_SUBTYPE_FRSKYX,    {"CH_16","CH_8","EU_16","EU_8","Cloned","Clon_8"})
STRLIST(STR_SUBTYPE_FRSKYX2,   {"CH_16","CH_8","EU_16","EU_8","Cloned"})

There's more protocols that now have subprotocols:

STRLIST(STR_SUBTYPE_REALACC,   {"R11"})
STRLIST(STR_SUBTYPE_E016HV2,   {"E016Hv2"})

XNDUMP now has four instead of five subprotocols:

STRLIST(STR_SUBTYPE_XN297DUMP, {"250K","1M","2M","AUTO"})
  {MODULE_SUBTYPE_MULTI_XN297DUMP,  3, false, false,  STR_SUBTYPE_XN297DUMP, STR_MULTI_RFCHAN},

BLUEFLY, BUMBLEB and XK2 need option STR_MULTI_RFTUNE

  {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,            STR_MULTI_RFTUNE},
  {MODULE_SUBTYPE_MULTI_BUMBLEB,    0, false, false,  NO_SUBTYPE,            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,       STR_MULTI_RFTUNE},
  {MODULE_SUBTYPE_MULTI_YUXIANG,    0, false, false,  NO_SUBTYPE,            nullptr},

And there's a lot of protocols that have the same number of subprotocols but names have changed slightly, e.g.:
image

@pfeerick pfeerick force-pushed the pfeerick/update-mpm-defs-1.3.4.31 branch from 4e98751 to 99e7fee Compare October 17, 2025 01:26
@pfeerick pfeerick force-pushed the pfeerick/update-mpm-defs-1.3.4.31 branch from 99e7fee to b4845da Compare October 22, 2025 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

house keeping 🧹 Cleanup of code and house keeping

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MT12 Companion is not displaying MPM DSM subptype 2SFC

2 participants