Added Companion support
This commit is contained in:
committed by
Raphael Coeffic
parent
7922afd9ca
commit
12e96e451f
@@ -65,6 +65,7 @@ static const YamlLookupTable protocolLut = {
|
||||
{ PULSES_SBUS, "TYPE_SBUS" },
|
||||
{ PULSES_XJT_LITE_X16, "TYPE_XJT_LITE_PXX2" },
|
||||
{ PULSES_AFHDS3, "TYPE_FLYSKY" },
|
||||
{ PULSES_LEMON_DSMP, "LEMON_DSMP" },
|
||||
};
|
||||
|
||||
static const YamlLookupTable xjtLut = {
|
||||
@@ -308,6 +309,11 @@ Node convert<ModuleData>::encode(const ModuleData& rhs)
|
||||
crsf["telemetryBaudrate"] = br.value;
|
||||
mod["crsf"] = crsf;
|
||||
} break;
|
||||
case PULSES_LEMON_DSMP: {
|
||||
Node dsmp;
|
||||
dsmp["flags"] = rhs.dsmp.flags;
|
||||
mod["dsmp"] = dsmp;
|
||||
} break;
|
||||
// TODO: afhds3, flysky
|
||||
default: {
|
||||
Node ppm;
|
||||
@@ -419,6 +425,9 @@ bool convert<ModuleData>::decode(const Node& node, ModuleData& rhs)
|
||||
YamlTelemetryBaudrate telemetryBaudrate;
|
||||
crsf["telemetryBaudrate"] >> telemetryBaudrate.value;
|
||||
telemetryBaudrate.toCpn(&rhs.crsf.telemetryBaudrate, getCurrentFirmware()->getBoard());
|
||||
} else if (mod["dsmp"]) {
|
||||
Node dsmp = mod["dsmp"];
|
||||
dsmp["flags"] >> rhs.dsmp.flags;
|
||||
} else if (mod["flysky"]) {
|
||||
//TODO
|
||||
} else if (mod["afhds3"]) {
|
||||
|
||||
@@ -176,7 +176,8 @@ QString ModuleData::protocolToString(unsigned int protocol)
|
||||
"FrSky ACCESS R9M Lite Pro",
|
||||
"FrSky XJT lite (D16)", "FrSky XJT lite (D8)", "FrSky XJT lite (LR12)",
|
||||
"AFHDS3",
|
||||
"Ghost"
|
||||
"Ghost",
|
||||
"Lemon-Rx DSMP",
|
||||
};
|
||||
|
||||
return CHECK_IN_ARRAY(strings, protocol);
|
||||
@@ -260,6 +261,8 @@ int ModuleData::getMaxChannelCount()
|
||||
break;
|
||||
case PULSES_AFHDS3:
|
||||
return 18;
|
||||
case PULSES_LEMON_DSMP:
|
||||
return 12;
|
||||
case PULSES_OFF:
|
||||
break;
|
||||
default:
|
||||
@@ -309,7 +312,9 @@ int ModuleData::getTypeFromProtocol(unsigned int protocol)
|
||||
{ PULSES_XJT_LITE_D8, MODULE_TYPE_XJT_LITE_PXX2 },
|
||||
{ PULSES_XJT_LITE_LR12, MODULE_TYPE_XJT_LITE_PXX2 },
|
||||
|
||||
{ PULSES_AFHDS3, MODULE_TYPE_FLYSKY }
|
||||
{ PULSES_AFHDS3, MODULE_TYPE_FLYSKY },
|
||||
|
||||
{ PULSES_LEMON_DSMP, MODULE_TYPE_LEMON_DSMP },
|
||||
};
|
||||
|
||||
QPair<int, int>elmt;
|
||||
@@ -352,7 +357,8 @@ QString ModuleData::typeToString(int type)
|
||||
"R9MLP ACCESS",
|
||||
"SBUS",
|
||||
"XJT Lite",
|
||||
"FLYSKY"
|
||||
"FLYSKY",
|
||||
"Lemon-Rx DSMP",
|
||||
};
|
||||
|
||||
return CHECK_IN_ARRAY(strings, type);
|
||||
@@ -406,6 +412,7 @@ bool ModuleData::isProtocolAvailable(int moduleidx, unsigned int protocol, Gener
|
||||
case PULSES_CROSSFIRE:
|
||||
case PULSES_AFHDS3:
|
||||
case PULSES_GHOST:
|
||||
case PULSES_LEMON_DSMP:
|
||||
return true;
|
||||
case PULSES_ACCESS_R9M:
|
||||
return IS_ACCESS_RADIO(board, id) || (IS_FAMILY_HORUS_OR_T16(board) && id.contains("externalaccessmod"));
|
||||
|
||||
@@ -47,6 +47,7 @@ enum ModuleType {
|
||||
MODULE_TYPE_SBUS,
|
||||
MODULE_TYPE_XJT_LITE_PXX2,
|
||||
MODULE_TYPE_FLYSKY, //no more protocols possible because of 4 bits value
|
||||
MODULE_TYPE_LEMON_DSMP,
|
||||
MODULE_TYPE_COUNT,
|
||||
MODULE_TYPE_MAX = MODULE_TYPE_COUNT - 1
|
||||
};
|
||||
@@ -83,6 +84,7 @@ enum PulsesProtocol {
|
||||
PULSES_XJT_LITE_LR12,
|
||||
PULSES_AFHDS3,
|
||||
PULSES_GHOST,
|
||||
PULSES_LEMON_DSMP,
|
||||
PULSES_PROTOCOL_LAST
|
||||
};
|
||||
|
||||
@@ -254,6 +256,10 @@ class ModuleData {
|
||||
unsigned int racingMode;
|
||||
} access;
|
||||
|
||||
struct DSMP {
|
||||
unsigned int flags;
|
||||
} dsmp;
|
||||
|
||||
void clear() { memset(this, 0, sizeof(ModuleData)); }
|
||||
void convert(RadioDataConversionState & cstate);
|
||||
bool isPxx2Module() const;
|
||||
|
||||
@@ -483,6 +483,9 @@ void ModulePanel::update()
|
||||
mask |= MASK_CHANNELS_RANGE| MASK_CHANNELS_COUNT | MASK_FAILSAFES;
|
||||
mask |= MASK_SUBTYPES | MASK_RX_FREQ | MASK_RF_POWER;
|
||||
break;
|
||||
case PULSES_LEMON_DSMP:
|
||||
mask |= MASK_CHANNELS_RANGE;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user