#
# Copyright (c) 2023 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

source "Kconfig.zephyr"

menu "Nordic TWT sample"

# Traffic gen
rsource "modules/traffic_gen/Kconfig"

config CONNECTION_IDLE_TIMEOUT
	int "Time to be waited for a station to connect"
	default 30

config STA_CONN_TIMEOUT_SEC
	int "Overall Connection timeout (time to be waited for a station to connect and get an IP address)"
	# Zephyr DHCP retry is 1 minute, so set the default to 70 seconds
	default 70
	# 512 has no special meaning, just a reasonable upper limit
	range 0 512
	help
	  Specify the connection timeout, in seconds. This is the overall timeout (time to be waited for
	  a station to connect and get an IP address). DHCP retries should be taken into account when setting
	  this value. If the timeout is set to 0, the connection will not timeout.

config TWT_TRIGGER_ENABLE
	bool "Enable trigger mode"
	help
	  STA expects AP to send triggers for start of every service period.

config TWT_ANNOUNCED_MODE
	bool "Enable announced mode"
	help
	  STA announces its wakeup to AP for every service period start.

config TWT_WAKE_INTERVAL
	int "TWT awake interval"
	help
	  The period where STA is awake and does data transfer, interval should be in us.
	default 65000

config TWT_INTERVAL
	int "TWT service interval"
	help
	  The period for TWT that includes both wake and sleep durations, interval should be in us.
	  Please note higher intervals can be rejected by AP or cause interoperability issues.
	default 524000

choice TWT_TRAFFIC_PATTERN
	prompt "Specifies the TWT traffic pattern either continuous tx or scheduled tx"
	default CONTINUOUS_TX

config CONTINUOUS_TX
	bool "Send traffic continuously"
	help
	  Send traffic continuously without any restrictions, irrespective of sleep and awake periods.

config SCHEDULED_TX
	bool "Send traffic based on TWT schedule"
	help
	  Send traffic based on the TWT schedule and only transmits during the awake periods.

endchoice

endmenu
