# SPDX-License-Identifier: Apache-2.0
# Copyright (c) 2022 Intel Corporation

mainmenu "Timer Behavior Test"

config SYS_CLOCK_TICKS_PER_SEC
	default 8192 if NRF_RTC_TIMER && TICKLESS_KERNEL

source "Kconfig.zephyr"

config TIMER_TEST_SAMPLES
	int "The number of timer samples to gather for statistics"
	default 1000 if (SRAM_SIZE < 24)
	default 2000 if (SRAM_SIZE < 32)
	default 3000 if (SRAM_SIZE < 48)
	default 5000 if (SRAM_SIZE < 64)
	default 7000 if (SRAM_SIZE < 96)
	default 10000

config TIMER_TEST_PERIOD
	int "The number of microseconds to for the timer period"
	default 1000

config TIMER_TEST_MAX_STDDEV
	int "Maximum standard deviation in microseconds allowed"
	default 10

config TIMER_TEST_MAX_DRIFT
	int "Maximum drift in microseconds allowed (should be about 1 period allowance)"
	default 1000

config TIMER_TEST_PERIOD_MAX_DRIFT_PERCENT
	int "Maximum drift percentage for the timer period"
	default 10
	help
	  A value of 10 means 10%.
