From 9ac97ed5b85f423373393e2a99ced7ad74fe685e Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 1 Apr 2019 11:34:41 +0200 Subject: [PATCH] Conversion fixes --- radio/src/datastructs.h | 4 ++-- .../storage/conversions/conversions_218_219.cpp | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 08b8f9388..27d76cb4b 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -610,14 +610,14 @@ PACK(struct ModelData { NOBACKUP(FrSkyTelemetryData frsky); NOBACKUP(RssiAlarmData rssiAlarms); - NOBACKUP(uint8_t spare:6); + NOBACKUP(uint8_t spare1:6); NOBACKUP(uint8_t potsWarnMode:2); ModuleData moduleData[NUM_MODULES]; ReceiverData receiverData[NUM_RECEIVERS]; int16_t failsafeChannels[MAX_OUTPUT_CHANNELS]; TrainerModuleData trainerData; -#if defined(PCBHORUS) || defined(PCBTARANIS) +#if defined(PCBHORUS) || defined(PCBTARANIS) NOBACKUP(ScriptData scriptsData[MAX_SCRIPTS]); #endif diff --git a/radio/src/storage/conversions/conversions_218_219.cpp b/radio/src/storage/conversions/conversions_218_219.cpp index db68a7201..c92293e36 100644 --- a/radio/src/storage/conversions/conversions_218_219.cpp +++ b/radio/src/storage/conversions/conversions_218_219.cpp @@ -48,7 +48,12 @@ void convertModelData_218_to_219(ModelData &model) TRACE("Model %s conversion from v218 to v219", name); for (int i=0; i= MODULE_TYPE_XJT2) + newModel.moduleData[i].type += 1; + if (newModel.moduleData[i].type >= MODULE_TYPE_R9M2) + newModel.moduleData[i].type += 4; } for (uint8_t module=0; module<2; module++) { @@ -66,13 +71,19 @@ void convertModelData_218_to_219(ModelData &model) newModel.trainerData.delay = oldModel.moduleData[NUM_MODULES].ppm.delay; newModel.trainerData.pulsePol = oldModel.moduleData[NUM_MODULES].ppm.pulsePol; -#if !defined(PCBSKY9X) +#if defined(PCBHORUS) || defined(PCBTARANIS) memcpy(newModel.scriptsData, oldModel.scriptsData, sizeof(newModel.scriptsData) + sizeof(newModel.inputNames) + sizeof(newModel.potsWarnEnabled) + sizeof(newModel.potsWarnPosition) + sizeof(oldModel.telemetrySensors)); +#else + memcpy(newModel.inputNames, oldModel.inputNames, + sizeof(newModel.inputNames) + + sizeof(newModel.potsWarnEnabled) + + sizeof(newModel.potsWarnPosition) + + sizeof(oldModel.telemetrySensors)); #endif #if defined(PCBX9E)