fixed module protocol ID conversion

This commit is contained in:
Raphael Coeffic
2019-08-23 08:32:43 +02:00
parent 99507f71e1
commit db2130cedc
2 changed files with 8 additions and 6 deletions
@@ -2112,7 +2112,7 @@ class ModuleUnionField: public UnionField<unsigned int> {
};
public:
ModuleUnionField(DataField * parent, ModuleData & module):
ModuleUnionField(DataField * parent, ModuleData & module, Board::Type board, unsigned int version):
UnionField<unsigned int>(parent, module.protocol)
{
Append(new AccessField(parent, module));
@@ -2129,7 +2129,7 @@ class ModuleField: public TransformedField {
TransformedField(parent, internalField),
internalField(this, "Module"),
module(module),
protocolsConversionTable(board)
protocolsConversionTable(board, version)
{
internalField.Append(new ConversionField<UnsignedField<4> >(this, module.protocol, &protocolsConversionTable, "Protocol", DataField::tr("OpenTX doesn't accept this radio protocol")));
internalField.Append(new SignedField<4>(this, module.rfProtocol));
@@ -2144,7 +2144,7 @@ class ModuleField: public TransformedField {
}
}
internalField.Append(new ModuleUnionField(parent, module));
internalField.Append(new ModuleUnionField(parent, module, board, version));
}
virtual void beforeExport()
@@ -73,7 +73,7 @@ class OpenTxGeneralData: public TransformedField {
class ProtocolsConversionTable: public ConversionTable
{
public:
ProtocolsConversionTable(Board::Type board)
ProtocolsConversionTable(Board::Type board, int version)
{
int val = 0;
addConversion(PULSES_OFF, val++);
@@ -83,8 +83,10 @@ class ProtocolsConversionTable: public ConversionTable
addConversion(PULSES_PXX_XJT_D8, val);
addConversion(PULSES_PXX_XJT_LR12, val++);
addConversion(PULSES_ACCESS_ISRM, val);
addConversion(PULSES_ACCST_ISRM_D16, val++);
if (version >= 219) {
addConversion(PULSES_ACCESS_ISRM, val);
addConversion(PULSES_ACCST_ISRM_D16, val++);
}
addConversion(PULSES_LP45, val);
addConversion(PULSES_DSM2, val);