mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2024-12-02 00:24:25 +08:00
Health Thermometer Profile API
This commit is contained in:
parent
e202485107
commit
7aa662d813
126
doc/thermometer-api.txt
Normal file
126
doc/thermometer-api.txt
Normal file
@ -0,0 +1,126 @@
|
||||
BlueZ D-Bus Thermometer API description
|
||||
****************************************
|
||||
|
||||
Santiago Carot-Nemesio <sancane@gmail.com>
|
||||
|
||||
Health Thermometer Profile hierarchy
|
||||
=====================================
|
||||
|
||||
Service org.bluez
|
||||
Interface org.bluez.Thermometer
|
||||
Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
|
||||
|
||||
|
||||
Methods void SetProperty(string name, variant value)
|
||||
|
||||
Changes the value of the specified property. Only
|
||||
read-write properties can be changed. On success
|
||||
this will emit a PropertyChanged signal.
|
||||
|
||||
Possible Errors: org.bluez.Error.InvalidArguments
|
||||
|
||||
dict GetProperties()
|
||||
|
||||
Returns all properties for the interface. See the
|
||||
Properties section for the available properties.
|
||||
|
||||
RegisterWatcher(object agent)
|
||||
|
||||
Registers a watcher to monitor scanned measurements.
|
||||
This agent will be notified about final temperature
|
||||
measurements.
|
||||
|
||||
Possible Errors: org.bluez.Error.InvalidArguments
|
||||
|
||||
UnregisterWatcher(object agent)
|
||||
|
||||
Unregisters a watcher.
|
||||
|
||||
Final and intermediate temperatures won't be notified to
|
||||
this agent any more.
|
||||
|
||||
Possible Errors: org.bluez.Error.InvalidArguments
|
||||
org.bluez.Error.NotFound
|
||||
|
||||
EnableIntermediateMeasurement(object agent)
|
||||
|
||||
Enables intermediate measurement notifications for this
|
||||
agent if the thermometer supports it.
|
||||
|
||||
Possible Errors: org.bluez.Error.InvalidArguments
|
||||
org.bluez.Error.NotSupported
|
||||
|
||||
DisableIntermediateMeasurement(object agent)
|
||||
|
||||
Disables intermediate measurement notifications for this
|
||||
agent. It will disable notifications in the thermometer
|
||||
when the last agent removes the watcher for intermediate
|
||||
measurements.
|
||||
|
||||
Possible Errors: org.bluez.Error.InvalidArguments
|
||||
org.bluez.Error.NotFound
|
||||
|
||||
Signals PropertyChanged(string name, variant value)
|
||||
|
||||
This signal indicates a changed value of the given
|
||||
property.
|
||||
|
||||
Properties boolean Intermediate [readonly]
|
||||
|
||||
True if the thermometer supports intermediate measurement
|
||||
notifications.
|
||||
|
||||
uint16 Interval (optional) [readwrite]
|
||||
|
||||
The Measurement Interval defines the time (in seconds)
|
||||
between measurements. This interval is not related to
|
||||
the intermediate measurements and must be defined into
|
||||
a valid range. Setting it to zero means that no periodic
|
||||
measurements will be taken.
|
||||
|
||||
uint16 Maximum (optional) [readonly]
|
||||
|
||||
Defines the maximum value allowed for the interval
|
||||
between periodic measurements.
|
||||
|
||||
uint16 Minimum (optional) [readonly]
|
||||
|
||||
Defines the minimum value allowed for the interval
|
||||
between periodic measurements.
|
||||
|
||||
|
||||
Health Thermometer Watcher hierarchy
|
||||
====================================
|
||||
Service unique name
|
||||
Interface org.bluez.ThermometerWatcher
|
||||
Object path freely definable
|
||||
|
||||
Methods void MeasurementReceived(dict measure)
|
||||
|
||||
This callback gets called when a measure has been
|
||||
scanned in the thermometer. The Time entry in the dict
|
||||
will be only present if the device supports storing of
|
||||
data. The time value is expressed in seconds since epoch.
|
||||
The value represented is (mantissa) x (10**exponent)
|
||||
See foot note for special values when treating with
|
||||
health devices.
|
||||
|
||||
Dict is defined as below:
|
||||
{
|
||||
"Exponent" : int8,
|
||||
"Mantissa" : int32,
|
||||
"Unit" : ("Celsius" or "Fahrenheit"),
|
||||
"Time" : uint64,
|
||||
"Type" : ("Armpit", "Body", "Ear", "Finger",
|
||||
"Intestines", "Mouth", "Rectum", "Toe",
|
||||
"Tympanum"),
|
||||
"Measurement" : ("Final" or "Intermediate"),
|
||||
}
|
||||
|
||||
For special cases, the exponent shall always be zero and
|
||||
the mantissa should be one of following values:
|
||||
|
||||
NRes = -(2**23)
|
||||
NaN = +(2**23-1)
|
||||
INFINITY = (2**23-2)
|
||||
-INFINITY = -(2**23-2)
|
Loading…
Reference in New Issue
Block a user