### This configuration enables fewer settings than the default, making it
### suitable for a device with 32kB of RAM and 72kB image slots (e.g.,
### nRF51).

# Enable mcumgr.
CONFIG_MCUMGR=y

# Some command handlers require a large stack.
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

# Ensure an MCUboot-compatible binary is generated.
CONFIG_BOOTLOADER_MCUBOOT=y

# Allow for large Bluetooth data packets.
CONFIG_BT_L2CAP_TX_MTU=260
CONFIG_BT_RX_BUF_LEN=260

# Enable the Bluetooth and UART mcumgr transports.
CONFIG_MCUMGR_SMP_BT=y
#CONFIG_MCUMGR_SMP_SHELL=y
CONFIG_MCUMGR_SMP_UART=y

# Bluetooth support requires a net_buf user_data size >= 7.
CONFIG_NET_BUF_USER_DATA_SIZE=7

# Enable flash operations.
CONFIG_FLASH=y

# Enable the NFFS file system.
#CONFIG_FILE_SYSTEM=y
#CONFIG_FILE_SYSTEM_NFFS=y

# Required by the `taskstat` command.
CONFIG_THREAD_MONITOR=y

# Enable statistics and statistic names.
CONFIG_STATS=y
#CONFIG_STATS_NAMES=y

# Enable all core commands.
#CONFIG_MCUMGR_CMD_FS_MGMT=y
CONFIG_MCUMGR_CMD_IMG_MGMT=y
CONFIG_MCUMGR_CMD_OS_MGMT=y
CONFIG_MCUMGR_CMD_STAT_MGMT=y

### nRF5 specific settings

# Specify the location of the NFFS file system.
#CONFIG_FS_NFFS_FLASH_DEV_NAME="NRF_FLASH"
