Hi,
I have been playing around with the configs but I could not get Mode-3 to activate. What should I change for cs configs and the prj.conf file in order to activate it?
struct bt_le_cs_create_config_params config_params = { .id = CS_CONFIG_ID, .main_mode_type = BT_CONN_LE_CS_MAIN_MODE_2, .sub_mode_type = BT_CONN_LE_CS_SUB_MODE_1, .min_main_mode_steps = 2, .max_main_mode_steps = 5, .main_mode_repetition = 0, .mode_0_steps = NUM_MODE_0_STEPS, .role = BT_CONN_LE_CS_ROLE_INITIATOR, .rtt_type = BT_CONN_LE_CS_RTT_TYPE_AA_ONLY, .cs_sync_phy = BT_CONN_LE_CS_SYNC_1M_PHY, .channel_map_repetition = 3, .channel_selection_type = BT_CONN_LE_CS_CHSEL_TYPE_3B, .ch3c_shape = BT_CONN_LE_CS_CH3C_SHAPE_HAT, .ch3c_jump = 2, }; bt_le_cs_set_valid_chmap_bits(config_params.channel_map); err = bt_le_cs_create_config(connection, &config_params, BT_LE_CS_CREATE_CONFIG_CONTEXT_LOCAL_AND_REMOTE); if (err) { LOG_ERR("Failed to create CS config (err %d)", err); return 0; } k_sem_take(&sem_config_created, K_FOREVER); err = bt_le_cs_security_enable(connection); if (err) { LOG_ERR("Failed to start CS Security (err %d)", err); return 0; } k_sem_take(&sem_cs_security_enabled, K_FOREVER); const struct bt_le_cs_set_procedure_parameters_param procedure_params = { .config_id = CS_CONFIG_ID, .max_procedure_len = 1000, .min_procedure_interval = realtime_rd ? 5 : 10, .max_procedure_interval = realtime_rd ? 5 : 10, .max_procedure_count = 0, .min_subevent_len = 60000, .max_subevent_len = 60000, .tone_antenna_config_selection = BT_LE_CS_TONE_ANTENNA_CONFIGURATION_A1_B1, .phy = BT_LE_CS_PROCEDURE_PHY_1M, .tx_power_delta = 0x80, .preferred_peer_antenna = BT_LE_CS_PROCEDURE_PREFERRED_PEER_ANTENNA_1, .snr_control_initiator = BT_LE_CS_SNR_CONTROL_NOT_USED, .snr_control_reflector = BT_LE_CS_SNR_CONTROL_NOT_USED, };
# # Copyright (c) 2024 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # CONFIG_NCS_SAMPLES_DEFAULTS=y CONFIG_DK_LIBRARY=y CONFIG_BT=y CONFIG_BT_SMP=y CONFIG_BT_CENTRAL=y CONFIG_BT_MAX_CONN=1 CONFIG_BT_BONDABLE=n CONFIG_BT_GATT_CLIENT=y CONFIG_BT_GATT_DYNAMIC_DB=y CONFIG_BT_CHANNEL_SOUNDING=y CONFIG_BT_RAS=y CONFIG_BT_RAS_RREQ=y CONFIG_BT_SCAN=y CONFIG_BT_SCAN_FILTER_ENABLE=y CONFIG_BT_SCAN_UUID_CNT=1 # The Ranging Profile recommends a MTU of at least 247 octets. CONFIG_BT_L2CAP_TX_MTU=498 CONFIG_BT_BUF_ACL_TX_SIZE=502 CONFIG_BT_BUF_ACL_RX_SIZE=502 CONFIG_BT_ATT_PREPARE_COUNT=3 CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 # This reduces RAM usage. Additional RAM is needed to support optional # features such as mode 3 or multiantenna. Change or remove these if # using those features CONFIG_BT_RAS_MODE_3_SUPPORTED=n CONFIG_BT_RAS_MAX_ANTENNA_PATHS=1 CONFIG_BT_CTLR_SDC_CS_MAX_ANTENNA_PATHS=1 CONFIG_BT_CTLR_SDC_CS_NUM_ANTENNAS=1 CONFIG_BT_CTLR_SDC_CS_STEP_MODE3=n # This allows CS and ACL to use different PHYs CONFIG_BT_TRANSMIT_POWER_CONTROL=y # This improves the performance of floating-point operations CONFIG_FPU=y CONFIG_FPU_SHARING=y CONFIG_CBPRINTF_FP_SUPPORT=y CONFIG_BT_CS_DE=y CONFIG_BT_CS_DE_512_NFFT=y CONFIG_BT_RAS=y CONFIG_BT_CHANNEL_SOUNDING=y
Thanks!