# This is Log configuration for new C++ code using LOG() macros.
# See libchrome/base/logging.h for description on how to configure your logs.
# sample configuration:
#LoggingV=--v=0
#LoggingVModule=--vmodule=*/btm/*=1,btm_ble_multi*=2,btif_*=1

# PTS testing helpers

# Secure connections only mode.
# PTS_SecurePairOnly=true

# Disable LE Connection updates
#PTS_DisableConnUpdates=true

# Use EATT for the notifications
#PTS_ForceEattForNotifications=true

# PTS L2CAP Ecoc upper tester (hijack eatt)
#PTS_L2capEcocUpperTester=true

# PTS L2CAP initial number of channels
#note: PTS_EnableL2capUpperTester shall be true
#PTS_L2capEcocInitialChanCnt=3

# PTS Min key size for L2CAP ECOC upper tester
# note: PTS_EnableL2capUpperTester shall be true
#PTS_L2capEcocMinKeySize=16

# PTS Send connect request after connect confirmation
# note: PTS_L2capEcocInitialChanCnt shall be less than 5
#PTS_L2capEcocConnectRemaining=true

#PTS L2CAP CoC schedule sending data after connection
# note: PTS_EnableL2capUpperTester shall be true
#PTS_L2capEcocSendNumOfSdu=2

# Start EATT without validation Server Supported Features
# note: PTS_EnableL2capUpperTester shall be true
#PTS_ConnectEattUncondictionally=true

# Trigger reconfiguration after connection
# note: PTS_EnableL2capUpperTester shall be true
#PTS_L2capEcocReconfigure=true

# Start EATT on unecrypted link
# note: PTS_EnableL2capUpperTester shall be true
#PTS_ConnectEattUnencrypted=true

# Force EATT implementation to connect EATT as a peripheral for collision test case
# note: PTS_EnableL2capUpperTester shall be true
#PTS_EattPeripheralCollionSupport=true

# Disable BR/EDR discovery after LE pairing to avoid cross key derivation errors
#PTS_DisableSDPOnLEPair=true

# SMP Pair options (formatted as hex bytes) auth, io, ikey, rkey, ksize
#PTS_SmpOptions=0xD,0x4,0xf,0xf,0x10

# PTS AVRCP Test mode
#PTS_AvrcpTest=true

# Start broadcast with unecryption mode
#PTS_BroadcastUnencrypted=true

# Use EATT for all services
#PTS_UseEattForAllServices=true

# Suspend stream after some timeout in LE Audio client module
#PTS_LeAudioSuspendStreaming=true

# Force to update metadata with multiple CCIDs
#PTS_ForceLeAudioMultipleContextsMetadata=true

# SMP Certification Failure Cases
# Set any of the following SMP error values (from smp_api_types.h)
# to induce pairing failues for various PTS SMP test cases.
# Setting PTS_SmpFailureCase to 0 means normal operation.
# Failure modes:
#
#  SMP_PASSKEY_ENTRY_FAIL = 1
#  SMP_PAIR_AUTH_FAIL = 3
#  SMP_CONFIRM_VALUE_ERR = 4
#  SMP_PAIR_NOT_SUPPORT = 5
#  SMP_ENC_KEY_SIZE = 6
#  SMP_PAIR_FAIL_UNKNOWN = 8
#  SMP_REPEATED_ATTEMPTS = 9
#  SMP_NUMERIC_COMPAR_FAIL = 12
#PTS_SmpFailureCase=0

# PTS Broadcast audio configuration option
# Option:
# lc3_stereo_48_1_2
# lc3_stereo_48_2_2
# lc3_stereo_48_3_2
# lc3_stereo_48_4_2
#PTS_BroadcastAudioConfigOption=lc3_stereo_48_1_2
