Multi improvements (#5322)

* implementing syncing with multi

* Send config command

* Implement setting failsafe for multimodule

* Fix

* Fix last bugs. Multi sync now working as expected.

* Add eww multi protocol
This commit is contained in:
Arne Schwabe
2017-11-11 08:57:04 +01:00
committed by Bertrand Songis
parent 8e9d370770
commit 613b2edf49
24 changed files with 409 additions and 130 deletions
+27 -26
View File
@@ -675,38 +675,39 @@ const pm_char STR_SUBTYPE_WK2x01[] PROGMEM = "\006""WK2801""WK2401""W6_5_1""
const pm_char STR_SUBTYPE_V2X2[] PROGMEM = "\006""V2x2\0 ""JXD506";
const pm_char STR_SUBTYPE_BAYANG[] PROGMEM = "\006""Bayang""H8S3D";
const pm_char STR_SUBTYPE_BAYANG[] PROGMEM = "\006""Bayang""H8S3D\0""X16 AH\0";
const pm_char STR_SUBTYPE_FY326[] PROGMEM = "\005""FY326""FY319";
const mm_protocol_definition multi_protocols[] = {
{ MM_RF_PROTO_FLYSKY, 4, STR_SUBTYPE_FLYSKY, nullptr },
{ MM_RF_PROTO_HUBSAN, 0, NO_SUBTYPE, STR_MULTI_VIDFREQ },
{ MM_RF_PROTO_FRSKY, 5, STR_SUBTYPE_FRSKY, STR_MULTI_RFTUNE },
{ MM_RF_PROTO_HISKY, 1, STR_SUBTYPE_HISKY, nullptr },
{ MM_RF_PROTO_V2X2, 1, STR_SUBTYPE_V2X2, nullptr },
{ MM_RF_PROTO_DSM2, 3, STR_SUBTYPE_DSM, nullptr },
{ MM_RF_PROTO_YD717, 4, STR_SUBTYPE_YD717, nullptr },
{ MM_RF_PROTO_KN, 1, STR_SUBTYPE_KN, nullptr },
{ MM_RF_PROTO_SYMAX, 1, STR_SUBTYPE_SYMAX, nullptr },
{ MM_RF_PROTO_SLT, 1, STR_SUBTYPE_SLT, nullptr },
{ MM_RF_PROTO_CX10, 7, STR_SUBTYPE_CX10, nullptr },
{ MM_RF_PROTO_CG023, 2, STR_SUBTYPE_CG023, nullptr },
{ MM_RF_PROTO_BAYANG, 1, STR_SUBTYPE_BAYANG, STR_MULTI_TELEMETRY },
{ MM_RF_PROTO_MT99XX, 4, STR_SUBTYPE_MT99, nullptr },
{ MM_RF_PROTO_MJXQ, 5, STR_SUBTYPE_MJXQ, nullptr },
{ MM_RF_PROTO_FY326, 1, STR_SUBTYPE_FY326, nullptr },
{ MM_RF_PROTO_SFHSS, 0, NO_SUBTYPE, STR_MULTI_RFTUNE },
{ MM_RF_PROTO_HONTAI, 2, STR_SUBTYPE_HONTAI, nullptr },
{ MM_RF_PROTO_OLRS, 0, NO_SUBTYPE, STR_MULTI_RFPOWER },
{ MM_RF_PROTO_FS_AFHDS2A, 3, STR_SUBTYPE_AFHDS2A, STR_MULTI_SERVOFREQ },
{ MM_RF_PROTO_Q2X2, 2, STR_SUBTYPE_Q2X2, nullptr },
{ MM_RF_PROTO_WK_2X01, 5, STR_SUBTYPE_WK2x01, nullptr },
{ MM_RF_PROTO_Q303, 3, STR_SUBTYPE_Q303, nullptr },
{ MM_RF_CUSTOM_SELECTED, 7, NO_SUBTYPE, STR_MULTI_OPTION },
{MM_RF_PROTO_FLYSKY, 4, false, STR_SUBTYPE_FLYSKY, nullptr},
{MM_RF_PROTO_HUBSAN, 0, false, NO_SUBTYPE, STR_MULTI_VIDFREQ},
{MM_RF_PROTO_FRSKY, 5, false, STR_SUBTYPE_FRSKY, STR_MULTI_RFTUNE},
{MM_RF_PROTO_HISKY, 1, false, STR_SUBTYPE_HISKY, nullptr},
{MM_RF_PROTO_V2X2, 1, false, STR_SUBTYPE_V2X2, nullptr},
{MM_RF_PROTO_DSM2, 3, false, STR_SUBTYPE_DSM, nullptr},
{MM_RF_PROTO_YD717, 4, false, STR_SUBTYPE_YD717, nullptr},
{MM_RF_PROTO_KN, 1, false, STR_SUBTYPE_KN, nullptr},
{MM_RF_PROTO_SYMAX, 1, false, STR_SUBTYPE_SYMAX, nullptr},
{MM_RF_PROTO_SLT, 1, false, STR_SUBTYPE_SLT, nullptr},
{MM_RF_PROTO_CX10, 7, false, STR_SUBTYPE_CX10, nullptr},
{MM_RF_PROTO_CG023, 2, false, STR_SUBTYPE_CG023, nullptr},
{MM_RF_PROTO_BAYANG, 2, false, STR_SUBTYPE_BAYANG, STR_MULTI_TELEMETRY},
{MM_RF_PROTO_MT99XX, 4, false, STR_SUBTYPE_MT99, nullptr},
{MM_RF_PROTO_MJXQ, 5, false, STR_SUBTYPE_MJXQ, nullptr},
{MM_RF_PROTO_FY326, 1, false, STR_SUBTYPE_FY326, nullptr},
{MM_RF_PROTO_SFHSS, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE},
{MM_RF_PROTO_HONTAI, 2, false, STR_SUBTYPE_HONTAI, nullptr},
{MM_RF_PROTO_OLRS, 0, false, NO_SUBTYPE, STR_MULTI_RFPOWER},
{MM_RF_PROTO_FS_AFHDS2A, 3, true, STR_SUBTYPE_AFHDS2A, STR_MULTI_SERVOFREQ},
{MM_RF_PROTO_Q2X2, 2, false, STR_SUBTYPE_Q2X2, nullptr},
{MM_RF_PROTO_WK_2X01, 5, false, STR_SUBTYPE_WK2x01, nullptr},
{MM_RF_PROTO_Q303, 3, false, STR_SUBTYPE_Q303, nullptr},
{MM_RF_CUSTOM_SELECTED, 7, true, NO_SUBTYPE, STR_MULTI_OPTION},
// Sentinel and default for protocols not listed above (MM_RF_CUSTOM is 0xff)
{ 0xfe, 0, NO_SUBTYPE, nullptr }
{0xfe, 0, false, NO_SUBTYPE, nullptr}
};
#undef NO_SUBTYPE