# Copyright (c) 2018-2020 O.S.Systems
# SPDX -License-Identifier: Apache-2.0
CONFIG_FLASH=y
CONFIG_STREAM_FLASH=y
CONFIG_FLASH_MAP=y
CONFIG_REBOOT=y
CONFIG_MCUBOOT_IMG_MANAGER=y
CONFIG_IMG_MANAGER=y
CONFIG_IMG_ENABLE_IMAGE_CHECK=y
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y
CONFIG_NETWORKING=y
CONFIG_NET_UDP=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POSIX_NAMES=y
CONFIG_COAP=y
CONFIG_DNS_RESOLVER=y
CONFIG_JSON_LIBRARY=y
CONFIG_HWINFO=y

# Turn on the updatehub
CONFIG_UPDATEHUB=y
CONFIG_COAP_INIT_ACK_TIMEOUT_MS=10000

# Heap mem pool size
CONFIG_HEAP_MEM_POOL_SIZE=8192
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=8192

# Network events
CONFIG_NET_CONNECTION_MANAGER=y
CONFIG_NET_CONFIG_SETTINGS=y

CONFIG_NET_IPV6=n

CONFIG_NET_IPV4=y
CONFIG_NET_DHCPV4=y

# Enable Shell
CONFIG_SHELL=y
CONFIG_SHELL_STACK_SIZE=8192
CONFIG_UPDATEHUB_SHELL=y
CONFIG_NET_SHELL=y

# Debug helpers
CONFIG_LOG=y
#CONFIG_UPDATEHUB_LOG_LEVEL_DBG=y
