diff --git a/.gitignore b/.gitignore index 6a0235146..93bd754d2 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ build*/ cmake-build-*/ /debian/ +/*.vscode diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index f872aa79b..4b054f868 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -539,6 +539,21 @@ PACK(struct CustomScreenData { uint8_t view; #endif +#if defined(PCBX9) + #define TOPBAR_DATA \ + NOBACKUP(uint8_t voltsSource); + NOBACKUP(uint8_t altitudeSource); +#else + #define TOPBAR_DATA +#endif + +#if defined(PCBHORUS) || defined(PCBTARANIS) + #define SCRIPT_DATA \ + NOBACKUP(ScriptData scriptsData[MAX_SCRIPTS]); +#else + #define SCRIPT_DATA +#endif + PACK(struct ModelData { ModelHeader header; TimerData timers[MAX_TIMERS]; @@ -574,10 +589,9 @@ PACK(struct ModelData { NOBACKUP(VarioData varioData); NOBACKUP(uint8_t rssiSource); -#if defined(PCBX9) - NOBACKUP(uint8_t voltsSource); - NOBACKUP(uint8_t altitudeSource); -#endif + + TOPBAR_DATA; + NOBACKUP(RssiAlarmData rssiAlarms); NOBACKUP(uint8_t spare1:6); @@ -586,9 +600,7 @@ PACK(struct ModelData { int16_t failsafeChannels[MAX_OUTPUT_CHANNELS]; TrainerModuleData trainerData; -#if defined(PCBHORUS) || defined(PCBTARANIS) - NOBACKUP(ScriptData scriptsData[MAX_SCRIPTS]); -#endif + SCRIPT_DATA; NOBACKUP(char inputNames[MAX_INPUTS][LEN_INPUT_NAME]); NOBACKUP(uint8_t potsWarnEnabled); diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index 4bcb5d196..34bb3315a 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -496,12 +496,16 @@ enum Analogs { #define STICKS_PWM_ENABLED() false #endif -PACK(typedef struct { #if NUM_PWMSTICKS > 0 +PACK(typedef struct { uint8_t sticksPwmDisabled:1; -#endif uint8_t pxx2Enabled:1; }) HardwareOptions; +#else +PACK(typedef struct { + uint8_t pxx2Enabled:1; +}) HardwareOptions; +#endif extern HardwareOptions hardwareOptions;