feat(flysky): add build option to choose use SDIO or SPI flash if available (#7634)

Co-authored-by: Peter Feerick <5500713+pfeerick@users.noreply.github.com>
This commit is contained in:
richardclli
2026-08-19 10:41:34 +10:00
committed by GitHub
co-authored by Peter Feerick
parent 7461bfc9ec
commit 5a75b5146d
2 changed files with 19 additions and 16 deletions
+19 -10
View File
@@ -1,6 +1,5 @@
option(DISK_CACHE "Enable SD card disk cache" OFF)
option(UNEXPECTED_SHUTDOWN "Enable the Unexpected Shutdown screen" ON)
option(STICK_DEAD_ZONE "Enable sticks dead zone" YES)
option(STICK_DEAD_ZONE "Enable sticks dead zone" ON)
option(PXX1 "PXX1 protocol support" ON)
option(PXX2 "PXX2 protocol support" OFF)
option(AFHDS3 "AFHDS3 TX Module" ON)
@@ -8,6 +7,7 @@ option(MULTIMODULE "DIY Multiprotocol TX Module (https://github.com/pascallanger
option(GHOST "Ghost TX Module" ON)
option(MODULE_SIZE_STD "Standard size TX Module" ON)
option(USE_RTC_CLOCK "RTC Clock" ON)
option(PREFER_SDIO "Prefer SDIO Storage" ON)
set(PWR_BUTTON "PRESS" CACHE STRING "Pwr button type (PRESS/SWITCH)")
set(CPU_TYPE STM32F4)
@@ -45,7 +45,7 @@ add_definitions(-DSTM32_SUPPORT_32BIT_TIMERS)
if(PCBREV STREQUAL PL18U)
set(FLAVOUR pl18u)
set(DISK_CACHE ON)
set(HAS_SDIO ON)
set(WIRELESS_CHARGER YES)
set(FLYSKY_GIMBAL ON)
set(LED_STRIP ON)
@@ -58,7 +58,7 @@ if(PCBREV STREQUAL PL18U)
elseif (PCBREV STREQUAL EL18)
set(FLAVOUR el18)
add_definitions(-DRADIO_NV14_FAMILY -DUSE_HATS_AS_KEYS)
set(DISK_CACHE ON)
set(HAS_SDIO ON)
set(FLYSKY_GIMBAL ON)
set(USE_VS1053B ON)
set(AFHDS3 ON)
@@ -70,7 +70,7 @@ elseif(PCBREV STREQUAL NV14)
set(FLAVOUR nv14)
add_definitions(-DRADIO_NV14_FAMILY)
add_definitions(-DUSE_HATS_AS_KEYS -DAFHDS2_BAUDRATE=${PCB_RF_BAUD})
set(DISK_CACHE ON)
set(HAS_SDIO ON)
set(FLYSKY_GIMBAL ON)
set(USE_VS1053B ON)
set(AFHDS2 ON)
@@ -81,7 +81,6 @@ elseif(PCBREV STREQUAL NV14)
set(DEFAULT_INTERNAL_MODULE FLYSKY_AFHDS2A CACHE STRING "Default internal module")
elseif(PCBREV STREQUAL NB4P)
set(FLAVOUR nb4p)
add_definitions(-DSPI_FLASH)
set(ROTARY_ENCODER YES)
set(LED_STRIP ON)
set(AFHDS3 ON)
@@ -92,7 +91,7 @@ elseif(PCBREV STREQUAL NB4P)
set(DEFAULT_INTERNAL_MODULE MULTIMODULE CACHE STRING "Default internal module")
elseif(PCBREV STREQUAL PL18EV)
set(FLAVOUR pl18ev)
add_definitions(-DSPI_FLASH -DUSE_HATS_AS_KEYS)
add_definitions(-DUSE_HATS_AS_KEYS)
set(WIRELESS_CHARGER YES)
set(FLYSKY_GIMBAL ON)
set(LED_STRIP ON)
@@ -100,7 +99,7 @@ elseif(PCBREV STREQUAL PL18EV)
set(KEY_DRIVER key_driver.cpp)
else()
set(FLAVOUR pl18)
add_definitions(-DSPI_FLASH -DUSE_HATS_AS_KEYS)
add_definitions(-DUSE_HATS_AS_KEYS)
set(WIRELESS_CHARGER YES)
set(FLYSKY_GIMBAL ON)
set(LED_STRIP ON)
@@ -135,6 +134,12 @@ add_definitions(-DPWR_BUTTON_${PWR_BUTTON})
add_definitions(-DCROSSFIRE_NATIVE)
add_definitions(-DHARDWARE_EXTERNAL_MODULE)
if(PREFER_SDIO)
if(HAS_SDIO)
set(STORAGE_USE_SDIO ON)
endif()
endif()
if(INTERNAL_GPS)
add_definitions(-DGPS_USART_BAUDRATE=${INTERNAL_GPS_BAUDRATE})
endif()
@@ -186,11 +191,15 @@ if(ROTARY_ENCODER)
)
endif()
if(DISK_CACHE)
if(STORAGE_USE_SDIO)
set(BOARD_COMMON_SRC ${BOARD_COMMON_SRC}
disk_cache.cpp
)
add_definitions(-DDISK_CACHE)
add_definitions(-DSTORAGE_USE_SDIO)
else()
add_definitions(-DSPI_FLASH)
add_definitions(-DSTORAGE_USE_SPI_FLASH)
endif()
# Bootloader board library
@@ -224,7 +233,7 @@ add_library(board OBJECT EXCLUDE_FROM_ALL
targets/common/arm/stm32/trainer_driver.cpp
targets/common/arm/stm32/spi_flash.cpp
targets/common/arm/stm32/diskio_spi_flash.cpp
drivers/frftl.cpp
drivers/frftl.cpp
)
set(FIRMWARE_SRC ${FIRMWARE_SRC} $<TARGET_OBJECTS:board>)
-6
View File
@@ -283,12 +283,6 @@
#define FLASH_SPI_DMA_TX_STREAM LL_DMA_STREAM_5
#define FLASH_SPI_DMA_RX_STREAM LL_DMA_STREAM_6
#if defined(RADIO_NV14_FAMILY) || defined(RADIO_PL18U)
#define STORAGE_USE_SDIO
#else
#define STORAGE_USE_SPI_FLASH
#endif
// SDRAM
#define SDRAM_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOF | RCC_AHB1Periph_GPIOG | RCC_AHB1Periph_GPIOH)
#define SDRAM_RCC_AHB3Periph RCC_AHB3Periph_FMC