mirror of
https://github.com/opentx/opentx.git
synced 2025-07-18 05:45:21 +03:00
Conversion fixes
This commit is contained in:
parent
348fff9a0d
commit
a04cdb32da
6 changed files with 62 additions and 41 deletions
|
@ -46,8 +46,20 @@
|
|||
#define MAX_SCRIPTS 9
|
||||
#define MAX_INPUTS 32
|
||||
#define MAX_TRAINER_CHANNELS 16
|
||||
#define MAX_TELEMETRY_SENSORS 64
|
||||
#define MAX_TELEMETRY_SENSORS 60
|
||||
#define MAX_CUSTOM_SCREENS 5
|
||||
#elif defined(PCBX9)
|
||||
#define MAX_MODELS 60
|
||||
#define MAX_OUTPUT_CHANNELS 32 // number of real output channels CH1-CH32
|
||||
#define MAX_FLIGHT_MODES 9
|
||||
#define MAX_MIXERS 64
|
||||
#define MAX_EXPOS 64
|
||||
#define MAX_LOGICAL_SWITCHES 64
|
||||
#define MAX_SPECIAL_FUNCTIONS 64 // number of functions assigned to switches
|
||||
#define MAX_SCRIPTS 7
|
||||
#define MAX_INPUTS 32
|
||||
#define MAX_TRAINER_CHANNELS 16
|
||||
#define MAX_TELEMETRY_SENSORS 60
|
||||
#elif defined(PCBTARANIS)
|
||||
#define MAX_MODELS 60
|
||||
#define MAX_OUTPUT_CHANNELS 32 // number of real output channels CH1-CH32
|
||||
|
|
|
@ -915,16 +915,16 @@ static inline void check_struct()
|
|||
CHKSIZE(ModelData, 6117);
|
||||
#elif defined(PCBX9E)
|
||||
CHKSIZE(RadioData, 960);
|
||||
CHKSIZE(ModelData, 6550);
|
||||
CHKSIZE(ModelData, 6554);
|
||||
#elif defined(PCBX9D) || defined(PCBX9DP)
|
||||
CHKSIZE(RadioData, 880);
|
||||
CHKSIZE(ModelData, 6281);
|
||||
CHKSIZE(ModelData, 6541);
|
||||
#elif defined(PCBSKY9X)
|
||||
CHKSIZE(RadioData, 735);
|
||||
CHKSIZE(ModelData, 5279);
|
||||
#elif defined(PCBHORUS)
|
||||
CHKSIZE(RadioData, 855);
|
||||
CHKSIZE(ModelData, 9726);
|
||||
CHKSIZE(ModelData, 9674);
|
||||
#endif
|
||||
|
||||
#undef CHKSIZE
|
||||
|
|
|
@ -6,7 +6,7 @@ if(PCB STREQUAL SKY9X OR PCB STREQUAL AR9X OR PCB STREQUAL 9XRPRO)
|
|||
set(EEPROM_CONVERSIONS 216)
|
||||
endif()
|
||||
|
||||
if(PCB STREQUAL X7 OR PCB STREQUAL XLITE)
|
||||
if(PCB STREQUAL X7 OR PCB STREQUAL XLITE OR PCB STREQUAL X9E)
|
||||
set(EEPROM_CONVERSIONS 218)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -901,7 +901,7 @@ void convertModelData_216_to_217(ModelData &model)
|
|||
// PPM center range
|
||||
// Telemetry custom screens
|
||||
|
||||
assert(sizeof(ModelData_v216) <= sizeof(ModelData));
|
||||
static_assert(sizeof(ModelData_v216) <= sizeof(ModelData));
|
||||
|
||||
ModelData_v216 oldModel;
|
||||
memcpy(&oldModel, &model, sizeof(oldModel));
|
||||
|
@ -1076,7 +1076,7 @@ void convertModelData_216_to_217(ModelData &model)
|
|||
|
||||
void convertModelData_217_to_218(ModelData &model)
|
||||
{
|
||||
assert(sizeof(ModelData_v217) <= sizeof(ModelData));
|
||||
static_assert(sizeof(ModelData_v217) <= sizeof(ModelData));
|
||||
|
||||
ModelData_v217 oldModel;
|
||||
memcpy(&oldModel, &model, sizeof(oldModel));
|
||||
|
|
|
@ -34,7 +34,7 @@ typedef ModelData ModelData_v219;
|
|||
|
||||
void convertModelData_218_to_219(ModelData &model)
|
||||
{
|
||||
assert(sizeof(ModelData_v218) <= sizeof(ModelData));
|
||||
static_assert(sizeof(ModelData_v218) <= sizeof(ModelData));
|
||||
|
||||
ModelData_v218 oldModel;
|
||||
memcpy(&oldModel, &model, sizeof(oldModel));
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
#define LEN_FUNCTION_NAME_218 8
|
||||
#define MAX_CURVES_218 32
|
||||
#define MAX_CURVE_POINTS_218 512
|
||||
#elif defined(CPUARM)
|
||||
#else
|
||||
#define LEN_MODEL_NAME_218 10
|
||||
#define LEN_TIMER_NAME_218 3
|
||||
#define LEN_FLIGHT_MODE_NAME_218 6
|
||||
|
@ -91,11 +91,6 @@
|
|||
#define LEN_FUNCTION_NAME_218 6
|
||||
#define MAX_CURVES_218 16
|
||||
#define MAX_CURVE_POINTS_218 512
|
||||
#else
|
||||
#define LEN_MODEL_NAME_218 10
|
||||
#define LEN_FLIGHT_MODE_NAME_218 6
|
||||
#define MAX_CURVES_218 8
|
||||
#define MAX_CURVE_POINTS_218 (112-MAX_CURVES_218)
|
||||
#endif
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
|
@ -261,24 +256,30 @@ PACK(typedef struct { // Logical Switches data
|
|||
uint8_t duration;
|
||||
}) LogicalSwitchData_v218;
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
#define CFN_SPARE_TYPE int32_t
|
||||
#else
|
||||
#define CFN_SPARE_TYPE int16_t
|
||||
#endif
|
||||
|
||||
PACK(typedef struct {
|
||||
int16_t swtch:9;
|
||||
uint16_t func:7;
|
||||
PACK(union {
|
||||
PACK(struct {
|
||||
char name[8];
|
||||
char name[LEN_FUNCTION_NAME_218];
|
||||
}) play;
|
||||
|
||||
PACK(struct {
|
||||
int16_t val;
|
||||
uint8_t mode;
|
||||
uint8_t param;
|
||||
int32_t spare2;
|
||||
CFN_SPARE_TYPE spare2;
|
||||
}) all;
|
||||
|
||||
PACK(struct {
|
||||
int32_t val1;
|
||||
int32_t val2;
|
||||
CFN_SPARE_TYPE val2;
|
||||
}) clear;
|
||||
});
|
||||
uint8_t active;
|
||||
|
@ -326,13 +327,13 @@ PACK(struct FrSkyTelemetryData_v217 {
|
|||
#endif
|
||||
|
||||
#if defined(PCBX12S)
|
||||
#define MODELDATA_EXTRA_218 uint8_t spare:3;uint8_t trainerMode:3;uint8_t potsWarnMode:2; ModuleData_v218 moduleData[NUM_MODULES+1];ScriptData scriptsData[MAX_SCRIPTS_218];char inputNames[MAX_INPUTS_218][LEN_INPUT_NAME_218];;uint8_t potsWarnEnabled;;int8_t potsWarnPosition[NUM_POTS+NUM_SLIDERS];;
|
||||
#define MODELDATA_EXTRA_218 uint8_t spare:3;uint8_t trainerMode:3;uint8_t potsWarnMode:2; ModuleData_v218 moduleData[NUM_MODULES+1];ScriptData scriptsData[MAX_SCRIPTS_218];char inputNames[MAX_INPUTS_218][LEN_INPUT_NAME_218];;uint8_t potsWarnEnabled;;int8_t potsWarnPosition[NUM_POTS+NUM_SLIDERS];;
|
||||
#elif defined(PCBX10)
|
||||
#define MODELDATA_EXTRA_218 uint8_t spare:3;;uint8_t trainerMode:3;;uint8_t potsWarnMode:2;; ModuleData_v218 moduleData[NUM_MODULES+1];ScriptData scriptsData[MAX_SCRIPTS_218];;char inputNames[MAX_INPUTS_218][LEN_INPUT_NAME_218];;uint8_t potsWarnEnabled;;int8_t potsWarnPosition[NUM_POTS+NUM_SLIDERS];;uint8_t potsWarnSpares[NUM_DUMMY_ANAS];;
|
||||
#define MODELDATA_EXTRA_218 uint8_t spare:3;;uint8_t trainerMode:3;;uint8_t potsWarnMode:2;; ModuleData_v218 moduleData[NUM_MODULES+1];ScriptData scriptsData[MAX_SCRIPTS_218];;char inputNames[MAX_INPUTS_218][LEN_INPUT_NAME_218];;uint8_t potsWarnEnabled;;int8_t potsWarnPosition[NUM_POTS+NUM_SLIDERS];;uint8_t potsWarnSpares[NUM_DUMMY_ANAS];;
|
||||
#elif defined(PCBTARANIS)
|
||||
#define MODELDATA_EXTRA_218 uint8_t spare:3; uint8_t trainerMode:3; uint8_t potsWarnMode:2; ModuleData_v218 moduleData[NUM_MODULES+1]; ScriptData scriptsData[MAX_SCRIPTS_218]; char inputNames[MAX_INPUTS_218][LEN_INPUT_NAME_218]; uint8_t potsWarnEnabled; int8_t potsWarnPosition[NUM_POTS+NUM_SLIDERS];
|
||||
#define MODELDATA_EXTRA_218 uint8_t spare:3; uint8_t trainerMode:3; uint8_t potsWarnMode:2; ModuleData_v218 moduleData[NUM_MODULES+1]; ScriptData scriptsData[MAX_SCRIPTS_218]; char inputNames[MAX_INPUTS_218][LEN_INPUT_NAME_218]; uint8_t potsWarnEnabled; int8_t potsWarnPosition[NUM_POTS+NUM_SLIDERS];
|
||||
#elif defined(PCBSKY9X)
|
||||
#define MODELDATA_EXTRA_218 uint8_t spare:6; uint8_t potsWarnMode:2; ModuleData_v218 moduleData[NUM_MODULES+1]; char inputNames[MAX_INPUTS_218][LEN_INPUT_NAME_218]; uint8_t potsWarnEnabled; int8_t potsWarnPosition[NUM_POTS+NUM_SLIDERS]; uint8_t rxBattAlarms[2];
|
||||
#define MODELDATA_EXTRA_218 uint8_t spare:6; uint8_t potsWarnMode:2; ModuleData_v218 moduleData[NUM_MODULES+1]; char inputNames[MAX_INPUTS_218][LEN_INPUT_NAME_218]; uint8_t potsWarnEnabled; int8_t potsWarnPosition[NUM_POTS+NUM_SLIDERS]; uint8_t rxBattAlarms[2];
|
||||
#else
|
||||
#define MODELDATA_EXTRA_218
|
||||
#endif
|
||||
|
@ -382,11 +383,23 @@ PACK(typedef struct {
|
|||
|
||||
#if defined(PCBHORUS)
|
||||
// TODO conversion for custom screens?
|
||||
#else
|
||||
#elif defined(PCBTARANIS)
|
||||
uint8_t view;
|
||||
#endif
|
||||
}) ModelData_v218;
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
static_assert(sizeof(ModelData_v218) == 9380);
|
||||
#elif defined(PCBX9E)
|
||||
static_assert(sizeof(ModelData_v218) == 6520);
|
||||
#elif defined(PCBX9D)
|
||||
static_assert(sizeof(ModelData_v218) == 6507);
|
||||
#elif defined(PCBXLITE) || defined(PCBX7)
|
||||
static_assert(sizeof(ModelData_v218) == 6025);
|
||||
#elif defined(PCBSKY9X)
|
||||
static_assert(sizeof(ModelData_v218) == 5188);
|
||||
#endif
|
||||
|
||||
#define EXTRA_GENERAL_FIELDS_GENERAL_218 \
|
||||
uint8_t backlightBright; \
|
||||
uint32_t globalTimer; \
|
||||
|
@ -453,12 +466,8 @@ PACK(typedef struct {
|
|||
uint8_t rotarySteps; \
|
||||
char switchNames[NUM_SWITCHES_218][LEN_SWITCH_NAME_218]; \
|
||||
char anaNames[NUM_STICKS+NUM_POTS+NUM_SLIDERS][LEN_ANA_NAME_218];
|
||||
#elif defined(CPUARM)
|
||||
#define EXTRA_GENERAL_FIELDS_218 EXTRA_GENERAL_FIELDS_GENERAL_218
|
||||
#elif defined(PXX)
|
||||
#define EXTRA_GENERAL_FIELDS_218 uint8_t countryCode;
|
||||
#else
|
||||
#define EXTRA_GENERAL_FIELDS_218
|
||||
#define EXTRA_GENERAL_FIELDS_218 EXTRA_GENERAL_FIELDS_GENERAL_218
|
||||
#endif
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue