# CONFIG_INIT_STACKS=y
CONFIG_ASSERT=y
CONFIG_HEAP_MEM_POOL_SIZE=8192
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096
# The Bluetooth API should not be used from a preemptive thread:
CONFIG_MAIN_THREAD_PRIORITY=-2
CONFIG_BT_MESH_TX_SEG_MSG_COUNT=5 
CONFIG_STACK_SENTINEL=y
CONFIG_THREAD_NAME=y
CONFIG_EXCEPTION_STACK_TRACE=y

# Bluetooth configuration
CONFIG_BT=y
CONFIG_BT_TINYCRYPT_ECC=y
CONFIG_BT_L2CAP_TX_BUF_COUNT=32
CONFIG_BT_OBSERVER=y
CONFIG_BT_BROADCASTER=y

# Disable unused Bluetooth features
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
CONFIG_BT_CTLR_LE_ENC=n
CONFIG_BT_DATA_LEN_UPDATE=n
CONFIG_BT_PHY_UPDATE=n
CONFIG_BT_CTLR_CHAN_SEL_2=n
CONFIG_BT_CTLR_MIN_USED_CHAN=n
CONFIG_BT_CTLR_PRIVACY=n

# Bluetooth mesh configuration
CONFIG_BT_MESH=y
CONFIG_BT_MESH_SUBNET_COUNT=1
CONFIG_BT_MESH_APP_KEY_COUNT=1
# CONFIG_BT_MESH_ADV_BUF_COUNT=10
CONFIG_BT_MESH_TX_SEG_MSG_COUNT=3
CONFIG_BT_MESH_RX_SEG_MAX=32
CONFIG_BT_MESH_MODEL_GROUP_COUNT=3
CONFIG_BT_MESH_LABEL_COUNT=0
CONFIG_BT_MESH_CFG_CLI=y
CONFIG_BT_MESH_HEALTH_CLI=y
CONFIG_BT_MESH_BEACON_ENABLED=n
CONFIG_BT_MESH_RELAY=y
CONFIG_BT_MESH_RELAY_RETRANSMIT_COUNT=3

CONFIG_BT_MESH_PROVISIONER=y
CONFIG_BT_MESH_PROV_DEVICE=n
CONFIG_BT_MESH_CDB=y
CONFIG_BT_MESH_CDB_NODE_COUNT=16
CONFIG_BT_MESH_CDB_SUBNET_COUNT=3
CONFIG_BT_MESH_CDB_APP_KEY_COUNT=3

CONFIG_BT_MESH_FRIEND=y
CONFIG_BT_MESH_ADV_BUF_COUNT=64
CONFIG_BT_MESH_TX_SEG_MAX=32
CONFIG_BT_MESH_PB_GATT=y
CONFIG_BT_MESH_GATT_PROXY=y
CONFIG_BT_MESH_PROXY_USE_DEVICE_NAME=y

CONFIG_BT_MESH_RPL_STORE_TIMEOUT=600

# CONFIG_BT_MESH_DEBUG=y
# CONFIG_BT_MESH_DEBUG_SETTINGS=y
# CONFIG_BT_MESH_DEBUG_NET=y
# CONFIG_BT_MESH_DEBUG_MODEL=y
# CONFIG_BT_MESH_DEBUG_TRANS=y
# CONFIG_BT_MESH_DEBUG_ACCESS=y

# CONFIG_BT_MESH_LOW_POWER=y
# CONFIG_BT_MESH_DEBUG_PROV=y
# CONFIG_BT_MESH_DEBUG_LOW_POWER=y
# CONFIG_BT_MESH_DEBUG_BEACON=y
# CONFIG_BT_MESH_DEBUG_CRYPTO=y
# CONFIG_BT_MESH_DEBUG_ADV=y

# Bluetooth mesh models
CONFIG_BT_MESH_ONOFF_CLI=y
CONFIG_BT_MESH_LIGHTNESS_CLI=y

CONFIG_LOG=y
CONFIG_LOG_TIMESTAMP_64BIT=y
CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP=y
CONFIG_BT_DEBUG_LOG=y


###################### Violated RENODE/REAL HW configs ######################

### ENABLE all configs below for RENODE testing as RENODE does not support CC3XX crypto hardware
# CONFIG_HW_CC3XX=n
# CONFIG_NRF_CC3XX_PLATFORM=y
# CONFIG_NRF_SECURITY=n

### DISABLE all configs below for RENODE testing as RENODE does not support flash driver
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y

### DISABLE all configs below for RENODE testing as RENODE does not support BT settings
CONFIG_BT_SETTINGS=y
CONFIG_SETTINGS=y

### DISABLE all configs below for RENODE testing as RENODE does not support physical UART/RTT console
CONFIG_UART_CONSOLE=n
CONFIG_USE_SEGGER_RTT=y
CONFIG_RTT_CONSOLE=y 
CONFIG_LOG_BACKEND_RTT=y

### DISABLE all configs below for RENODE testing as RENODE that only  performance testing purpose of BLE mesh
# CONFIG_BLE_MESH_TESTING=y

### DISABLE all configs below for RENODE testing as RENODE does not support physical file system
CONFIG_FILE_SYSTEM=y
CONFIG_FILE_SYSTEM_LITTLEFS=y

### DISABLE all configs below for RENODE testing as RENODE does not support hardware log
# CONFIG_HW_LOG=y
# CONFIG_MAIN_STACK_SIZE=2048
# CONFIG_DEBUG=y


### DISABLE all configs below for RENODE testing as RENODE does not support hardware test
# CONFIG_HW_TEST=y
# CONFIG_SERIAL=y
# CONFIG_UART_INTERRUPT_DRIVEN=y


### DISABLE all configs below for RENODE testing as RENODE does not support uart command
# CONFIG_CTRL_LIGHT_VIA_UART=y

### DISABLE all configs below for RENODE testing as RENODE that define the number of nodes to stored in internal flash
CONFIG_BT_MESH_CDB_NODE_COUNT=8
CONFIG_BT_MAX_EXTERNAL_PROVSIONED_NODES=1


# CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_NCS_SAMPLES_DEFAULTS=y

# General configuration
CONFIG_FLASH=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y
CONFIG_SETTINGS=y
CONFIG_HWINFO=y
CONFIG_DK_LIBRARY=y
CONFIG_PARTITION_MANAGER_ENABLED=y
CONFIG_PM_SINGLE_IMAGE=y
CONFIG_PM_PARTITION_SIZE_SETTINGS_STORAGE=0x8000

# Bluetooth configuration
CONFIG_BT=y
CONFIG_BT_COMPANY_ID=0x0059
CONFIG_BT_DEVICE_NAME="Mesh and Peripheral Coex"
CONFIG_BT_L2CAP_TX_MTU=69
CONFIG_BT_L2CAP_TX_BUF_COUNT=8
CONFIG_BT_OBSERVER=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_SETTINGS=y

CONFIG_BT_EXT_ADV=y
CONFIG_BT_EXT_ADV_MAX_ADV_SET=2
CONFIG_BT_MAX_CONN=3

# Disable unused Bluetooth features
CONFIG_BT_CTLR_DUP_FILTER_LEN=0
CONFIG_BT_CTLR_LE_ENC=n
CONFIG_BT_DATA_LEN_UPDATE=n
CONFIG_BT_PHY_UPDATE=n
CONFIG_BT_CTLR_CHAN_SEL_2=n
CONFIG_BT_CTLR_MIN_USED_CHAN=n
CONFIG_BT_CTLR_PRIVACY=n

# Bluetooth mesh configuration
CONFIG_BT_MESH=y
CONFIG_BT_MESH_RELAY=y
CONFIG_BT_MESH_FRIEND=y
CONFIG_BT_MESH_ADV_BUF_COUNT=13
CONFIG_BT_MESH_TX_SEG_MAX=10
CONFIG_BT_MESH_PB_GATT=y
CONFIG_BT_MESH_GATT_PROXY=y
CONFIG_BT_MESH_PROXY_USE_DEVICE_NAME=y
CONFIG_BT_MESH_DK_PROV=y

# Bluetooth mesh models
CONFIG_BT_MESH_ONOFF_SRV=y

# Enable the LBS service
CONFIG_BT_LBS=y
CONFIG_BT_LBS_POLL_BUTTON=y

CONFIG_BOOTLOADER_MCUBOOT=y

# Enable mcumgr.
CONFIG_MCUMGR=y

# Enable most core commands.
# CONFIG_MCUMGR_CMD_IMG_MGMT=y
# CONFIG_MCUMGR_CMD_OS_MGMT=y

# Allow for large Bluetooth data packets.
CONFIG_BT_L2CAP_TX_MTU=252
CONFIG_BT_BUF_ACL_RX_SIZE=256

# Enable the Bluetooth (unauthenticated) and shell mcumgr transports.
CONFIG_MCUMGR_SMP_BT=y
CONFIG_MCUMGR_SMP_BT_AUTHEN=n

# Some command handlers require a large stack.



# CONFIG_BUILD_OUTPUT_META=n