Thread (7 messages) flat view 7 messages, 3 authors, 1d ago
WARM1d

Revision v1 of 2 in this series.

Revisions (2)
  1. v1 [diff vs current]
  2. v1 current

[PATCH BlueZ v1 1/3] rap: Add OndemandRanging configuration option

From: Naga Bhavani Akella <hidden>
Date: 2026-09-08 04:27:45
Subsystem: the rest · Maintainer: Linus Torvalds

Add a per-adapter config knob under [ChannelSounding] to let the RAS
Initiator use on-demand Ranging Data delivery (Get_Ranging_Data/
ACK_Ranging_Data) instead of real-time notifications. Defaults to
false.

- src/btd.h: add bool ondemand_ranging to struct btd_le_bcs.
- src/main.c: parse "OndemandRanging" into
  btd_opts.defaults.bcs.ondemand_ranging.
- src/main.conf: document the new option.
---
 src/btd.h     | 1 +
 src/main.c    | 4 ++++
 src/main.conf | 8 ++++++++
 3 files changed, 13 insertions(+)
diff --git a/src/btd.h b/src/btd.h
index db2e81239..d70276b1d 100644
--- a/src/btd.h
+++ b/src/btd.h
@@ -98,6 +98,7 @@ struct btd_le_bcs {
 	uint8_t role;
 	uint8_t cs_sync_ant_sel;
 	int8_t max_tx_power;
+	bool ondemand_ranging;
 };
 
 struct btd_defaults {
diff --git a/src/main.c b/src/main.c
index 8aa19a3e3..c7a55d30f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -160,6 +160,7 @@ static const char *const bcs_options[] = {
 	"Role",
 	"CsSyncAntennaSel",
 	"MaxTxPower",
+	"OndemandRanging",
 	NULL
 };
 
@@ -1301,6 +1302,8 @@ static void parse_le_cs_config(GKeyFile *config)
 	parse_config_signed_int(config, "ChannelSounding",
 			"MaxTxPower", &btd_opts.defaults.bcs.max_tx_power,
 			INT8_MIN, INT8_MAX);
+	parse_config_bool(config, "ChannelSounding", "OndemandRanging",
+			&btd_opts.defaults.bcs.ondemand_ranging);
 }
 
 static void parse_avdtp_session_mode(GKeyFile *config)
@@ -1437,6 +1440,7 @@ static void init_defaults(void)
 	btd_opts.defaults.bcs.role = 0x03;
 	btd_opts.defaults.bcs.cs_sync_ant_sel = 0xFF;
 	btd_opts.defaults.bcs.max_tx_power = 0x14;
+	btd_opts.defaults.bcs.ondemand_ranging = false;
 }
 
 static void log_handler(const gchar *log_domain, GLogLevelFlags log_level,
diff --git a/src/main.conf b/src/main.conf
index 80f4a3a0c..1d8e97dc6 100644
--- a/src/main.conf
+++ b/src/main.conf
@@ -323,6 +323,14 @@
 # Default: 20 (Max Power possible)
 #MaxTxPower = 20
 
+# Enables on-demand Ranging Data delivery for the RAS Initiator role.
+# When true, the initiator subscribes to the On-demand Ranging Data,
+# Ranging Data Ready/Overwritten, and RAS Control Point characteristics
+# and fetches ranging data via Get_Ranging_Data/ACK_Ranging_Data instead
+# of the default real-time streaming path.
+# Default: false (use real-time streaming)
+#OndemandRanging = false
+
 [CSIS]
 # SIRK - Set Identification Resolution Key which is common for all the
 # sets. They SIRK key is used to identify its sets. This can be any
-- 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help