diff --git a/Makefile b/Makefile index 06c529770c..85878a6476 100644 --- a/Makefile +++ b/Makefile @@ -90,8 +90,9 @@ HSE_VALUE ?= 8000000 # used for turning on features like VCP and SDCARD FEATURES = -# used to disable features based on flash space shortage (larger => more features disabled) -FLASH_RESTRICTEDNESS_LEVEL = +# used to disable features based on flash space shortage (larger number => more features disabled) +FEATURE_CUT_LEVEL_SUPPLIED := $(FEATURE_CUT_LEVEL) +FEATURE_CUT_LEVEL = include $(ROOT)/make/targets.mk @@ -158,8 +159,10 @@ ifneq ($(HSE_VALUE),) DEVICE_FLAGS := $(DEVICE_FLAGS) -DHSE_VALUE=$(HSE_VALUE) endif -ifneq ($(FLASH_RESTRICTEDNESS_LEVEL),) -DEVICE_FLAGS := $(DEVICE_FLAGS) -DFLASH_RESTRICTEDNESS_LEVEL=$(FLASH_RESTRICTEDNESS_LEVEL) +ifneq ($(FEATURE_CUT_LEVEL_SUPPLIED),) +DEVICE_FLAGS := $(DEVICE_FLAGS) -DFEATURE_CUT_LEVEL=$(FEATURE_CUT_LEVEL_SUPPLIED) +else ifneq ($(FEATURE_CUT_LEVEL),) +DEVICE_FLAGS := $(DEVICE_FLAGS) -DFEATURE_CUT_LEVEL=$(FEATURE_CUT_LEVEL) endif TARGET_DIR = $(ROOT)/src/main/target/$(BASE_TARGET) diff --git a/src/main/target/SPRACINGF3NEO/target.mk b/src/main/target/SPRACINGF3NEO/target.mk index 0569832104..6921ce9f45 100644 --- a/src/main/target/SPRACINGF3NEO/target.mk +++ b/src/main/target/SPRACINGF3NEO/target.mk @@ -1,7 +1,7 @@ F3_TARGETS += $(TARGET) FEATURES = VCP SDCARD_SPI -FLASH_RESTRICTEDNESS_LEVEL = 8 +FEATURE_CUT_LEVEL = 8 TARGET_SRC = \ drivers/accgyro/accgyro_mpu.c \ diff --git a/src/main/target/common_pre.h b/src/main/target/common_pre.h index bcf1a0aa27..b2fc7ab8d6 100644 --- a/src/main/target/common_pre.h +++ b/src/main/target/common_pre.h @@ -164,58 +164,60 @@ #if (FLASH_SIZE > 128) #define USE_GYRO_OVERFLOW_CHECK - -#define USE_CAMERA_CONTROL -#define USE_CMS -#define USE_DSHOT_DMAR #define USE_YAW_SPIN_RECOVERY -#define USE_MSP_DISPLAYPORT -#define USE_MSP_OVER_TELEMETRY -#define USE_RCDEVICE +#define USE_DSHOT_DMAR #define USE_SERIALRX_FPORT // FrSky FPort #define USE_TELEMETRY_CRSF #define USE_TELEMETRY_SRXL +#define USE_SERIAL_4WAY_BLHELI_BOOTLOADER //TODO: Fix this conditional. +#define USE_CMS //TODO: Fix this conditional. + +#if ((FLASH_SIZE > 256) || (FEATURE_CUT_LEVEL < 10)) +#define USE_CAMERA_CONTROL +#define USE_MSP_DISPLAYPORT +#define USE_MSP_OVER_TELEMETRY +#define USE_RCDEVICE #define USE_VIRTUAL_CURRENT_METER #define USE_VTX_COMMON #define USE_VTX_CONTROL #define USE_VTX_SMARTAUDIO #define USE_VTX_TRAMP #define USE_ESC_SENSOR -#define USE_SERIAL_4WAY_BLHELI_BOOTLOADER //TODO: Fix this conditional. +#endif -#if ((FLASH_SIZE > 256) || (FLASH_RESTRICTEDNESS_LEVEL < 9)) +#if ((FLASH_SIZE > 256) || (FEATURE_CUT_LEVEL < 9)) #define USE_GYRO_LPF2 #endif -#if ((FLASH_SIZE > 256) || (FLASH_RESTRICTEDNESS_LEVEL < 8)) +#if ((FLASH_SIZE > 256) || (FEATURE_CUT_LEVEL < 8)) #define USE_LAUNCH_CONTROL #define USE_DYN_LPF #define USE_D_CUT #endif -#if ((FLASH_SIZE > 256) || (FLASH_RESTRICTEDNESS_LEVEL < 7)) +#if ((FLASH_SIZE > 256) || (FEATURE_CUT_LEVEL < 7)) #define USE_THROTTLE_BOOST #define USE_INTEGRATED_YAW_CONTROL #endif -#if ((FLASH_SIZE > 256) || (FLASH_RESTRICTEDNESS_LEVEL < 6)) +#if ((FLASH_SIZE > 256) || (FEATURE_CUT_LEVEL < 6)) #define USE_ITERM_RELAX #define USE_RC_SMOOTHING_FILTER #define USE_THRUST_LINEARIZATION #define USE_TPA_MODE #endif -#if ((FLASH_SIZE > 256) || (FLASH_RESTRICTEDNESS_LEVEL < 5)) +#if ((FLASH_SIZE > 256) || (FEATURE_CUT_LEVEL < 5)) #define USE_PWM #endif -#if ((FLASH_SIZE > 256) || (FLASH_RESTRICTEDNESS_LEVEL < 4)) +#if ((FLASH_SIZE > 256) || (FEATURE_CUT_LEVEL < 4)) #define USE_HUFFMAN #define USE_PINIO #define USE_PINIOBOX #endif -#if ((FLASH_SIZE > 256) || (FLASH_RESTRICTEDNESS_LEVEL < 3)) +#if ((FLASH_SIZE > 256) || (FEATURE_CUT_LEVEL < 3)) #ifdef USE_SERIALRX_SPEKTRUM #define USE_SPEKTRUM_BIND #define USE_SPEKTRUM_BIND_PLUG @@ -228,14 +230,14 @@ #endif #endif -#if ((FLASH_SIZE > 256) || (FLASH_RESTRICTEDNESS_LEVEL < 2)) +#if ((FLASH_SIZE > 256) || (FEATURE_CUT_LEVEL < 2)) #define USE_TELEMETRY_HOTT #define USE_TELEMETRY_LTM #define USE_SERIALRX_SUMH // Graupner legacy protocol #define USE_SERIALRX_XBUS // JR #endif -#if ((FLASH_SIZE > 256) || (FLASH_RESTRICTEDNESS_LEVEL < 1)) +#if ((FLASH_SIZE > 256) || (FEATURE_CUT_LEVEL < 1)) #define USE_BOARD_INFO #define USE_EXTENDED_CMS_MENUS #define USE_RTC_TIME