linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Heart Rate Profile API
@ 2012-03-03 10:35 Santiago Carot-Nemesio
  2012-03-03 11:48 ` Anderson Lizardo
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Santiago Carot-Nemesio @ 2012-03-03 10:35 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Santiago Carot-Nemesio

---
 doc/heartrate-api.txt |   72 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100644 doc/heartrate-api.txt

diff --git a/doc/heartrate-api.txt b/doc/heartrate-api.txt
new file mode 100644
index 0000000..5dcaa52
--- /dev/null
+++ b/doc/heartrate-api.txt
@@ -0,0 +1,72 @@
+BlueZ D-Bus Heart Rate API description
+****************************************
+
+	Santiago Carot-Nemesio <sancane@gmail.com>
+
+Heart Rate Profile hierarchy
+============================
+
+Service		org.bluez
+Interface	org.bluez.HeartRate
+Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
+
+Methods		dict GetProperties()
+
+			Returns all properties for the interface. See the
+			Properties section for the available properties.
+
+		RegisterWatcher(object agent)
+
+			Registers a watcher to monitor heart rate measurements.
+
+			Possible Errors: org.bluez.Error.InvalidArguments
+
+		UnregisterWatcher(object agent)
+
+			Unregisters a watcher.
+
+			Possible Errors: org.bluez.Error.InvalidArguments
+					org.bluez.Error.NotFound
+
+		Reset()
+
+			Restart the accumulation of energy expended from zero.
+
+			Possible Errors: org.bluez.Error.NotSupported
+
+Properties	boolean ResetSupported [readonly]
+
+			True if energy expended is supported.
+
+Heart Rate Watcher hierarchy
+============================
+Service		unique name
+Interface	org.bluez.HeartRateWatcher
+Object path	freely definable
+
+Methods		void MeasurementReceived(dict measure)
+
+			This callback is called whenever a heart rate measurement
+			is received from the heart rate device. The unit for the
+			Value is expressed in beats per minute (bpm). The energy
+			field is optional and represents the accumulated energy
+			expended in kilo Joules since last time it was reset.
+			Furthermore, the device will be automatically reset when
+			it is needed.
+			The Contact field, if present, indicates that the device
+			supports contact sensor, besides it will be true if skin
+			contact is detected. The optional interval field is an
+			array containing RR-Interval values which represent the
+			time between two R-Wave detections, where the RR-Interval
+			Value 0 is older than the Value 1 and so on.
+
+			Dict is defined as below:
+			{
+				"Value" : uint16,
+				"Energy" : uint16,
+				"Contact" : boolean,
+				"Location" : ("Other", "Chest", "Wrist","Finger",
+					"Hand", "Ear Lobe", "Foot"),
+				"Interval" : array{uint16}
+			}
+
-- 
1.7.9.2


^ permalink raw reply related	[flat|nested] 15+ messages in thread
* [PATCH] Heart Rate Profile API
@ 2012-02-24  8:08 Santiago Carot-Nemesio
  2012-03-02  8:55 ` Santiago Carot
  2012-03-02 23:57 ` Johan Hedberg
  0 siblings, 2 replies; 15+ messages in thread
From: Santiago Carot-Nemesio @ 2012-02-24  8:08 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Santiago Carot-Nemesio

---
 doc/heartrate-api.txt |   72 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)
 create mode 100644 doc/heartrate-api.txt

diff --git a/doc/heartrate-api.txt b/doc/heartrate-api.txt
new file mode 100644
index 0000000..d2c34ac
--- /dev/null
+++ b/doc/heartrate-api.txt
@@ -0,0 +1,72 @@
+BlueZ D-Bus Heart Rate API description
+****************************************
+
+	Santiago Carot-Nemesio <sancane@gmail.com>
+
+Heart Rate Profile hierarchy
+============================
+
+Service		org.bluez
+Interface	org.bluez.HeartRate
+Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
+
+Methods		dict GetProperties()
+
+			Returns all properties for the interface. See the
+			Properties section for the available properties.
+
+		RegisterWatcher(object agent)
+
+			Registers a watcher to monitor heart rate measurements.
+
+			Possible Errors: org.bluez.Error.InvalidArguments
+
+		UnregisterWatcher(object agent)
+
+			Unregisters a watcher.
+
+			Possible Errors: org.bluez.Error.InvalidArguments
+					org.bluez.Error.NotFound
+
+		Reset()
+
+			Restart the accumulation of energy expended from zero.
+
+			Possible Errors: org.bluez.Error.NotSupported
+
+Properties	boolean Reset [readonly]
+
+			True if energy expended is supportted.
+
+Heart Rate Watcher hierarchy
+============================
+Service		unique name
+Interface	org.bluez.HeartRateWatcher
+Object path	freely definable
+
+Methods		void MeasurementReceived(dict measure)
+
+			This callback is called whenever a heart rate measurement
+			is received from the heart rate device. The unit for the
+			Value is expressed in beats per minute (bpm). The energy
+			field is optional and represents the accumulated energy
+			expended in kilo Joules since last time it was reset.
+			Furthermore, the device will be automatically reset when
+			it is needed.
+			The Contact field, if present, indicates that the device
+			supports contact sensor, besides it will be true if skin
+			contact is detected. The optional interval field is an
+			array containing RR-Interval values which represent the
+			time between two R-Wave detections, where the RR-Interval
+			Value 0 is older than the Value 1 and so on.
+
+			Dict is defined as below:
+			{
+				"Value" : uint16,
+				"Energy" : uint16,
+				"Contact" : boolean,
+				"Location" : ("Other", "Chest", "Wrist","Finger",
+					"Hand", "Ear Lobe", "Foot"),
+				"Interval" : array{uint16}
+			}
+
-- 
1.7.9.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread
* Heart Rate Profile v.2
@ 2012-02-20  9:54 Santiago Carot-Nemesio
  2012-02-20  9:54 ` [PATCH] Heart Rate Profile API Santiago Carot-Nemesio
  0 siblings, 1 reply; 15+ messages in thread
From: Santiago Carot-Nemesio @ 2012-02-20  9:54 UTC (permalink / raw)
  To: linux-bluetooth

This patch add fixes sugested to the previous RFC.

[PATCH] Heart Rate Profile API

^ permalink raw reply	[flat|nested] 15+ messages in thread
* RFC Heart Rate API
@ 2012-02-17 10:37 Santiago Carot-Nemesio
  2012-02-17 10:37 ` [PATCH] Heart Rate Profile API Santiago Carot-Nemesio
  0 siblings, 1 reply; 15+ messages in thread
From: Santiago Carot-Nemesio @ 2012-02-17 10:37 UTC (permalink / raw)
  To: linux-bluetooth

Hi,

This RFC aims to establish the Heart Rate Profile API. It follows the same
principles we did in thermometer to enable or disable notifications based
on the number of watcher registered. Furthermore, other specific protocol
details have been hidden to applications such as management of heart rate
control points wich is managed internally in plugin making easy for
application developers to deal with this kind of devices. On the other hand,
moving this feature inside the plugin avoids the case when multiple applications
reset the device disturbing the other ones wich are waiting for measurements.

As always, comments are welcome.

Regards

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2012-03-05  4:57 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-03 10:35 [PATCH] Heart Rate Profile API Santiago Carot-Nemesio
2012-03-03 11:48 ` Anderson Lizardo
2012-03-05  1:51 ` Johan Hedberg
2012-03-05  4:57 ` Marcel Holtmann
  -- strict thread matches above, loose matches on Subject: below --
2012-02-24  8:08 Santiago Carot-Nemesio
2012-03-02  8:55 ` Santiago Carot
2012-03-02 23:57 ` Johan Hedberg
2012-03-03  0:05   ` Anderson Lizardo
2012-03-03 10:30     ` Santiago Carot
2012-02-20  9:54 Heart Rate Profile v.2 Santiago Carot-Nemesio
2012-02-20  9:54 ` [PATCH] Heart Rate Profile API Santiago Carot-Nemesio
2012-02-23 16:06   ` Anderson Lizardo
2012-02-24  8:00     ` Santiago Carot
2012-02-17 10:37 RFC Heart Rate API Santiago Carot-Nemesio
2012-02-17 10:37 ` [PATCH] Heart Rate Profile API Santiago Carot-Nemesio
2012-02-17 12:00   ` Anderson Lizardo
2012-02-20  9:54     ` Santiago Carot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).