Added support for Lemon-Rx DSMP

This commit is contained in:
Raphael Coeffic
2022-03-24 10:40:17 +01:00
committed by Raphael Coeffic
parent f09c10b49d
commit 9d5cd1876c
36 changed files with 630 additions and 392 deletions
+2 -1
View File
@@ -259,7 +259,8 @@ enum TelemetryProtocol
PROTOCOL_TELEMETRY_AFHDS3,
PROTOCOL_TELEMETRY_GHOST,
PROTOCOL_TELEMETRY_FLYSKY_NV14,
PROTOCOL_TELEMETRY_LAST=PROTOCOL_TELEMETRY_FLYSKY_NV14,
PROTOCOL_TELEMETRY_DSMP,
PROTOCOL_TELEMETRY_LAST=PROTOCOL_TELEMETRY_DSMP,
PROTOCOL_TELEMETRY_LUA
};
+3
View File
@@ -532,6 +532,9 @@ PACK(struct ModuleData {
NOBACKUP(struct {
uint8_t telemetryBaudrate:3;
} crsf);
NOBACKUP(struct {
uint8_t flags;
} dsmp);
} NAME(mod) FUNC(select_mod_type);
NOBACKUP(inline uint8_t getChannelsCount() const
+2 -2
View File
@@ -1078,7 +1078,7 @@ void menuModelSetup(event_t event)
if (attr) {
moduleData.crsf.telemetryBaudrate =CROSSFIRE_INDEX_TO_STORE(checkIncDecModel(event,CROSSFIRE_STORE_TO_INDEX(moduleData.crsf.telemetryBaudrate),0, DIM(CROSSFIRE_BAUDRATES) - 1));
if (checkIncDec_Ret) {
restartExternalModule();
restartModule(moduleIdx);
}
}
}
@@ -1088,7 +1088,7 @@ void menuModelSetup(event_t event)
if (attr) {
moduleData.ghost.telemetryBaudrate = CROSSFIRE_INDEX_TO_STORE(checkIncDecModel(event,CROSSFIRE_STORE_TO_INDEX(moduleData.ghost.telemetryBaudrate),0, 1));
if (checkIncDec_Ret) {
restartExternalModule();
restartModule(moduleIdx);
}
}
}
+2 -2
View File
@@ -1045,7 +1045,7 @@ void menuModelSetup(event_t event)
if (attr) {
moduleData.crsf.telemetryBaudrate =CROSSFIRE_INDEX_TO_STORE(checkIncDecModel(event,CROSSFIRE_STORE_TO_INDEX(moduleData.crsf.telemetryBaudrate),0, DIM(CROSSFIRE_BAUDRATES) - 1));
if (checkIncDec_Ret) {
restartExternalModule();
restartModule(EXTERNAL_MODULE);
}
}
}
@@ -1056,7 +1056,7 @@ void menuModelSetup(event_t event)
if (attr) {
moduleData.ghost.telemetryBaudrate = CROSSFIRE_INDEX_TO_STORE(checkIncDecModel(event,CROSSFIRE_STORE_TO_INDEX(moduleData.ghost.telemetryBaudrate),0, 1));
if (checkIncDec_Ret) {
restartExternalModule();
restartModule(EXTERNAL_MODULE);
}
}
}
+2 -1
View File
@@ -622,7 +622,7 @@ class ModuleWindow : public FormGroup {
[=](int newValue) {
g_model.moduleData[moduleIdx].crsf.telemetryBaudrate = CROSSFIRE_INDEX_TO_STORE(newValue);
SET_DIRTY();
restartExternalModule();
restartModule(moduleIdx);
});
}
if (isModuleCrossfire(moduleIdx)) {
@@ -1089,6 +1089,7 @@ class ModuleWindow : public FormGroup {
#if defined(AFHDS2)
if (isModuleFlySky(moduleIdx)) resetPulsesAFHDS2();
#endif
if (isModuleDSMP(moduleIdx)) restartModule(moduleIdx);
return 0;
} else {
if (isModuleR9MNonAccess(moduleIdx) || isModuleD16(moduleIdx) ||
+1 -1
View File
@@ -293,7 +293,7 @@ class InternalModuleWindow : public FormGroup {
[=](int newValue) {
g_eeGeneral.internalModuleBaudrate = CROSSFIRE_INDEX_TO_STORE(newValue);
SET_DIRTY();
restartInternalModule();
restartModule(INTERNAL_MODULE);
});
grid.nextLine();
}
@@ -543,7 +543,7 @@ void menuRadioHardware(event_t event)
if (attr) {
g_eeGeneral.internalModuleBaudrate = CROSSFIRE_INDEX_TO_STORE(checkIncDecModel(event, CROSSFIRE_STORE_TO_INDEX(g_eeGeneral.internalModuleBaudrate), 0, CROSSFIRE_MAX_INTERNAL_BAUDRATE));
if (checkIncDec_Ret) {
restartInternalModule();
restartModule(INTERNAL_MODULE);
}
}
break;
@@ -552,7 +552,7 @@ void menuRadioHardware(event_t event)
case ITEM_RADIO_HARDWARE_SERIAL_SAMPLE_MODE:
g_eeGeneral.uartSampleMode = editChoice(HW_SETTINGS_COLUMN2, y, STR_SAMPLE_MODE, STR_SAMPLE_MODES, g_eeGeneral.uartSampleMode, 0, UART_SAMPLE_MODE_MAX, attr, event);
if (attr && checkIncDec_Ret) {
restartExternalModule();
restartModule(EXTERNAL_MODULE);
}
break;
#endif
+2 -1
View File
@@ -39,7 +39,8 @@ enum ChannelsProtocols {
PROTOCOL_CHANNELS_PXX2_HIGHSPEED,
PROTOCOL_CHANNELS_AFHDS2A,
PROTOCOL_CHANNELS_AFHDS3,
PROTOCOL_CHANNELS_GHOST
PROTOCOL_CHANNELS_GHOST,
PROTOCOL_CHANNELS_DSMP
};
struct etx_module_driver_t {
+114 -9
View File
@@ -33,29 +33,40 @@
#define BITLEN_DSM2 (8*2) //125000 Baud => 8uS per bit
void _send_1(uint8_t v)
static void reset_dsm2_buffer()
{
extmodulePulsesData.dsm2.index = 0;
extmodulePulsesData.dsm2.ptr = extmodulePulsesData.dsm2.pulses;
}
static void _send_1(uint8_t v)
{
*extmodulePulsesData.dsm2.ptr++ = v - 1;
extmodulePulsesData.dsm2.index += 1;
}
void sendByteDsm2(uint8_t b) // max 10 changes 0 10 10 10 10 1
static void _sendByte(uint8_t b, uint8_t bit_len) // max 10 changes 0 10 10 10 10 1
{
bool lev = 0;
uint8_t len = BITLEN_DSM2; // max val: 9*16 < 256
uint8_t len = bit_len; // max val: 9*16 < 256
for (uint8_t i=0; i<=8; i++) { // 8Bits + Stop=1
bool nlev = b & 1; // lsb first
if (lev == nlev) {
len += BITLEN_DSM2;
len += bit_len;
}
else {
_send_1(len);
len = BITLEN_DSM2;
len = bit_len;
lev = nlev;
}
b = (b>>1) | 0x80; // shift in stop bit
}
_send_1(len); // stop bit (len is already BITLEN_DSM2)
_send_1(len); // stop bit (len is already bit_len)
}
static void sendByteDsm2(uint8_t b)
{
_sendByte(b, BITLEN_DSM2);
}
void putDsm2Flush()
@@ -73,9 +84,7 @@ void setupPulsesDSM2()
{
uint8_t dsmDat[14];
extmodulePulsesData.dsm2.index = 0;
extmodulePulsesData.dsm2.ptr = extmodulePulsesData.dsm2.pulses;
reset_dsm2_buffer();
switch (moduleState[EXTERNAL_MODULE].protocol) {
case PROTOCOL_CHANNELS_DSM2_LP45:
@@ -112,3 +121,99 @@ void setupPulsesDSM2()
putDsm2Flush();
}
#define BITLEN_DSMP (17)
static void sendByteDSMP(uint8_t b)
{
_sendByte(b, BITLEN_DSMP);
}
void setupPulsesLemonDSMP()
{
static uint8_t pass = 0;
reset_dsm2_buffer();
const auto& md = g_model.moduleData[EXTERNAL_MODULE];
// TODO: sanetize 'channels'
auto channels = md.getChannelsCount();
auto flags = md.dsmp.flags;
// Force setup packet in Bind mode.
auto module_mode = getModuleMode(EXTERNAL_MODULE);
sendByteDSMP( 0xAA );
sendByteDSMP( pass );
// Setup packet
if (pass == 0) {
if (module_mode == MODULE_MODE_BIND) {
flags = DSM2_SEND_BIND | (1 << 6 /* AUTO */);
channels = 12;
}
sendByteDSMP( flags );
uint8_t pwr = 7;
if (module_mode == MODULE_MODE_RANGECHECK) {
pwr = 4;
}
sendByteDSMP( pwr );
sendByteDSMP( channels );
// Model number
sendByteDSMP( 1 );
// Send only 1 single Setup packet
pass = 1;
} else {
uint8_t start_channel = 0;
if (pass == 2) {
start_channel += 7;
}
// Send channels
for (int i=0; i<7; i++) {
uint8_t channel = start_channel + i;
if (channel < channels) {
int value = channelOutputs[channel] + 2*PPM_CH_CENTER(channel) - 2*PPM_CENTER;
uint16_t pulse;
// Use 11-bit ?
if (flags & (1 << 2)) {
pulse = limit(0, ((value*349)>>9)+1024, 2047) | (channel << 11);
} else {
pulse = limit(0, ((value*13)>>5)+512, 1023) | (channel << 10);
}
sendByteDSMP( pulse >> 8 );
sendByteDSMP( pulse & 0xFF );
} else {
// Outside of announced number of channels:
// -> send invalid values
sendByteDSMP( 0xFF );
sendByteDSMP( 0xFF );
}
}
}
putDsm2Flush();
if (++pass > 2) pass = 1;
if (channels < 8) pass = 1;
if (module_mode == MODULE_MODE_BIND) {
// bind packet is setup
pass = 0;
}
else if (--moduleState[EXTERNAL_MODULE].counter == 0) {
// every 100th packet is setup
pass = 0;
moduleState[EXTERNAL_MODULE].counter = 100;
}
}
+3 -2
View File
@@ -36,11 +36,12 @@ enum ModuleType {
MODULE_TYPE_R9M_PXX2, // R9M ACCESS
MODULE_TYPE_R9M_LITE_PXX1, //R9MLite
MODULE_TYPE_R9M_LITE_PXX2, //R9MLP
MODULE_TYPE_GHOST, // Replaces MODULE_TYPE_R9M_LITE_PRO_PXX1 which doesn't exist
MODULE_TYPE_GHOST,
MODULE_TYPE_R9M_LITE_PRO_PXX2,
MODULE_TYPE_SBUS,
MODULE_TYPE_XJT_LITE_PXX2,
MODULE_TYPE_FLYSKY, //no more protocols possible because of 4 bits value
MODULE_TYPE_FLYSKY,
MODULE_TYPE_LEMON_DSMP,
MODULE_TYPE_COUNT SKIP,
MODULE_TYPE_MAX SKIP = MODULE_TYPE_COUNT - 1
};
+7 -1
View File
@@ -410,6 +410,11 @@ inline bool isModuleAFHDS3(uint8_t idx)
&& (g_model.moduleData[idx].subType == FLYSKY_SUBTYPE_AFHDS3);
}
inline bool isModuleDSMP(uint8_t idx)
{
return g_model.moduleData[idx].type == MODULE_TYPE_LEMON_DSMP;
}
// See enum ModuleType in modules_constant.h
// relative to 8!
static const int8_t maxChannelsModules_M8[] = {
@@ -429,6 +434,7 @@ static const int8_t maxChannelsModules_M8[] = {
8, // MODULE_TYPE_SBUS
0, // MODULE_TYPE_XJT_LITE_PXX2: index NOT USED
6, // MODULE_TYPE_FLYSKY: 14 channels for AFHDS2A, AFHDS3 special cased
4, // MODULE_TYPE_LEMON_DSMP: 12 channels for DSMX
};
static_assert(MODULE_TYPE_COUNT == sizeof(maxChannelsModules_M8),
@@ -616,7 +622,7 @@ inline bool isModuleBindRangeAvailable(uint8_t moduleIdx)
{
return isModulePXX2(moduleIdx) || isModulePXX1(moduleIdx) ||
isModuleDSM2(moduleIdx) || isModuleMultimodule(moduleIdx) ||
isModuleFlySky(moduleIdx);
isModuleFlySky(moduleIdx) || isModuleDSMP(moduleIdx);
}
inline uint32_t getNV14RfFwVersion()
+45 -33
View File
@@ -55,6 +55,32 @@ InternalModulePulsesData intmodulePulsesData __DMA;
ExternalModulePulsesData extmodulePulsesData __DMA;
TrainerPulsesData trainerPulsesData __DMA;
void restartModule(uint8_t idx)
{
if (idx == INTERNAL_MODULE) {
if (!IS_INTERNAL_MODULE_ON()) return;
} else if (idx == EXTERNAL_MODULE){
if (!IS_EXTERNAL_MODULE_ON()) return;
} else {
return;
}
pauseMixerCalculations();
pausePulses();
if (idx == INTERNAL_MODULE) INTERNAL_MODULE_OFF();
else EXTERNAL_MODULE_OFF();
RTOS_WAIT_MS(20); // 20ms so that the pulses interrupt will reinit the frame rate
telemetryProtocol = 255; // force telemetry port + module reinitialization
if (idx == INTERNAL_MODULE) INTERNAL_MODULE_ON();
else EXTERNAL_MODULE_ON();
resumePulses();
resumeMixerCalculations();
}
// use only for PXX
void ModuleState::startBind(BindInformation* destination,
ModuleCallback bindCallback)
@@ -69,39 +95,6 @@ void ModuleState::startBind(BindInformation* destination,
#endif
}
#if defined(HARDWARE_INTERNAL_MODULE)
void restartInternalModule()
{
if (!IS_INTERNAL_MODULE_ON()) {
return;
}
pauseMixerCalculations();
pausePulses();
INTERNAL_MODULE_OFF();
RTOS_WAIT_MS(20); // 20ms so that the pulses interrupt will reinit the frame rate
telemetryProtocol = 255; // force telemetry port + module reinitialization
INTERNAL_MODULE_ON();
resumePulses();
resumeMixerCalculations();
}
#endif
#if defined(HARDWARE_EXTERNAL_MODULE)
void restartExternalModule()
{
if (!IS_EXTERNAL_MODULE_ON()) {
return;
}
pauseMixerCalculations();
pausePulses();
EXTERNAL_MODULE_OFF();
RTOS_WAIT_MS(20); // 20ms so that the pulses interrupt will reinit the frame rate
telemetryProtocol = 255; // force telemetry port + module reinitialization
EXTERNAL_MODULE_ON();
resumePulses();
resumeMixerCalculations();
}
#endif
void ModuleState::readModuleInformation(ModuleInformation* destination,
int8_t first, int8_t last)
{
@@ -305,6 +298,10 @@ uint8_t getRequiredProtocol(uint8_t module)
break;
#endif
case MODULE_TYPE_LEMON_DSMP:
protocol = PROTOCOL_CHANNELS_DSMP;
break;
default:
protocol = PROTOCOL_CHANNELS_NONE;
break;
@@ -589,6 +586,11 @@ void enablePulsesExternalModule(uint8_t protocol)
break;
#endif
case PROTOCOL_CHANNELS_DSMP:
extmoduleSerialStart();
mixerSchedulerSetPeriod(EXTERNAL_MODULE, 11 * 1000 /* 11ms in us */);
break;
default:
// external module stopped, use default mixer period
mixerSchedulerSetPeriod(EXTERNAL_MODULE, 0);
@@ -670,6 +672,10 @@ bool setupPulsesExternalModule(uint8_t protocol)
return true;
#endif
case PROTOCOL_CHANNELS_DSMP:
setupPulsesLemonDSMP();
return true;
default:
return false;
}
@@ -730,6 +736,12 @@ void extmoduleSendNextFrame()
extmodulePulsesData.dsm2.ptr - extmodulePulsesData.dsm2.pulses);
break;
#endif
case PROTOCOL_CHANNELS_DSMP:
extmoduleSendNextFrameSoftSerial(
extmodulePulsesData.dsm2.pulses,
extmodulePulsesData.dsm2.ptr - extmodulePulsesData.dsm2.pulses,
true);
break;
#if defined(GHOST)
case PROTOCOL_CHANNELS_GHOST:
+4 -6
View File
@@ -67,10 +67,10 @@ extern uint8_t s_pulses_paused;
typedef void (* ModuleCallback)();
PACK(struct ModuleState {
uint8_t protocol:4;
uint8_t protocol;
uint8_t mode:4;
uint8_t paused:1;
uint8_t spare:7;
uint8_t spare:3;
uint16_t counter;
// PXX specific items
@@ -233,7 +233,9 @@ bool setupPulsesExternalModule();
void stopPulsesExternalModule();
void extmoduleSendNextFrame();
#endif
void restartModule(uint8_t idx);
void setupPulsesDSM2();
void setupPulsesLemonDSMP();
void setupPulsesCrossfire(uint8_t idx);
void setupPulsesGhost();
void setupPulsesMultiExternalModule();
@@ -242,9 +244,7 @@ void setupPulsesSbus();
void setupPulsesPPMInternalModule();
void setupPulsesPPMExternalModule();
void setupPulsesPPMTrainer();
void sendByteDsm2(uint8_t b);
void putDsm2Flush();
void putDsm2SerialBit(uint8_t bit);
void sendByteSbus(uint8_t b);
void intmodulePpmStart();
void intmodulePxx1PulsesStart();
@@ -254,8 +254,6 @@ void extmodulePxx1SerialStart();
void extmodulePpmStart();
void intmoduleStop();
void extmoduleStop();
void restartInternalModule();
void restartExternalModule();
void getModuleStatusString(uint8_t moduleIdx, char * statusText);
void getModuleSyncStatusString(uint8_t moduleIdx, char * statusText);
#if defined(AFHDS3)
@@ -467,6 +467,8 @@ static uint8_t select_mod_type(void* user, uint8_t* data, uint32_t bitoffs)
return 8;
case MODULE_TYPE_CROSSFIRE:
return 9;
case MODULE_TYPE_LEMON_DSMP:
return 10;
}
return 0;
}
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -673,6 +674,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -684,6 +689,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -729,61 +735,61 @@ static const struct YamlNode struct_string_32[] = {
YAML_STRING("val", 4),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -796,7 +802,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_WidgetPersistentData[] = {
+24 -18
View File
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -641,6 +642,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -652,6 +657,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -692,61 +698,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -759,7 +765,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
+24 -18
View File
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -641,6 +642,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -652,6 +657,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -692,61 +698,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -759,7 +765,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -641,6 +642,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -652,6 +657,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -692,61 +698,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -759,7 +765,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -647,6 +648,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -658,6 +663,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -698,61 +704,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -765,7 +771,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -641,6 +642,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -652,6 +657,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -692,61 +698,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -759,7 +765,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
+24 -18
View File
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -694,6 +695,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -705,6 +710,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -750,61 +756,61 @@ static const struct YamlNode struct_string_32[] = {
YAML_STRING("val", 4),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -817,7 +823,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_WidgetPersistentData[] = {
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -692,6 +693,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -703,6 +708,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -748,61 +754,61 @@ static const struct YamlNode struct_string_32[] = {
YAML_STRING("val", 4),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -815,7 +821,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_WidgetPersistentData[] = {
+24 -18
View File
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -641,6 +642,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -652,6 +657,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -692,61 +698,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -759,7 +765,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
+24 -18
View File
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -649,6 +650,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -660,6 +665,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -705,61 +711,61 @@ static const struct YamlNode struct_string_32[] = {
YAML_STRING("val", 4),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -772,7 +778,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
+24 -18
View File
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -688,6 +689,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -699,6 +704,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -744,61 +750,61 @@ static const struct YamlNode struct_string_32[] = {
YAML_STRING("val", 4),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -811,7 +817,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -626,6 +627,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -637,6 +642,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -677,61 +683,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -744,7 +750,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -636,6 +637,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -647,6 +652,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -687,61 +693,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -754,7 +760,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -633,6 +634,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -644,6 +649,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -684,61 +690,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -751,7 +757,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -637,6 +638,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -648,6 +653,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -688,61 +694,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -755,7 +761,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
@@ -36,6 +36,7 @@ const struct YamlIdStr enum_ModuleType[] = {
{ MODULE_TYPE_SBUS, "TYPE_SBUS" },
{ MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" },
{ MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" },
{ MODULE_TYPE_LEMON_DSMP, "TYPE_LEMON_DSMP" },
{ 0, NULL }
};
const struct YamlIdStr enum_TrainerMultiplex[] = {
@@ -641,6 +642,10 @@ static const struct YamlNode struct_anonymous_13[] = {
YAML_UNSIGNED( "telemetryBaudrate", 3 ),
YAML_END
};
static const struct YamlNode struct_anonymous_14[] = {
YAML_UNSIGNED( "flags", 8 ),
YAML_END
};
static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL),
YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL),
@@ -652,6 +657,7 @@ static const struct YamlNode union_anonymous_4_elmts[] = {
YAML_STRUCT("afhds3", 64, struct_anonymous_11, NULL),
YAML_STRUCT("ghost", 8, struct_anonymous_12, NULL),
YAML_STRUCT("crsf", 8, struct_anonymous_13, NULL),
YAML_STRUCT("dsmp", 8, struct_anonymous_14, NULL),
YAML_END
};
static const struct YamlNode struct_ModuleData[] = {
@@ -692,61 +698,61 @@ static const struct YamlNode struct_ScriptData[] = {
YAML_ARRAY("inputs", 16, 6, union_ScriptDataInput, NULL),
YAML_END
};
static const struct YamlNode union_anonymous_14_elmts[] = {
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_UNSIGNED( "id", 16 ),
YAML_UNSIGNED( "persistentValue", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_16[] = {
static const struct YamlNode struct_anonymous_17[] = {
YAML_UNSIGNED( "physID", 5 ),
YAML_UNSIGNED( "rxIndex", 3 ),
YAML_END
};
static const struct YamlNode union_anonymous_15_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_16, NULL),
static const struct YamlNode union_anonymous_16_elmts[] = {
YAML_STRUCT("frskyInstance", 8, struct_anonymous_17, NULL),
YAML_UNSIGNED( "instance", 8 ),
YAML_ENUM("formula", 8, enum_TelemetrySensorFormula),
YAML_END
};
static const struct YamlNode struct_anonymous_18[] = {
static const struct YamlNode struct_anonymous_19[] = {
YAML_UNSIGNED( "ratio", 16 ),
YAML_SIGNED( "offset", 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_19[] = {
static const struct YamlNode struct_anonymous_20[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_UNSIGNED( "index", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode struct_anonymous_20[] = {
static const struct YamlNode struct_anonymous_21[] = {
YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL),
YAML_END
};
static const struct YamlNode struct_anonymous_21[] = {
static const struct YamlNode struct_anonymous_22[] = {
YAML_UNSIGNED( "source", 8 ),
YAML_PADDING( 24 ),
YAML_END
};
static const struct YamlNode struct_anonymous_22[] = {
static const struct YamlNode struct_anonymous_23[] = {
YAML_UNSIGNED( "gps", 8 ),
YAML_UNSIGNED( "alt", 8 ),
YAML_PADDING( 16 ),
YAML_END
};
static const struct YamlNode union_anonymous_17_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_18, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_19, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_20, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_21, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_22, NULL),
static const struct YamlNode union_anonymous_18_elmts[] = {
YAML_STRUCT("custom", 32, struct_anonymous_19, NULL),
YAML_STRUCT("cell", 32, struct_anonymous_20, NULL),
YAML_STRUCT("calc", 32, struct_anonymous_21, NULL),
YAML_STRUCT("consumption", 32, struct_anonymous_22, NULL),
YAML_STRUCT("dist", 32, struct_anonymous_23, NULL),
YAML_UNSIGNED( "param", 32 ),
YAML_END
};
static const struct YamlNode struct_TelemetrySensor[] = {
YAML_IDX,
YAML_UNION("id1", 16, union_anonymous_14_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_15_elmts, select_id2),
YAML_UNION("id1", 16, union_anonymous_15_elmts, select_id1),
YAML_UNION("id2", 8, union_anonymous_16_elmts, select_id2),
YAML_STRING("label", 4),
YAML_UNSIGNED( "subId", 8 ),
YAML_ENUM("type", 1, enum_TelemetrySensorType),
@@ -759,7 +765,7 @@ static const struct YamlNode struct_TelemetrySensor[] = {
YAML_UNSIGNED( "persistent", 1 ),
YAML_UNSIGNED( "onlyPositive", 1 ),
YAML_PADDING( 1 ),
YAML_UNION("cfg", 32, union_anonymous_17_elmts, select_sensor_cfg),
YAML_UNION("cfg", 32, union_anonymous_18_elmts, select_sensor_cfg),
YAML_END
};
static const struct YamlNode struct_FrSkyBarData[] = {
@@ -182,6 +182,10 @@ void telemetryPortInvertedInit(uint32_t baudrate)
probeTimeFromStartBit = 3000000/baudrate;
}
#if defined(PCBX12S)
telemetryFifoMode = TELEMETRY_SERIAL_WITHOUT_DMA;
#endif
// configure bit sample timer
TELEMETRY_TIMER->PSC = (PERI2_FREQUENCY * TIMER_MULT_APB2) / 2000000 - 1; // 0.5uS
TELEMETRY_TIMER->CCER = 0;
+2 -33
View File
@@ -66,48 +66,17 @@ bool isForcePowerOffRequested()
return false;
}
// TODO: remove this!!!
bool isModuleSynchronous(uint8_t moduleIdx)
{
switch(moduleState[moduleIdx].protocol) {
case PROTOCOL_CHANNELS_PXX2_HIGHSPEED:
case PROTOCOL_CHANNELS_PXX2_LOWSPEED:
case PROTOCOL_CHANNELS_CROSSFIRE:
case PROTOCOL_CHANNELS_GHOST:
case PROTOCOL_CHANNELS_AFHDS3:
case PROTOCOL_CHANNELS_AFHDS2A:
case PROTOCOL_CHANNELS_NONE:
#if defined(MULTIMODULE)
case PROTOCOL_CHANNELS_MULTIMODULE:
#endif
#if defined(INTMODULE_USART) || defined(EXTMODULE_USART)
case PROTOCOL_CHANNELS_PXX1_SERIAL:
#endif
case PROTOCOL_CHANNELS_PPM:
case PROTOCOL_CHANNELS_PXX1_PULSES:
#if defined(DSM2)
case PROTOCOL_CHANNELS_SBUS:
case PROTOCOL_CHANNELS_DSM2_LP45:
case PROTOCOL_CHANNELS_DSM2_DSM2:
case PROTOCOL_CHANNELS_DSM2_DSMX:
#endif
return true;
}
return false;
}
void sendSynchronousPulses(uint8_t runMask)
{
#if defined(HARDWARE_INTERNAL_MODULE)
if ((runMask & (1 << INTERNAL_MODULE)) && isModuleSynchronous(INTERNAL_MODULE)) {
if (runMask & (1 << INTERNAL_MODULE)) {
if (setupPulsesInternalModule())
intmoduleSendNextFrame();
}
#endif
#if defined(HARDWARE_EXTERNAL_MODULE)
if ((runMask & (1 << EXTERNAL_MODULE)) && isModuleSynchronous(EXTERNAL_MODULE)) {
if (runMask & (1 << EXTERNAL_MODULE)) {
if (setupPulsesExternalModule())
extmoduleSendNextFrame();
}
+34 -5
View File
@@ -504,7 +504,28 @@ void processSpektrumPacket(const uint8_t *packet)
void processDSMBindPacket(uint8_t module, const uint8_t *packet)
{
uint32_t debugval;
if (g_model.moduleData[module].type == MODULE_TYPE_MULTIMODULE && g_model.moduleData[module].multi.rfProtocol == MODULE_SUBTYPE_MULTI_DSM2 && g_model.moduleData[module].subType == MM_RF_DSM2_SUBTYPE_AUTO) {
if (g_model.moduleData[module].type == MODULE_TYPE_LEMON_DSMP) {
// save flags
g_model.moduleData[module].dsmp.flags = packet[0] & 0x3F;
// save number of channels
uint8_t channels = packet[2];
if (channels > 12) { channels = 12; }
g_model.moduleData[module].channelsCount = channels - 8;
TRACE("[SPK] DSMP bind packet: 0x%X / %i",
packet[0] & 0x3F, packet[2]);
storageDirty(EE_MODEL);
restartModule(EXTERNAL_MODULE);
} else if (g_model.moduleData[module].type == MODULE_TYPE_MULTIMODULE &&
g_model.moduleData[module].multi.rfProtocol ==
MODULE_SUBTYPE_MULTI_DSM2 &&
g_model.moduleData[module].subType == MM_RF_DSM2_SUBTYPE_AUTO) {
// Only sets channel etc when in DSM/AUTO mode
int channels = packet[5];
if (channels > 12) {
@@ -548,12 +569,20 @@ void processDSMBindPacket(uint8_t module, const uint8_t *packet)
setTelemetryValue(PROTOCOL_TELEMETRY_SPEKTRUM, (I2C_PSEUDO_TX << 8) + 4, 0, 0, debugval, UNIT_RAW, 0);
/* Finally stop binding as the rx just told us that it is bound */
if (g_model.moduleData[module].type == MODULE_TYPE_MULTIMODULE && g_model.moduleData[module].multi.rfProtocol == MODULE_SUBTYPE_MULTI_DSM2 && moduleState[module].mode == MODULE_MODE_BIND) {
setMultiBindStatus(module, MULTI_BIND_FINISHED);
if (getModuleMode(module) == MODULE_MODE_BIND) {
auto module_type = g_model.moduleData[module].type;
if (module_type == MODULE_TYPE_MULTIMODULE &&
g_model.moduleData[module].multi.rfProtocol ==
MODULE_SUBTYPE_MULTI_DSM2) {
setMultiBindStatus(module, MULTI_BIND_FINISHED);
} else if (module_type == MODULE_TYPE_LEMON_DSMP) {
setModuleMode(module, MODULE_MODE_NORMAL);
}
}
}
void processSpektrumTelemetryData(uint8_t module, uint8_t data, uint8_t* rxBuffer, uint8_t& rxBufferCount)
void processSpektrumTelemetryData(uint8_t module, uint8_t data,
uint8_t *rxBuffer, uint8_t &rxBufferCount)
{
if (rxBufferCount == 0 && data != 0xAA) {
TRACE("[SPK] invalid start byte 0x%02X", data);
+10 -4
View File
@@ -122,11 +122,14 @@ void processTelemetryData(uint8_t data)
}
#endif
#if defined(MULTIMODULE)
if (telemetryProtocol == PROTOCOL_TELEMETRY_SPEKTRUM) {
processSpektrumTelemetryData(EXTERNAL_MODULE, data, telemetryRxBuffer, telemetryRxBufferCount);
if (telemetryProtocol == PROTOCOL_TELEMETRY_SPEKTRUM ||
telemetryProtocol == PROTOCOL_TELEMETRY_DSMP) {
processSpektrumTelemetryData(EXTERNAL_MODULE, data, telemetryRxBuffer,
telemetryRxBufferCount);
return;
}
#if defined(MULTIMODULE)
if (telemetryProtocol == PROTOCOL_TELEMETRY_FLYSKY_IBUS) {
processFlySkyTelemetryData(data, telemetryRxBuffer, telemetryRxBufferCount);
return;
@@ -489,7 +492,10 @@ void telemetryInit(uint8_t protocol)
telemetryPortSetDirectionInput();
}
#endif
else if (protocol == PROTOCOL_TELEMETRY_DSMP) {
// soft serial
telemetryPortInvertedInit(115200);
}
else {
telemetryPortInit(FRSKY_SPORT_BAUDRATE, TELEMETRY_SERIAL_WITHOUT_DMA);
#if defined(LUA)
+4
View File
@@ -198,6 +198,10 @@ inline uint8_t modelTelemetryProtocol()
}
#endif
if (isModuleDSMP(EXTERNAL_MODULE)) {
return PROTOCOL_TELEMETRY_DSMP;
}
// default choice
return PROTOCOL_TELEMETRY_FRSKY_SPORT;
}
+1 -1
View File
@@ -131,7 +131,7 @@
#endif
#define LEN_EXTERNAL_MODULE_PROTOCOLS "\014"
#define TR_EXTERNAL_MODULE_PROTOCOLS "OFF\0 ""PPM\0 ""XJT\0 ""ISRM\0 ""DSM2\0 ""CRSF\0 ""MULTI\0 ""R9M\0 ""R9M ACCESS\0 " TR_MODULE_R9M_LITE "R9ML ACCESS\0""GHST\0 ""R9MLP ACCESS""SBUS\0 ""XJT Lite\0 ""FLYSKY\0 "
#define TR_EXTERNAL_MODULE_PROTOCOLS "OFF\0 ""PPM\0 ""XJT\0 ""ISRM\0 ""DSM2\0 ""CRSF\0 ""MULTI\0 ""R9M\0 ""R9M ACCESS\0 " TR_MODULE_R9M_LITE "R9ML ACCESS\0""GHST\0 ""R9MLP ACCESS""SBUS\0 ""XJT Lite\0 ""FLYSKY\0 ""LemonRx DSMP"
#define LEN_FLYSKY_PROTOCOLS "\007"
#define TR_FLYSKY_PROTOCOLS "AFHDS3\0""AFHDS2A"