# 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_COAP=y
CONFIG_DNS_RESOLVER=y
CONFIG_JSON_LIBRARY=y
CONFIG_HWINFO=y
CONFIG_POSIX_API=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
