#*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
#
# LOWI Config file
#
# GENERAL DESCRIPTION
#  This file contains the config params for LOWI
#
# Copyright (c) 2012-2013 Qualcomm Atheros, Inc.
#  All Rights Reserved.
#  Qualcomm Atheros Confidential and Proprietary.
#
# Export of this technology or software is regulated by the U.S. Government.
# Diversion contrary to U.S. law prohibited.
#=============================================================================*/

# X86 ONLY - UBUNTU:
# Copy this file in the same directory where the executable is

# The RSSI threshold used in the RTT outlier detection in half decibels. Default value recommended by the
# system team currently is -140 (corresponding to -70 dB).
LOWI_RSSI_THRESHOLD_FOR_RTT = -140

# Number of measurment per AP for RTS/CTS
LOWI_RTS_CTS_NUM_MEAS = 5

# Maximum Number of Outstanding Requests supported
LOWI_MAX_OUTSTANDING_REQUEST = 255

# Maximum number of records in Cache
LOWI_MAX_NUM_CACHE_RECORDS = 200

# Default threshold before issuing another fresh scan (ms)
LOWI_FRESH_SCAN_THRESHOLD = 500

# Timeout in case no result is reported by the driver (seconds)
LOWI_NO_RESULT_WAIT_TOLERANCE = 10

# Use Fake Wifi driver. Only valid for engineering builds
LOWI_USE_FAKE_WIFI_DRIVER = 0

# Use ROME Wifi driver. Only valid for engineering builds
# Will be removed later only for development support
LOWI_USE_ROME_WIFI_DRIVER = 0

# Use LOWI LP.
# When enabled the Discovery Request will be routed to LOWI-LP
LOWI_USE_LOWI_LP = 1

# Log level
# EL_LOG_OFF = 0, EL_ERROR = 1, EL_WARNING = 2, EL_INFO = 3, EL_DEBUG = 4, EL_VERBOSE = 5, EL_LOG_ALL = 100
LOWI_LOG_LEVEL = 2
