# Let stack canaries use non-random number generator.
# This option is NOT to be used in production code.
CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_BLUETOOTH=y
CONFIG_BLUETOOTH_LE=y
CONFIG_BLUETOOTH_NO_DRIVER=y
CONFIG_BLUETOOTH_DEBUG_STDOUT=y
CONFIG_UART_INTERRUPT_DRIVEN=n
