BLE Audio headset with peripheral with 2 different connections

Hello,

We're trying to build a demo based on the BLE Audio sample with extra BLE services to transmit sensor data.

I have managed to build and run the BLE Audio sample on our custom hardware (based on nRF5340).

At the moment, a nRF5340 audio DK is used as a gateway to stream audio data to our custom HW.

I would like to extend this by adding a custom BLE service to transmit sensor data and to get the custom HW to connect to 2 centrals as shown in this simple diagram:

PC----USB---->DK Audio-GW ---BLE Audio link -----> Custom HW ------BLE link ------> Phone/App

I saw older posts on the forum that talk about extending the audio sample while using the same BLE connection not a different one

Is this feasible? and if so, what is the best approach?  

Best regards,

Mehdi

Parents
  • Hi

    Okay, you've reduced the size by a lot at least. Let's see if we can help you get it to fit somehow.

    I don't know what exactly you've done by now, but reducing the BLE feature set by removing features you don't need should lower the memory usage of the net core noticeably. Anything related to broadcasting (BROADCASTER, BIS, BIG) can be disabled if you haven't already. 

    Alternatively, not allowing DFU on the NET core might be worth looking into as well, as that will take quite a bit of memory as well.

    How does your memory report look at this point? If you upload it we can help you look at what options you have in more specifics.

    Best regards,

    Simon

  • Hi,

    I'm on sdk 2.6.0

    I thought I needed the broadcasting configuration for the audio LE stack , no?

    here's my current configuration files hci_ipc.conf:

    CONFIG_BT_ISO_PERIPHERAL=y
    CONFIG_BT_ISO_CENTRAL=y
    CONFIG_BT_ISO_BROADCASTER=y
    CONFIG_BT_ISO_SYNC_RECEIVER=y
    CONFIG_BT_EXT_ADV=y
    CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER=y
    CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER=y
    
    CONFIG_BT_CTLR_CONN_ISO_GROUPS=1
    CONFIG_BT_CTLR_CONN_ISO_STREAMS=2
    CONFIG_BT_CTLR_SYNC_ISO_STREAM_COUNT=2
    CONFIG_BT_CTLR_ADV_ISO_SET=1
    CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=2
    
    # Support two links as a central, or one link as a peripheral
    CONFIG_BT_MAX_CONN=4
    CONFIG_BT_CTLR_SDC_PERIPHERAL_COUNT=2
    
    # Allow using more than default advertising event length
    CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=251
    
    # To present the audio at the right point in time, we need the controller and
    # audio clock to be synchronized
    CONFIG_MPSL_TRIGGER_IPC_TASK_ON_RTC_START=y
    CONFIG_MPSL_TRIGGER_IPC_TASK_ON_RTC_START_CHANNEL=4
    
    # General
    CONFIG_DEBUG=n
    CONFIG_ASSERT=n
    CONFIG_STACK_USAGE=n
    CONFIG_THREAD_MONITOR=n
    CONFIG_SERIAL=n
    CONFIG_CONSOLE=n
    CONFIG_PRINTK=n
    CONFIG_UART_CONSOLE=n
    CONFIG_BOOT_BANNER=n
    

    MCUboot.conf:

    CONFIG_SIZE_OPTIMIZATIONS=y
    
    CONFIG_PM=n
    CONFIG_MAIN_STACK_SIZE=20480
    CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h"
    
    CONFIG_BOOT_SWAP_SAVE_ENCTLV=n
    
    CONFIG_BOOT_UPGRADE_ONLY=n
    CONFIG_BOOT_BOOTSTRAP=n
    
    ### mbedTLS has its own heap
    # CONFIG_HEAP_MEM_POOL_SIZE is not set
    
    ### We never want Zephyr's copy of tinycrypt.  If tinycrypt is needed,
    ### MCUboot has its own copy in tree.
    # CONFIG_TINYCRYPT is not set
    # CONFIG_TINYCRYPT_ECC_DSA is not set
    # CONFIG_TINYCRYPT_SHA256 is not set
    CONFIG_SPI=n
    CONFIG_SPI_NOR=n
    CONFIG_FLASH=y
    CONFIG_FPROTECT=y
    
    ### Various Zephyr boards enable features that we don't want.
    # CONFIG_BT is not set
    # CONFIG_BT_CTLR is not set
    # CONFIG_I2C is not set
    
    CONFIG_LOG=n
    #CONFIG_LOG_MODE_MINIMAL=y # former CONFIG_MODE_MINIMAL
    ### Ensure Zephyr logging changes don't use more resources
    #CONFIG_LOG_DEFAULT_LEVEL=0
    ### Decrease footprint by ~4 KB in comparison to CBPRINTF_COMPLETE=y
    CONFIG_CBPRINTF_NANO=y
    #CONFIG_NRF_RTC_TIMER_USER_CHAN_COUNT=0
    
    CONFIG_MAIN_STACK_SIZE=10240
    CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h"
    
    CONFIG_FLASH=y
    CONFIG_FPROTECT=y
    CONFIG_PM=n
    
    CONFIG_BOOT_SWAP_SAVE_ENCTLV=n
    CONFIG_BOOT_ENCRYPT_IMAGE=n
    
    CONFIG_BOOT_BOOTSTRAP=n
    CONFIG_BOOT_UPGRADE_ONLY=n
    
    ### Minimal Configurations ###
    CONFIG_BOOT_USE_MIN_PARTITION_SIZE=y
    CONFIG_ASSERT=n
    CONFIG_ASSERT_VERBOSE=n
    CONFIG_BOOT_BANNER=n
    CONFIG_CLOCK_CONTROL=n
    CONFIG_CONSOLE=n
    CONFIG_CONSOLE_HANDLER=n
    CONFIG_GPIO=n
    CONFIG_KERNEL_MEM_POOL=n
    CONFIG_LOG=n
    CONFIG_MINIMAL_LIBC_CALLOC=n
    CONFIG_MINIMAL_LIBC_MALLOC=n
    CONFIG_MINIMAL_LIBC_REALLOCARRAY=n
    CONFIG_NCS_SAMPLES_DEFAULTS=n
    CONFIG_NO_RUNTIME_CHECKS=y
    CONFIG_NRF_RTC_TIMER=n
    CONFIG_PRINTK=n
    CONFIG_SECURE_BOOT_DEBUG=n
    CONFIG_SERIAL=n
    CONFIG_SYS_CLOCK_EXISTS=n
    CONFIG_UART_CONSOLE=n
    
    # trying out some more (doesn't do much)
    CONFIG_MPU=n
    CONFIG_ARM_MPU=n
    CONFIG_CBPRINTF_NANO=y
    CONFIG_CBPRINTF_LIBC_SUBSTS=n
    CONFIG_MINIMAL_LIBC=y
    
    # trying out some more (doesn't do anything)
    CONFIG_SPI=n
    CONFIG_TIMEOUT_64BIT=n
    CONFIG_TIMESLICING=n
    CONFIG_MINIMAL_LIBC_OPTIMIZE_STRING_FOR_SIZE=y

    prj.conf:

    #
    # Copyright (c) 2022 Nordic Semiconductor ASA
    #
    # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
    #
    
    # nRF5340 Audio
    CONFIG_NRF5340_AUDIO=y
    
    CONFIG_SAMPLE_RATE_CONVERTER=y
    CONFIG_SAMPLE_RATE_CONVERTER_FILTER_SIMPLE=y
    
    # General
    CONFIG_DEBUG=y
    CONFIG_DEBUG_INFO=y
    CONFIG_ASSERT=y
    CONFIG_STACK_USAGE=y
    CONFIG_THREAD_RUNTIME_STATS=y
    CONFIG_STACK_SENTINEL=y
    CONFIG_INIT_STACKS=y
    
    # Uart driver
    CONFIG_SERIAL=n
    
    # Logging
    CONFIG_LOG=y
    CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y
    CONFIG_LOG_TAG_MAX_LEN=2
    CONFIG_LOG_TAG_DEFAULT="--"
    CONFIG_LOG_BACKEND_UART=n
    CONFIG_LOG_BACKEND_RTT=y
    
    # Use this for debugging thread usage
    #CONFIG_LOG_THREAD_ID_PREFIX=y
    
    # Console related defines
    CONFIG_CONSOLE=y
    CONFIG_RTT_CONSOLE=y
    CONFIG_UART_CONSOLE=n
    
    # Shell related defines
    CONFIG_SHELL=n
    CONFIG_KERNEL_SHELL=n
    CONFIG_USE_SEGGER_RTT=y
    ## Disable logs on RTT
    CONFIG_SHELL_RTT_INIT_LOG_LEVEL_NONE=n
    CONFIG_SHELL_BACKEND_RTT=n
    CONFIG_SHELL_BACKEND_SERIAL=n
    CONFIG_SHELL_VT100_COMMANDS=n
    CONFIG_SHELL_VT100_COLORS=n
    #CONFIG_SHELL_STACK_SIZE=4096
    #CONFIG_SHELL_CMD_BUFF_SIZE=128
    ## Reduce shell memory usage
    CONFIG_SHELL_WILDCARD=n
    CONFIG_SHELL_HELP_ON_WRONG_ARGUMENT_COUNT=n
    CONFIG_SHELL_STATS=n
    CONFIG_SHELL_CMDS=n
    CONFIG_SHELL_HISTORY=n
    
    # Turn off default shell commands
    CONFIG_I2C_SHELL=n
    CONFIG_HWINFO_SHELL=n
    CONFIG_CLOCK_CONTROL_NRF_SHELL=n
    CONFIG_FLASH_SHELL=n
    CONFIG_DEVICE_SHELL=n
    
    # Suppress LOG_ERR messages from sd_check_card_type. Because SPI_SDHC has no card presence method,
    # assume card is in slot. Thus error message is always shown if card is not inserted
    CONFIG_SD_LOG_LEVEL_OFF=n
    
    # Suppress LOG_INF messages from hci_core
    CONFIG_BT_HCI_CORE_LOG_LEVEL_WRN=y
    
    CONFIG_TRANSPORT_BIS=y
    CONFIG_NAOX_HW_CODEC_DA7218=y
    CONFIG_HW_CODEC_CIRRUS_LOGIC=n
    
    #EEG configs
    CONFIG_NRFX_RTC0=y
    CONFIG_I2C=y
    CONFIG_GPIO=y
    
    CONFIG_BT=y
    CONFIG_BT_PERIPHERAL=y
    CONFIG_BT_MAX_CONN=4
    #CONFIG_BT_ISO_PERIPHERAL=y
    CONFIG_BT_MAX_PAIRED=3
    
    CONFIG_HEAP_MEM_POOL_SIZE=4096
    
    # Over-ride various BT settings for extended data packet size
    CONFIG_BT_L2CAP_TX_BUF_COUNT=6
    CONFIG_BT_BUF_ACL_RX_SIZE=256
    CONFIG_BT_BUF_ACL_TX_SIZE=256
    CONFIG_BT_L2CAP_TX_MTU=252
    CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
    CONFIG_BT_USER_DATA_LEN_UPDATE=y
    CONFIG_BT_GATT_CLIENT=y
    CONFIG_BT_USER_PHY_UPDATE=y
    CONFIG_BT_DEVICE_NAME="NaoX dev kit"
    CONFIG_BT_DEVICE_NAME_DYNAMIC=y
    
    # This example requires more workqueue stack
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=8192
    CONFIG_MAIN_STACK_SIZE=4096
    CONFIG_BT_RX_STACK_SIZE=4096
    CONFIG_BT_HCI_TX_STACK_SIZE=2048
    
    CONFIG_CBPRINTF_FP_SUPPORT=y
    
    # ADC configuration
    # Zephyr ADC layer disabled to give nrfx_saadc exclusive ownership of the SAADC.
    # DT properties (oversampling, acquisition-time) are still read via DT_* macros.
    CONFIG_ADC=n
    CONFIG_NRFX_SAADC=y
    
    # Timer configuration
    #CONFIG_NRFX_TIMER0=y
    #CONFIG_NRFX_TIMER1=y
    CONFIG_NRFX_TIMER2=y
    
    # DPPI for hardware-chained Timer -> SAADC sampling (no CPU on tick)
    CONFIG_NRFX_DPPI=y 
    
    #DFU OTA Config
    CONFIG_BOOTLOADER_MCUBOOT=y
    CONFIG_MCUMGR=y
    CONFIG_NET_BUF=y
    CONFIG_ZCBOR=y
    CONFIG_CRC=y
    CONFIG_MCUMGR_TRANSPORT_BT=y
    CONFIG_MCUMGR_TRANSPORT_BT_CONN_PARAM_CONTROL=y
    CONFIG_IMG_MANAGER=y
    CONFIG_STREAM_FLASH=y
    CONFIG_FLASH_MAP=y
    CONFIG_FLASH=y
    CONFIG_MCUMGR_GRP_IMG=y
    CONFIG_MCUMGR_GRP_OS=y
    CONFIG_MCUMGR_GRP_OS_BOOTLOADER_INFO=y
    CONFIG_MCUMGR_TRANSPORT_BT_REASSEMBLY=y
    

Reply
  • Hi,

    I'm on sdk 2.6.0

    I thought I needed the broadcasting configuration for the audio LE stack , no?

    here's my current configuration files hci_ipc.conf:

    CONFIG_BT_ISO_PERIPHERAL=y
    CONFIG_BT_ISO_CENTRAL=y
    CONFIG_BT_ISO_BROADCASTER=y
    CONFIG_BT_ISO_SYNC_RECEIVER=y
    CONFIG_BT_EXT_ADV=y
    CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER=y
    CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER=y
    
    CONFIG_BT_CTLR_CONN_ISO_GROUPS=1
    CONFIG_BT_CTLR_CONN_ISO_STREAMS=2
    CONFIG_BT_CTLR_SYNC_ISO_STREAM_COUNT=2
    CONFIG_BT_CTLR_ADV_ISO_SET=1
    CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=2
    
    # Support two links as a central, or one link as a peripheral
    CONFIG_BT_MAX_CONN=4
    CONFIG_BT_CTLR_SDC_PERIPHERAL_COUNT=2
    
    # Allow using more than default advertising event length
    CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=251
    
    # To present the audio at the right point in time, we need the controller and
    # audio clock to be synchronized
    CONFIG_MPSL_TRIGGER_IPC_TASK_ON_RTC_START=y
    CONFIG_MPSL_TRIGGER_IPC_TASK_ON_RTC_START_CHANNEL=4
    
    # General
    CONFIG_DEBUG=n
    CONFIG_ASSERT=n
    CONFIG_STACK_USAGE=n
    CONFIG_THREAD_MONITOR=n
    CONFIG_SERIAL=n
    CONFIG_CONSOLE=n
    CONFIG_PRINTK=n
    CONFIG_UART_CONSOLE=n
    CONFIG_BOOT_BANNER=n
    

    MCUboot.conf:

    CONFIG_SIZE_OPTIMIZATIONS=y
    
    CONFIG_PM=n
    CONFIG_MAIN_STACK_SIZE=20480
    CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h"
    
    CONFIG_BOOT_SWAP_SAVE_ENCTLV=n
    
    CONFIG_BOOT_UPGRADE_ONLY=n
    CONFIG_BOOT_BOOTSTRAP=n
    
    ### mbedTLS has its own heap
    # CONFIG_HEAP_MEM_POOL_SIZE is not set
    
    ### We never want Zephyr's copy of tinycrypt.  If tinycrypt is needed,
    ### MCUboot has its own copy in tree.
    # CONFIG_TINYCRYPT is not set
    # CONFIG_TINYCRYPT_ECC_DSA is not set
    # CONFIG_TINYCRYPT_SHA256 is not set
    CONFIG_SPI=n
    CONFIG_SPI_NOR=n
    CONFIG_FLASH=y
    CONFIG_FPROTECT=y
    
    ### Various Zephyr boards enable features that we don't want.
    # CONFIG_BT is not set
    # CONFIG_BT_CTLR is not set
    # CONFIG_I2C is not set
    
    CONFIG_LOG=n
    #CONFIG_LOG_MODE_MINIMAL=y # former CONFIG_MODE_MINIMAL
    ### Ensure Zephyr logging changes don't use more resources
    #CONFIG_LOG_DEFAULT_LEVEL=0
    ### Decrease footprint by ~4 KB in comparison to CBPRINTF_COMPLETE=y
    CONFIG_CBPRINTF_NANO=y
    #CONFIG_NRF_RTC_TIMER_USER_CHAN_COUNT=0
    
    CONFIG_MAIN_STACK_SIZE=10240
    CONFIG_MBEDTLS_CFG_FILE="mcuboot-mbedtls-cfg.h"
    
    CONFIG_FLASH=y
    CONFIG_FPROTECT=y
    CONFIG_PM=n
    
    CONFIG_BOOT_SWAP_SAVE_ENCTLV=n
    CONFIG_BOOT_ENCRYPT_IMAGE=n
    
    CONFIG_BOOT_BOOTSTRAP=n
    CONFIG_BOOT_UPGRADE_ONLY=n
    
    ### Minimal Configurations ###
    CONFIG_BOOT_USE_MIN_PARTITION_SIZE=y
    CONFIG_ASSERT=n
    CONFIG_ASSERT_VERBOSE=n
    CONFIG_BOOT_BANNER=n
    CONFIG_CLOCK_CONTROL=n
    CONFIG_CONSOLE=n
    CONFIG_CONSOLE_HANDLER=n
    CONFIG_GPIO=n
    CONFIG_KERNEL_MEM_POOL=n
    CONFIG_LOG=n
    CONFIG_MINIMAL_LIBC_CALLOC=n
    CONFIG_MINIMAL_LIBC_MALLOC=n
    CONFIG_MINIMAL_LIBC_REALLOCARRAY=n
    CONFIG_NCS_SAMPLES_DEFAULTS=n
    CONFIG_NO_RUNTIME_CHECKS=y
    CONFIG_NRF_RTC_TIMER=n
    CONFIG_PRINTK=n
    CONFIG_SECURE_BOOT_DEBUG=n
    CONFIG_SERIAL=n
    CONFIG_SYS_CLOCK_EXISTS=n
    CONFIG_UART_CONSOLE=n
    
    # trying out some more (doesn't do much)
    CONFIG_MPU=n
    CONFIG_ARM_MPU=n
    CONFIG_CBPRINTF_NANO=y
    CONFIG_CBPRINTF_LIBC_SUBSTS=n
    CONFIG_MINIMAL_LIBC=y
    
    # trying out some more (doesn't do anything)
    CONFIG_SPI=n
    CONFIG_TIMEOUT_64BIT=n
    CONFIG_TIMESLICING=n
    CONFIG_MINIMAL_LIBC_OPTIMIZE_STRING_FOR_SIZE=y

    prj.conf:

    #
    # Copyright (c) 2022 Nordic Semiconductor ASA
    #
    # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
    #
    
    # nRF5340 Audio
    CONFIG_NRF5340_AUDIO=y
    
    CONFIG_SAMPLE_RATE_CONVERTER=y
    CONFIG_SAMPLE_RATE_CONVERTER_FILTER_SIMPLE=y
    
    # General
    CONFIG_DEBUG=y
    CONFIG_DEBUG_INFO=y
    CONFIG_ASSERT=y
    CONFIG_STACK_USAGE=y
    CONFIG_THREAD_RUNTIME_STATS=y
    CONFIG_STACK_SENTINEL=y
    CONFIG_INIT_STACKS=y
    
    # Uart driver
    CONFIG_SERIAL=n
    
    # Logging
    CONFIG_LOG=y
    CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y
    CONFIG_LOG_TAG_MAX_LEN=2
    CONFIG_LOG_TAG_DEFAULT="--"
    CONFIG_LOG_BACKEND_UART=n
    CONFIG_LOG_BACKEND_RTT=y
    
    # Use this for debugging thread usage
    #CONFIG_LOG_THREAD_ID_PREFIX=y
    
    # Console related defines
    CONFIG_CONSOLE=y
    CONFIG_RTT_CONSOLE=y
    CONFIG_UART_CONSOLE=n
    
    # Shell related defines
    CONFIG_SHELL=n
    CONFIG_KERNEL_SHELL=n
    CONFIG_USE_SEGGER_RTT=y
    ## Disable logs on RTT
    CONFIG_SHELL_RTT_INIT_LOG_LEVEL_NONE=n
    CONFIG_SHELL_BACKEND_RTT=n
    CONFIG_SHELL_BACKEND_SERIAL=n
    CONFIG_SHELL_VT100_COMMANDS=n
    CONFIG_SHELL_VT100_COLORS=n
    #CONFIG_SHELL_STACK_SIZE=4096
    #CONFIG_SHELL_CMD_BUFF_SIZE=128
    ## Reduce shell memory usage
    CONFIG_SHELL_WILDCARD=n
    CONFIG_SHELL_HELP_ON_WRONG_ARGUMENT_COUNT=n
    CONFIG_SHELL_STATS=n
    CONFIG_SHELL_CMDS=n
    CONFIG_SHELL_HISTORY=n
    
    # Turn off default shell commands
    CONFIG_I2C_SHELL=n
    CONFIG_HWINFO_SHELL=n
    CONFIG_CLOCK_CONTROL_NRF_SHELL=n
    CONFIG_FLASH_SHELL=n
    CONFIG_DEVICE_SHELL=n
    
    # Suppress LOG_ERR messages from sd_check_card_type. Because SPI_SDHC has no card presence method,
    # assume card is in slot. Thus error message is always shown if card is not inserted
    CONFIG_SD_LOG_LEVEL_OFF=n
    
    # Suppress LOG_INF messages from hci_core
    CONFIG_BT_HCI_CORE_LOG_LEVEL_WRN=y
    
    CONFIG_TRANSPORT_BIS=y
    CONFIG_NAOX_HW_CODEC_DA7218=y
    CONFIG_HW_CODEC_CIRRUS_LOGIC=n
    
    #EEG configs
    CONFIG_NRFX_RTC0=y
    CONFIG_I2C=y
    CONFIG_GPIO=y
    
    CONFIG_BT=y
    CONFIG_BT_PERIPHERAL=y
    CONFIG_BT_MAX_CONN=4
    #CONFIG_BT_ISO_PERIPHERAL=y
    CONFIG_BT_MAX_PAIRED=3
    
    CONFIG_HEAP_MEM_POOL_SIZE=4096
    
    # Over-ride various BT settings for extended data packet size
    CONFIG_BT_L2CAP_TX_BUF_COUNT=6
    CONFIG_BT_BUF_ACL_RX_SIZE=256
    CONFIG_BT_BUF_ACL_TX_SIZE=256
    CONFIG_BT_L2CAP_TX_MTU=252
    CONFIG_BT_CTLR_DATA_LENGTH_MAX=251
    CONFIG_BT_USER_DATA_LEN_UPDATE=y
    CONFIG_BT_GATT_CLIENT=y
    CONFIG_BT_USER_PHY_UPDATE=y
    CONFIG_BT_DEVICE_NAME="NaoX dev kit"
    CONFIG_BT_DEVICE_NAME_DYNAMIC=y
    
    # This example requires more workqueue stack
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=8192
    CONFIG_MAIN_STACK_SIZE=4096
    CONFIG_BT_RX_STACK_SIZE=4096
    CONFIG_BT_HCI_TX_STACK_SIZE=2048
    
    CONFIG_CBPRINTF_FP_SUPPORT=y
    
    # ADC configuration
    # Zephyr ADC layer disabled to give nrfx_saadc exclusive ownership of the SAADC.
    # DT properties (oversampling, acquisition-time) are still read via DT_* macros.
    CONFIG_ADC=n
    CONFIG_NRFX_SAADC=y
    
    # Timer configuration
    #CONFIG_NRFX_TIMER0=y
    #CONFIG_NRFX_TIMER1=y
    CONFIG_NRFX_TIMER2=y
    
    # DPPI for hardware-chained Timer -> SAADC sampling (no CPU on tick)
    CONFIG_NRFX_DPPI=y 
    
    #DFU OTA Config
    CONFIG_BOOTLOADER_MCUBOOT=y
    CONFIG_MCUMGR=y
    CONFIG_NET_BUF=y
    CONFIG_ZCBOR=y
    CONFIG_CRC=y
    CONFIG_MCUMGR_TRANSPORT_BT=y
    CONFIG_MCUMGR_TRANSPORT_BT_CONN_PARAM_CONTROL=y
    CONFIG_IMG_MANAGER=y
    CONFIG_STREAM_FLASH=y
    CONFIG_FLASH_MAP=y
    CONFIG_FLASH=y
    CONFIG_MCUMGR_GRP_IMG=y
    CONFIG_MCUMGR_GRP_OS=y
    CONFIG_MCUMGR_GRP_OS_BOOTLOADER_INFO=y
    CONFIG_MCUMGR_TRANSPORT_BT_REASSEMBLY=y
    

Children
No Data
Related