From: Rymarkiewicz Waldemar <waldemar.rymarkiewicz@tieto.com>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Subject: Re: [RFC] bloodpressure: Add Blood Pressure API
Date: Tue, 5 Mar 2013 12:39:17 +0100 [thread overview]
Message-ID: <5135D965.8020604@tieto.com> (raw)
In-Reply-To: <C4340FC6-1121-468E-B15D-68E2770AA07E@holtmann.org>
Marcel,
>> +Blood Pressure Manager hierarchy
>> +================================
>> +
>> +Serviceorg.bluez
>> +Interface org.bluez.BloodPressureManager1
>> +Object path [variable prefix]/{hci0,hci1,...}
>> +
>> +Methods RegisterWatcher(object agent)
>
> I do not really this manager business anymore. Splitting the interface over adapter and device object seems pointless. What I like to see is that we make one interface on the device object. We should have no proper lifetime rules for these.
>
> Basically a client using a specialised interface should have to deal with one entry point and not with multiple. Low Energy clients need to pick a device they want to operate with. So this should focus on device objects and nothing else.
>
Is this what you mean?
diff --git a/doc/bloodpressure-api.txt b/doc/bloodpressure-api.txt
new file mode 100644
index 0000000..be18208
--- /dev/null
+++ b/doc/bloodpressure-api.txt
@@ -0,0 +1,127 @@
+Blood Pressure API description
+******************************
+
+Blood Pressure Profile hierarchy
+================================
+
+Service org.bluez
+Interface org.bluez.BloodPressure1
+Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
+
+Methods RegisterWatcher(object watcher)
+
+ Registers a watcher to monitor blood pressure
+ measurements. This watcher will be notified about
+ final pressure measurements.
+
+ Possible Errors: org.bluez.Error.InvalidArguments
+
+ UnregisterWatcher(object watcher)
+
+ Unregisters a watcher.
+
+ EnableIntermediateMeasurement(object watcher)
+
+ Enables intermediate measurement notifications
+ for this watcher. Intermediate measurements will
+ be enabled only for devices which support it.
+
+ Possible Errors: org.bluez.Error.InvalidArguments
+ org.bluez.Error.NotSupported
+
+ DisableIntermediateMeasurement(object watcher)
+
+ Disables intermediate measurement notifications
+ for this watcher. It will disable notifications in
+ devices when the last watcher is removed for
+ intermediate measurements.
+
+ Possible Errors: org.bluez.Error.InvalidArguments
+ org.bluez.Error.NotFound
+
+
+Blood Pressure Watcher hierarchy
+================================
+
+Service unique name
+Interface org.bluez.BloodPressureWatcher1
+Object path freely definable
+
+Methods void MeasurementReceived(object device, dict measurement)
+
+ This callback is called whenever a blood pressure
+ measurement is received from the blood pressure device.
+
+ Measurement:
+
+ string Measurement:
+
+ Posible values: "final" or
+ "intermediate"
+
+ uint16 CurrentCuffPressure:
+
+ Current cuff pressure value is only
+ present in intermediate measurement.
+
+ uint16 Systolic:
+
+ Systolic Blood Pressure value is only
+ present in final measurement.
+
+ uint16 Diastolic:
+
+ Diastolic Blood Pressure value is only
+ present in final final measurement.
+
+ uint16 Mean:
+
+ Mean Arterial Pressure value is only
+ present in final measurement.
+
+ string Unit:
+
+ The unit of blood pressure measurement.
+
+ Possible values: "mmHg" or "kPa".
+
+ uint64 Time (optional):
+
+ Time of measurement expresed in seconds
+ from epoch.
+
+ uint16 PulseRate (optional):
+
+ Pulse rate value.
+
+ uint8 UserID (optional):
+
+ User ID if the device supports
+ multiusers measurements.
+
+ boolean BodyMovement (optional)
+
+ True if body movement during
+ measurement has been detected.
+
+ boolean CuffTooLoose (optional)
+
+ True if too loose cuff during
+ measurement has been detected.
+
+ boolean IrregularPulse (optional)
+
+ True if irrgular pulse during
+ measurement has been detected.
+
+ uint8 PulseRateNotInRange (optional)
+
+ Possible values:
+
+ 0 - pulse rate exceeds upper limit
+ 1 - pulse rate is less then lower limit
+
+ boolean MeasurementPosition (optional)
+
+ True if improper measurement position
+ has been detected.
next prev parent reply other threads:[~2013-03-05 11:39 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-12 11:21 [RFC] bloodpressure: Add Blood Pressure API Waldemar Rymarkiewicz
2013-02-20 7:57 ` Johan Hedberg
2013-02-28 14:00 ` Rymarkiewicz Waldemar
2013-02-28 14:18 ` Johan Hedberg
2013-03-01 8:34 ` Rymarkiewicz Waldemar
2013-03-01 8:39 ` Johan Hedberg
2013-03-01 12:11 ` Rymarkiewicz Waldemar
2013-03-01 13:37 ` Johan Hedberg
2013-03-02 3:09 ` Marcel Holtmann
2013-03-05 11:39 ` Rymarkiewicz Waldemar [this message]
2013-03-05 16:15 ` Marcel Holtmann
2013-03-06 8:51 ` Rymarkiewicz Waldemar
2013-03-13 6:51 ` Rymarkiewicz Waldemar
2013-05-08 7:41 ` Johan Hedberg
2013-05-16 12:17 ` Waldemar Rymarkiewicz
2013-05-16 12:22 ` Waldemar Rymarkiewicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5135D965.8020604@tieto.com \
--to=waldemar.rymarkiewicz@tieto.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=marcel@holtmann.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.