# App stack
CONFIG_MAIN_STACK_SIZE=4096

# C Library
# Default use minimal libc and with MINIMAL_LIBC_MALLOC_ARENA_SIZE defining
# HEAP size (512 bytes) are enought to run DNS.
CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=4096

# Networking config
CONFIG_NETWORKING=y
CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=n
CONFIG_NET_TCP=y
CONFIG_NET_SHELL=y

# Sockets
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POSIX_NAMES=y
CONFIG_NET_SOCKETS_POLL_MAX=4

# Network driver config
CONFIG_TEST_RANDOM_GENERATOR=y

# Network address config
CONFIG_NET_CONFIG_SETTINGS=y
CONFIG_NET_CONFIG_NEED_IPV4=y
CONFIG_NET_DHCPV4=y

# Resolver
CONFIG_DNS_RESOLVER=y

# HTTP
CONFIG_HTTP_CLIENT=y

# Network debug config
CONFIG_LOG=y
CONFIG_LOG_STRDUP_BUF_COUNT=20
CONFIG_NET_LOG=y
CONFIG_NET_SOCKETS_LOG_LEVEL_DBG=n
CONFIG_NET_HTTP_LOG_LEVEL_DBG=n

# TagoIO API
CONFIG_TAGOIO_DEVICE_TOKEN="<your device token API>"
CONFIG_CBPRINTF_FP_SUPPORT=y

# Fix #30029 - Undefined initialization levels used
CONFIG_PINMUX=y
