set(T ble_app_buttonless_dfu) set(D ${MCU_NRF51_SDK_PATH}/examples/ble_peripheral/experimental_ble_app_buttonless_dfu) if (NOT EXISTS ${D}) message("${T}: Not available in this SDK version: ${D}") return() endif () if (MCU_CHIP MATCHES "nrf51.*") set(SOFTDEVICE 130) set(SDK_CONFIG pca10028/s130/sdk_config.h) set(D_BOARD BOARD_PCA10028) elseif (MCU_CHIP MATCHES "nrf52.*") set(SOFTDEVICE 132) set(SDK_CONFIG pca10040/s132/sdk_config.h) set(D_BOARD BOARD_PCA10040) endif () message("${T}: Configured for chip ${MCU_CHIP}, using sdk config=${SDK_CONFIG}, board define: ${D_BOARD}") if (MCU_NRF51_SDK_VERSION VERSION_GREATER 7) list(APPEND EXTRA_SOURCE_DIRS ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/delay ${MCU_NRF51_SDK_PATH}/components/libraries/experimental_section_vars ${MCU_NRF51_SDK_PATH}/components/libraries/crc32) endif () mcu_include_directories_from_sources( SOURCES_VAR SOURCES HEADERS_VAR HEADERS INCLUDES_VAR INCLUDES SOURCE_DIR ${MCU_NRF51_SDK_PATH}/components/ble/ble_advertising ${MCU_NRF51_SDK_PATH}/components/ble/ble_services/ble_dfu ${MCU_NRF51_SDK_PATH}/components/ble/common ${MCU_NRF51_SDK_PATH}/components/ble/peer_manager ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/clock ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/common ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/gpiote ${MCU_NRF51_SDK_PATH}/components/drivers_nrf/hal ${MCU_NRF51_SDK_PATH}/components/libraries/button ${MCU_NRF51_SDK_PATH}/components/libraries/fds ${MCU_NRF51_SDK_PATH}/components/libraries/fstorage ${MCU_NRF51_SDK_PATH}/components/libraries/log ${MCU_NRF51_SDK_PATH}/components/libraries/scheduler ${MCU_NRF51_SDK_PATH}/components/libraries/sensorsim ${MCU_NRF51_SDK_PATH}/components/libraries/util ${MCU_NRF51_SDK_PATH}/components/softdevice/common/softdevice_handler ${EXTRA_SOURCE_DIRS} EXCLUDE "app_timer_freertos" "app_error_weak_cmock" "app_timer_rtx" ) add_executable(${T} ${D}/main.c ${D}/nrf_dfu_flash_buttonless.c ${SDK_CONFIG} ${MCU_NRF51_SDK_PATH}/components/libraries/bootloader/dfu/nrf_dfu_settings.c ${MCU_NRF51_SDK_PATH}/components/libraries/timer/app_timer.c ${MCU_NRF51_SDK_PATH}/examples/bsp/bsp.c ${MCU_NRF51_SDK_PATH}/examples/bsp/bsp_btn_ble.c ${SOURCES} ${HEADERS}) target_include_directories(${T} PUBLIC ${INCLUDES} ${MCU_NRF51_SDK_PATH}/examples/bsp ${MCU_NRF51_SDK_PATH}/components/libraries/bootloader/dfu ${MCU_NRF51_SDK_PATH}/components/libraries/timer) target_compile_definitions(${T} PUBLIC ${D_BOARD}) target_compile_definitions(${T} PUBLIC BLE_STACK_SUPPORT_REQD) target_compile_definitions(${T} PUBLIC NRF_DFU_SETTINGS_VERSION=1337) # Is this correct? target_compile_definitions(${T} PUBLIC NRF_SD_BLE_API_VERSION=3) mcu_add_executable(TARGET ${T} SDK_CONFIG ${SDK_CONFIG} SOFTDEVICE ${SOFTDEVICE})