Conversions refactoring started
This commit is contained in:
@@ -134,6 +134,7 @@ endif()
|
||||
if(ARCH STREQUAL ARM AND NOT PCB STREQUAL X12S AND NOT PCB STREQUAL X10 AND NOT PCB STREQUAL XLITE AND NOT PCB STREQUAL XLITES AND NOT PCB STREQUAL X3)
|
||||
add_definitions(-DEEPROM_CONVERSIONS)
|
||||
set(SRC ${SRC} storage/eeprom_conversions.cpp)
|
||||
# set(SRC ${SRC} storage/conversions/conversions_216_217.cpp)
|
||||
endif()
|
||||
|
||||
add_definitions(-DFLAVOUR="${FLAVOUR}")
|
||||
|
||||
@@ -1,3 +1,207 @@
|
||||
#include <string.h>
|
||||
#include "datastructs_216.h"
|
||||
|
||||
enum SwitchSources {
|
||||
SWSRC_NONE = 0,
|
||||
|
||||
SWSRC_FIRST_SWITCH,
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
SWSRC_SA0 = SWSRC_FIRST_SWITCH,
|
||||
SWSRC_SA1,
|
||||
SWSRC_SA2,
|
||||
SWSRC_SB0,
|
||||
SWSRC_SB1,
|
||||
SWSRC_SB2,
|
||||
SWSRC_SC0,
|
||||
SWSRC_SC1,
|
||||
SWSRC_SC2,
|
||||
SWSRC_SD0,
|
||||
SWSRC_SD1,
|
||||
SWSRC_SD2,
|
||||
SWSRC_SE0,
|
||||
SWSRC_SE1,
|
||||
SWSRC_SE2,
|
||||
SWSRC_SF0,
|
||||
SWSRC_SF2,
|
||||
SWSRC_SG0,
|
||||
SWSRC_SG1,
|
||||
SWSRC_SG2,
|
||||
SWSRC_SH0,
|
||||
SWSRC_SH2,
|
||||
SWSRC_TRAINER = SWSRC_SH2,
|
||||
#else
|
||||
SWSRC_ID0 = SWSRC_FIRST_SWITCH,
|
||||
SWSRC_ID1,
|
||||
SWSRC_ID2,
|
||||
SWSRC_THR,
|
||||
SWSRC_RUD,
|
||||
SWSRC_ELE,
|
||||
SWSRC_AIL,
|
||||
SWSRC_GEA,
|
||||
SWSRC_TRN,
|
||||
SWSRC_TRAINER = SWSRC_TRN,
|
||||
#endif
|
||||
|
||||
SWSRC_LAST_SWITCH = SWSRC_TRAINER,
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
SWSRC_FIRST_MULTIPOS_SWITCH,
|
||||
SWSRC_LAST_MULTIPOS_SWITCH = SWSRC_FIRST_MULTIPOS_SWITCH + (NUM_XPOTS*XPOTS_MULTIPOS_COUNT) - 1,
|
||||
#endif
|
||||
|
||||
SWSRC_FIRST_TRIM,
|
||||
SWSRC_TrimRudLeft = SWSRC_FIRST_TRIM,
|
||||
SWSRC_TrimRudRight,
|
||||
SWSRC_TrimEleDown,
|
||||
SWSRC_TrimEleUp,
|
||||
SWSRC_TrimThrDown,
|
||||
SWSRC_TrimThrUp,
|
||||
SWSRC_TrimAilLeft,
|
||||
SWSRC_TrimAilRight,
|
||||
SWSRC_LAST_TRIM = SWSRC_TrimAilRight,
|
||||
|
||||
#if defined(PCBSKY9X)
|
||||
SWSRC_REa,
|
||||
#endif
|
||||
|
||||
SWSRC_FIRST_LOGICAL_SWITCH,
|
||||
SWSRC_SW1 = SWSRC_FIRST_LOGICAL_SWITCH,
|
||||
SWSRC_SW2,
|
||||
SWSRC_SW3,
|
||||
SWSRC_SW4,
|
||||
SWSRC_SW5,
|
||||
SWSRC_SW6,
|
||||
SWSRC_SW7,
|
||||
SWSRC_SW8,
|
||||
SWSRC_SW9,
|
||||
SWSRC_SWA,
|
||||
SWSRC_SWB,
|
||||
SWSRC_SWC,
|
||||
SWSRC_LAST_LOGICAL_SWITCH = SWSRC_FIRST_LOGICAL_SWITCH+MAX_LOGICAL_SWITCHES-1,
|
||||
|
||||
SWSRC_ON,
|
||||
SWSRC_One,
|
||||
|
||||
SWSRC_FIRST_FLIGHT_MODE,
|
||||
SWSRC_LAST_FLIGHT_MODE = SWSRC_FIRST_FLIGHT_MODE+MAX_FLIGHT_MODES-1,
|
||||
|
||||
SWSRC_COUNT,
|
||||
|
||||
SWSRC_OFF = -SWSRC_ON,
|
||||
|
||||
SWSRC_LAST = SWSRC_COUNT-1,
|
||||
SWSRC_FIRST = -SWSRC_LAST,
|
||||
|
||||
SWSRC_LAST_IN_LOGICAL_SWITCHES = SWSRC_LAST_FLIGHT_MODE,
|
||||
SWSRC_LAST_IN_MIXES = SWSRC_LAST_FLIGHT_MODE,
|
||||
SWSRC_FIRST_IN_LOGICAL_SWITCHES = -SWSRC_LAST_IN_LOGICAL_SWITCHES,
|
||||
SWSRC_FIRST_IN_MIXES = -SWSRC_LAST_IN_MIXES,
|
||||
};
|
||||
|
||||
enum MixSources {
|
||||
MIXSRC_NONE,
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
MIXSRC_FIRST_INPUT,
|
||||
MIXSRC_LAST_INPUT = MIXSRC_FIRST_INPUT+MAX_INPUTS-1,
|
||||
|
||||
MIXSRC_FIRST_LUA,
|
||||
MIXSRC_LAST_LUA = MIXSRC_FIRST_LUA+(MAX_SCRIPTS*MAX_SCRIPT_OUTPUTS)-1,
|
||||
#endif
|
||||
|
||||
MIXSRC_Rud,
|
||||
MIXSRC_Ele,
|
||||
MIXSRC_Thr,
|
||||
MIXSRC_Ail,
|
||||
|
||||
MIXSRC_FIRST_POT,
|
||||
#if defined(PCBTARANIS)
|
||||
MIXSRC_POT1 = MIXSRC_FIRST_POT,
|
||||
MIXSRC_POT2,
|
||||
MIXSRC_POT3,
|
||||
MIXSRC_SLIDER1,
|
||||
MIXSRC_SLIDER2,
|
||||
MIXSRC_LAST_POT = MIXSRC_SLIDER2,
|
||||
#else
|
||||
MIXSRC_P1 = MIXSRC_FIRST_POT,
|
||||
MIXSRC_P2,
|
||||
MIXSRC_P3,
|
||||
MIXSRC_LAST_POT = MIXSRC_P3,
|
||||
#endif
|
||||
|
||||
#if defined(PCBSKY9X)
|
||||
MIXSRC_REa,
|
||||
MIXSRC_LAST_ROTARY_ENCODER = MIXSRC_REa,
|
||||
#endif
|
||||
|
||||
MIXSRC_MAX,
|
||||
|
||||
MIXSRC_CYC1,
|
||||
MIXSRC_CYC2,
|
||||
MIXSRC_CYC3,
|
||||
|
||||
MIXSRC_TrimRud,
|
||||
MIXSRC_TrimEle,
|
||||
MIXSRC_TrimThr,
|
||||
MIXSRC_TrimAil,
|
||||
|
||||
MIXSRC_FIRST_SWITCH,
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
MIXSRC_SA = MIXSRC_FIRST_SWITCH,
|
||||
MIXSRC_SB,
|
||||
MIXSRC_SC,
|
||||
MIXSRC_SD,
|
||||
MIXSRC_SE,
|
||||
MIXSRC_SF,
|
||||
MIXSRC_SG,
|
||||
MIXSRC_SH,
|
||||
#else
|
||||
MIXSRC_3POS = MIXSRC_FIRST_SWITCH,
|
||||
MIXSRC_THR,
|
||||
MIXSRC_RUD,
|
||||
MIXSRC_ELE,
|
||||
MIXSRC_AIL,
|
||||
MIXSRC_GEA,
|
||||
MIXSRC_TRN,
|
||||
#endif
|
||||
MIXSRC_FIRST_LOGICAL_SWITCH,
|
||||
MIXSRC_SW1 = MIXSRC_FIRST_LOGICAL_SWITCH,
|
||||
MIXSRC_SW9 = MIXSRC_SW1 + 8,
|
||||
MIXSRC_SWA,
|
||||
MIXSRC_SWB,
|
||||
MIXSRC_SWC,
|
||||
MIXSRC_LAST_LOGICAL_SWITCH = MIXSRC_FIRST_LOGICAL_SWITCH+MAX_LOGICAL_SWITCHES-1,
|
||||
|
||||
MIXSRC_FIRST_TRAINER,
|
||||
MIXSRC_LAST_TRAINER = MIXSRC_FIRST_TRAINER+MAX_TRAINER_CHANNELS-1,
|
||||
|
||||
MIXSRC_FIRST_CH,
|
||||
MIXSRC_CH1 = MIXSRC_FIRST_CH,
|
||||
MIXSRC_CH2,
|
||||
MIXSRC_CH3,
|
||||
MIXSRC_CH4,
|
||||
MIXSRC_CH5,
|
||||
MIXSRC_CH6,
|
||||
MIXSRC_CH7,
|
||||
MIXSRC_CH8,
|
||||
MIXSRC_CH9,
|
||||
MIXSRC_CH10,
|
||||
MIXSRC_CH11,
|
||||
MIXSRC_CH12,
|
||||
MIXSRC_CH13,
|
||||
MIXSRC_CH14,
|
||||
MIXSRC_CH15,
|
||||
MIXSRC_CH16,
|
||||
MIXSRC_LAST_CH = MIXSRC_CH1+MAX_OUTPUT_CHANNELS-1,
|
||||
|
||||
MIXSRC_GVAR1,
|
||||
MIXSRC_LAST_GVAR = MIXSRC_GVAR1+MAX_GVARS-1,
|
||||
|
||||
MIXSRC_FIRST_TELEM,
|
||||
MIXSRC_LAST_TELEM = MIXSRC_FIRST_TELEM+NUM_TELEMETRY-1
|
||||
};
|
||||
|
||||
int ConvertTelemetrySource_216_to_217(int source)
|
||||
{
|
||||
@@ -52,9 +256,7 @@ int ConvertGVar_216_to_217(int value)
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void ConvertRadioData_216_to_217(RadioData & settings)
|
||||
void ConvertRadioData_216_to_217(void * settings)
|
||||
{
|
||||
RadioData_v216 * settings_v216 = (RadioData_v216 *)&settings;
|
||||
settings_v216->version = 217;
|
||||
@@ -64,8 +266,7 @@ void ConvertRadioData_216_to_217(RadioData & settings)
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void ConvertModel_216_to_217(ModelData & model)
|
||||
void ConvertModel_216_to_217(void * model)
|
||||
{
|
||||
// Timer3 added
|
||||
// 32bits Timers
|
||||
@@ -73,7 +274,7 @@ void ConvertModel_216_to_217(ModelData & model)
|
||||
// PPM center range
|
||||
// Telemetry custom screens
|
||||
|
||||
assert(sizeof(ModelData_v216) <= sizeof(ModelData));
|
||||
// TODO perhaps will be needed, but elsewhere assert(sizeof(ModelData_v216) <= sizeof(ModelData));
|
||||
|
||||
ModelData_v216 oldModel;
|
||||
memcpy(&oldModel, &model, sizeof(oldModel));
|
||||
|
||||
@@ -1,3 +1,223 @@
|
||||
#include "definitions.h"
|
||||
#include "board.h"
|
||||
|
||||
#define NUM_STICKS 4
|
||||
|
||||
#define XPOTS_MULTIPOS_COUNT 6
|
||||
|
||||
#define MAX_SCRIPT_INPUTS 10
|
||||
#define MAX_SCRIPT_OUTPUTS 6
|
||||
#define MAX_GVARS 9
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
#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 9
|
||||
#define MAX_INPUTS 32
|
||||
#define MAX_TRAINER_CHANNELS 16
|
||||
#define MAX_TELEMETRY_SENSORS 32
|
||||
#define MAX_CUSTOM_SCREENS 5
|
||||
#elif defined(PCBTARANIS)
|
||||
#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 32
|
||||
#else
|
||||
#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 32
|
||||
#define MAX_LOGICAL_SWITCHES 64
|
||||
#define MAX_SPECIAL_FUNCTIONS 64 // number of functions assigned to switches
|
||||
#define MAX_INPUTS 32
|
||||
#define MAX_TRAINER_CHANNELS 16
|
||||
#define MAX_TELEMETRY_SENSORS 32
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
#define LEN_SWITCH_NAME 3
|
||||
#define LEN_ANA_NAME 3
|
||||
#define LEN_MODEL_FILENAME 16
|
||||
#define LEN_BLUETOOTH_NAME 10
|
||||
#else
|
||||
#define LEN_SWITCH_NAME 3
|
||||
#define LEN_ANA_NAME 3
|
||||
#define LEN_BLUETOOTH_NAME 10
|
||||
#endif
|
||||
|
||||
#if defined(PCBHORUS)
|
||||
#define LEN_MODEL_NAME 15
|
||||
#define LEN_TIMER_NAME 8
|
||||
#define LEN_FLIGHT_MODE_NAME 10
|
||||
#define LEN_BITMAP_NAME 10 // TODO next EEPROM change: we need 14 here as we have to store the file extension
|
||||
#define LEN_EXPOMIX_NAME 6
|
||||
#define LEN_CHANNEL_NAME 6
|
||||
#define LEN_INPUT_NAME 4
|
||||
#define LEN_CURVE_NAME 3
|
||||
#define LEN_FUNCTION_NAME 6
|
||||
#define MAX_CURVES 32
|
||||
#define MAX_CURVE_POINTS 512
|
||||
#elif LCD_W == 212
|
||||
#define LEN_MODEL_NAME 12
|
||||
#define LEN_TIMER_NAME 8
|
||||
#define LEN_FLIGHT_MODE_NAME 10
|
||||
#define LEN_BITMAP_NAME 10
|
||||
#define LEN_EXPOMIX_NAME 8 // TODO next EEPROM change: 6 seem enough
|
||||
#define LEN_CHANNEL_NAME 6
|
||||
#define LEN_INPUT_NAME 4
|
||||
#define LEN_CURVE_NAME 3
|
||||
#define LEN_FUNCTION_NAME 8
|
||||
#define MAX_CURVES 32
|
||||
#define MAX_CURVE_POINTS 512
|
||||
#else
|
||||
#define LEN_MODEL_NAME 10
|
||||
#define LEN_TIMER_NAME 3
|
||||
#define LEN_FLIGHT_MODE_NAME 6
|
||||
#define LEN_EXPOMIX_NAME 6
|
||||
#define LEN_CHANNEL_NAME 4
|
||||
#define LEN_INPUT_NAME 3
|
||||
#define LEN_CURVE_NAME 3
|
||||
#define LEN_FUNCTION_NAME 6
|
||||
#define MAX_CURVES 16 // TODO next EEPROM check if can be changed to 32 to have all ARM the same
|
||||
#define MAX_CURVE_POINTS 512
|
||||
#endif
|
||||
|
||||
enum TelemetrySource {
|
||||
TELEM_NONE,
|
||||
TELEM_TX_VOLTAGE,
|
||||
TELEM_TX_TIME,
|
||||
TELEM_RESERVE1,
|
||||
TELEM_RESERVE2,
|
||||
TELEM_RESERVE3,
|
||||
TELEM_RESERVE4,
|
||||
TELEM_RESERVE5,
|
||||
TELEM_TIMER1,
|
||||
TELEM_TIMER2,
|
||||
TELEM_SWR,
|
||||
TELEM_RSSI_TX,
|
||||
TELEM_RSSI_RX,
|
||||
TELEM_RESERVE0,
|
||||
TELEM_A_FIRST,
|
||||
TELEM_A1=TELEM_A_FIRST,
|
||||
TELEM_A2,
|
||||
TELEM_A3,
|
||||
TELEM_A4,
|
||||
TELEM_A_LAST=TELEM_A4,
|
||||
TELEM_ALT,
|
||||
TELEM_RPM,
|
||||
TELEM_FUEL,
|
||||
TELEM_T1,
|
||||
TELEM_T2,
|
||||
TELEM_SPEED,
|
||||
TELEM_DIST,
|
||||
TELEM_GPSALT,
|
||||
TELEM_CELL,
|
||||
TELEM_CELLS_SUM,
|
||||
TELEM_VFAS,
|
||||
TELEM_CURRENT,
|
||||
TELEM_CONSUMPTION,
|
||||
TELEM_POWER,
|
||||
TELEM_ACCx,
|
||||
TELEM_ACCy,
|
||||
TELEM_ACCz,
|
||||
TELEM_HDG,
|
||||
TELEM_VSPEED,
|
||||
TELEM_ASPEED,
|
||||
TELEM_DTE,
|
||||
TELEM_RESERVE6,
|
||||
TELEM_RESERVE7,
|
||||
TELEM_RESERVE8,
|
||||
TELEM_RESERVE9,
|
||||
TELEM_RESERVE10,
|
||||
TELEM_MIN_A_FIRST,
|
||||
TELEM_MIN_A1=TELEM_MIN_A_FIRST,
|
||||
TELEM_MIN_A2,
|
||||
TELEM_MIN_A3,
|
||||
TELEM_MIN_A4,
|
||||
TELEM_MIN_A_LAST=TELEM_MIN_A4,
|
||||
// TODO: add A1-4 MAX
|
||||
TELEM_MIN_ALT,
|
||||
TELEM_MAX_ALT,
|
||||
TELEM_MAX_RPM,
|
||||
TELEM_MAX_T1,
|
||||
TELEM_MAX_T2,
|
||||
TELEM_MAX_SPEED,
|
||||
TELEM_MAX_DIST,
|
||||
TELEM_MAX_ASPEED,
|
||||
TELEM_MIN_CELL,
|
||||
TELEM_MIN_CELLS_SUM,
|
||||
TELEM_MIN_VFAS,
|
||||
TELEM_MAX_CURRENT,
|
||||
TELEM_MAX_POWER,
|
||||
TELEM_RESERVE11,
|
||||
TELEM_RESERVE12,
|
||||
TELEM_RESERVE13,
|
||||
TELEM_RESERVE14,
|
||||
TELEM_RESERVE15,
|
||||
TELEM_ACC,
|
||||
TELEM_GPS_TIME,
|
||||
TELEM_CSW_MAX = TELEM_MAX_POWER,
|
||||
TELEM_NOUSR_MAX = TELEM_A2,
|
||||
TELEM_DISPLAY_MAX = TELEM_MAX_POWER,
|
||||
TELEM_STATUS_MAX = TELEM_GPS_TIME,
|
||||
TELEM_FIRST_STREAMED_VALUE = TELEM_RSSI_TX,
|
||||
};
|
||||
|
||||
#define NUM_TELEMETRY TELEM_CSW_MAX
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
enum CurveType {
|
||||
CURVE_TYPE_STANDARD,
|
||||
CURVE_TYPE_CUSTOM,
|
||||
CURVE_TYPE_LAST = CURVE_TYPE_CUSTOM
|
||||
};
|
||||
PACK(typedef struct {
|
||||
uint8_t type:3;
|
||||
uint8_t smooth:1;
|
||||
uint8_t spare:4;
|
||||
int8_t points;
|
||||
}) CurveInfo;
|
||||
#define NUM_POINTS 512
|
||||
#define CURVDATA CurveInfo
|
||||
#else
|
||||
#define LEN_MODEL_NAME 10
|
||||
#define LEN_EXPOMIX_NAME 6
|
||||
#define LEN_FP_NAME 6
|
||||
#define NUM_POINTS 512
|
||||
#define CURVDATA int16_t
|
||||
#endif
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
enum CurveRefType {
|
||||
CURVE_REF_DIFF,
|
||||
CURVE_REF_EXPO,
|
||||
CURVE_REF_FUNC,
|
||||
CURVE_REF_CUSTOM
|
||||
};
|
||||
PACK(typedef struct {
|
||||
uint8_t type;
|
||||
int8_t value;
|
||||
}) CurveRef;
|
||||
#else
|
||||
#define MODE_DIFFERENTIAL 0
|
||||
#define MODE_EXPO 0
|
||||
#define MODE_CURVE 1
|
||||
#endif
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
PACK(typedef struct {
|
||||
uint8_t srcRaw;
|
||||
@@ -120,7 +340,7 @@ PACK(typedef struct {
|
||||
uint8_t fadeIn;
|
||||
uint8_t fadeOut;
|
||||
int16_t rotaryEncoders[1];
|
||||
gvar_t gvars[9];
|
||||
int16_t gvars[9];
|
||||
}) FlightModeData_v216;
|
||||
|
||||
PACK(typedef struct { // Logical Switches data
|
||||
@@ -188,6 +408,13 @@ PACK(typedef struct {
|
||||
uint8_t barMax; // ditto for max display (would usually = ratio)
|
||||
}) FrSkyBarData_v216;
|
||||
|
||||
|
||||
#if LCD_W >= 212
|
||||
#define NUM_LINE_ITEMS 3
|
||||
#else
|
||||
#define NUM_LINE_ITEMS 2
|
||||
#endif
|
||||
|
||||
PACK(typedef struct {
|
||||
uint8_t sources[NUM_LINE_ITEMS];
|
||||
}) FrSkyLineData_v216;
|
||||
@@ -263,6 +490,16 @@ PACK(typedef struct {
|
||||
}) ModelHeader_v216;
|
||||
#endif
|
||||
|
||||
PACK(struct GVarData {
|
||||
char name[3];
|
||||
uint32_t min:12;
|
||||
uint32_t max:12;
|
||||
uint32_t popup:1;
|
||||
uint32_t prec:1;
|
||||
uint32_t unit:2;
|
||||
uint32_t spare:4;
|
||||
});
|
||||
|
||||
PACK(typedef struct {
|
||||
ModelHeader_v216 header;
|
||||
TimerData_v216 timers[2];
|
||||
@@ -275,7 +512,7 @@ PACK(typedef struct {
|
||||
uint8_t extendedLimits:1;
|
||||
uint8_t extendedTrims:1;
|
||||
uint8_t throttleReversed:1;
|
||||
BeepANACenter beepANACenter; // 1<<0->A1.. 1<<6->A7
|
||||
uint16_t beepANACenter; // 1<<0->A1.. 1<<6->A7
|
||||
MixData_v216 mixData[MAX_MIXERS];
|
||||
LimitData_v216 limitData[MAX_OUTPUT_CHANNELS];
|
||||
ExpoData_v216 expoData[MAX_EXPOS];
|
||||
@@ -299,11 +536,11 @@ PACK(typedef struct {
|
||||
|
||||
uint8_t externalModule;
|
||||
|
||||
if defined(PCBTARANIS)
|
||||
#if defined(PCBTARANIS)
|
||||
uint8_t trainerMode;
|
||||
#endif
|
||||
|
||||
ModuleData_v216 moduleData[NUM_MODULES+1];
|
||||
ModuleData_v216 moduleData[2 + 1];
|
||||
|
||||
#if defined(PCBTARANIS)
|
||||
char curveNames[MAX_CURVES][6];
|
||||
@@ -317,6 +554,41 @@ if defined(PCBTARANIS)
|
||||
}) ModelData_v216;
|
||||
|
||||
|
||||
PACK(struct CalibData {
|
||||
int16_t mid;
|
||||
int16_t spanNeg;
|
||||
int16_t spanPos;
|
||||
});
|
||||
|
||||
|
||||
PACK(struct TrainerMix {
|
||||
uint8_t srcChn:6; // 0-7 = ch1-8
|
||||
uint8_t mode:2; // off,add-mode,subst-mode
|
||||
int8_t studWeight;
|
||||
});
|
||||
|
||||
|
||||
PACK(struct TrainerData {
|
||||
int16_t calib[4];
|
||||
TrainerMix mix[4];
|
||||
});
|
||||
|
||||
#if defined(COLORLCD)
|
||||
typedef uint16_t swconfig_t;
|
||||
typedef uint32_t swarnstate_t;
|
||||
#elif defined(PCBX9E)
|
||||
typedef uint64_t swconfig_t;
|
||||
typedef uint64_t swarnstate_t;
|
||||
typedef uint32_t swarnenable_t;
|
||||
#elif defined(PCBTARANIS)
|
||||
typedef uint16_t swconfig_t;
|
||||
typedef uint16_t swarnstate_t;
|
||||
typedef uint8_t swarnenable_t;
|
||||
#else
|
||||
typedef uint8_t swarnstate_t;
|
||||
typedef uint8_t swarnenable_t;
|
||||
#endif
|
||||
|
||||
PACK(typedef struct {
|
||||
uint8_t version;
|
||||
uint16_t variant;
|
||||
@@ -348,7 +620,9 @@ PACK(typedef struct {
|
||||
int8_t PPM_Multiplier;
|
||||
int8_t hapticLength;
|
||||
uint8_t reNavigation;
|
||||
N_TARANIS_FIELD(uint8_t stickReverse)
|
||||
#if !defined(PCBTARANIS)
|
||||
uint8_t stickReverse;
|
||||
#endif
|
||||
int8_t beepLength:3;
|
||||
int8_t hapticStrength:3;
|
||||
uint8_t gpsFormat:1;
|
||||
@@ -380,17 +654,22 @@ PACK(typedef struct {
|
||||
int8_t varioRepeat;
|
||||
int8_t backgroundVolume;
|
||||
|
||||
TARANIS_FIELD(uint8_t serial2Mode:6)
|
||||
TARANIS_FIELD(uint8_t slidersConfig:2)
|
||||
TARANIS_FIELD(uint8_t potsConfig)
|
||||
TARANIS_FIELD(uint8_t backlightColor)
|
||||
TARANIS_FIELD(swarnstate_t switchUnlockStates)
|
||||
TARANIS_FIELD(CustomFunctionData_v216 customFn[MAX_SPECIAL_FUNCTIONS])
|
||||
TARANIS_FIELD(swconfig_t switchConfig)
|
||||
TARANIS_FIELD(char switchNames[NUM_SWITCHES][LEN_SWITCH_NAME])
|
||||
TARANIS_FIELD(char anaNames[NUM_STICKS+NUM_POTS+NUM_SLIDERS][LEN_ANA_NAME])
|
||||
N_TARANIS_FIELD(CustomFunctionData_v216 customFn[MAX_SPECIAL_FUNCTIONS])
|
||||
#if defined(PCBTARANIS)
|
||||
uint8_t serial2Mode:6;
|
||||
uint8_t slidersConfig:2;
|
||||
uint8_t potsConfig;
|
||||
uint8_t backlightColor;
|
||||
swarnstate_t switchUnlockStates;
|
||||
CustomFunctionData_v216 customFn[MAX_SPECIAL_FUNCTIONS];
|
||||
swconfig_t switchConfig;
|
||||
char switchNames[NUM_SWITCHES][LEN_SWITCH_NAME];
|
||||
char anaNames[NUM_STICKS+NUM_POTS+NUM_SLIDERS][LEN_ANA_NAME];
|
||||
#else
|
||||
CustomFunctionData_v216 customFn[MAX_SPECIAL_FUNCTIONS];
|
||||
#endif
|
||||
|
||||
TARANIS_PCBX9E_FIELD(uint8_t bluetoothEnable)
|
||||
TARANIS_PCBX9E_FIELD(char bluetoothName[LEN_BLUETOOTH_NAME])
|
||||
#if defined(PCBX9E)
|
||||
uint8_t bluetoothEnable;
|
||||
char bluetoothName[LEN_BLUETOOTH_NAME];
|
||||
#endif
|
||||
}) RadioData_v216;
|
||||
|
||||
Reference in New Issue
Block a user