Re: [RFC] Health Thermometer Profile API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Santiago,

On Tue, Jun 28, 2011 at 8:25 AM, Santiago Carot-Nemesio
<sancane@xxxxxxxxx> wrote:
> ---
>  doc/thermometer.txt |  125 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 125 insertions(+), 0 deletions(-)
>  create mode 100644 doc/thermometer.txt
>
> diff --git a/doc/thermometer.txt b/doc/thermometer.txt
> new file mode 100644
> index 0000000..9afd2b2
> --- /dev/null
> +++ b/doc/thermometer.txt
> @@ -0,0 +1,125 @@
> +BlueZ D-Bus Thermomether API description

Typo: Thermomether -> Thermometer

> +****************************************
> +
> +       Santiago Carot-Nemesio <sancane@xxxxxxxxx>
> +
> +Health Thermomether Profile hierarchy
> +=====================================

Typo: Thermomether -> Thermometer

> +
> +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.
> +
> +               RegisterThermometerWatcher(object agent)
> +
> +                       Registers a watcher to monitor scanned measures.The agent

Typo: measures -> measurements

> +                       will be notified about final.
> +
> +                       Possible Errors: org.bluez.Error.InvalidArguments
> +
> +               UnregisterThermometerWatcher(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
> +
> +               EnableIntermediateMeasures(object agent)
> +
> +                       Enables intermediate measure notifications for this agent

Typo: measure -> measurement

> +                       if the thermometer supports it.
> +
> +                       Possible Errors: org.bluez.Error.InvalidArguments
> +                                       org.bluez.Error.NotSupported
> +
> +               DisableIntermediateMeasures(object agent)

What about a second argument to RegisterThermometerWatcher() that
enables/disables intermediate measurements ?

> +
> +                       Disables intermediate measure notifications for this

Typo: measure -> measurement

> +                       agent. It will disable notifications in the thermometer
> +                       when the last agent removes the watcher for intermediate
> +                       measures.

Typo: measures -> 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 measure

Typo: measure -> measurement

> +                       notifications.
> +
> +               uint16 Interval (optional) [readwrite]
> +
> +                       The Measurement Interval defines the time (in seconds)
> +                       between measurements. This interval is not related to
> +                       the intermediates measures and must be defined into

Typo: intermediates -> intermediate
Typo: measures -> measurements

> +                       a valid range. Setting it to zero meaning that no

Typo: meaning -> means

> +                       periodic measurements will be taken.
> +
> +               uint16 Minimum (optional) [readonly]

This is inverted with Maximum.

> +
> +                       Defines the maximum value allowed for the interval
> +                       between periodic measurements.
> +
> +               uint16 Maximum (optional) [readonly]
> +
> +                       Defines the minimuum value allowed for the interval

Typo: minimuum -> minimum

> +                       between periodic measurements.
> +
> +
> +Health Thermometer Watcher hierarchy
> +====================================
> +Service                unique name
> +Interface      org.bluez.ThermometerWatcher
> +Object path    freely definable
> +
> +Methods                void MeasureReceived(dict measure)

typo (measure vs. measurement)

> +
> +                       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.

IIRC, the "Type" value is also optional.

> +
> +                       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)
> --
> 1.7.5.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


Regards,
-- 
Anderson Lizardo
Instituto Nokia de Tecnologia - INdT
Manaus - Brazil
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux