Re: [RFC] Health Thermometer Profile API

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

 



>>> (cut)
>> 
>> True, I did not remember that those were properties. They would have
>> to go, otherwise it is too easy for an app to "break" another, by
>> disabling notifications.
>> 
>> A pair of Enable/DisableIntermediate methods taking an agent as
>> parameter would be more adequate.
>> 
>> IMHO there would not be a need of such
>> methods for final measure, because the final measurement (which is
>> the only one guaranteed to be precise) is the final objective, there
>> is no point in registering an agent and not wanting a final measurement.
>> 
> 
> They werent in this RFC. I only see a problem now, for example if an
> agent wants to get only a single *final* measure without setting an
> interval and after a while the same agents decides that it wants to
> get a new single measure without setting an interval for periodic
> measurements. I don't see how it could do this with current API (where
> get final measure methods are not present).

For that, having temperature as one of the properties would be great
(allowing apps unable/unwilling to set up an agent to read it).

Or setting a convention that, if you register an agent, a GATT read is
fired and you get a measurement right after. (It seems that you said
something in that direction below.) Disvantage is that registering
and unregistering agents just to get 1 measurement would cycle 
GATT indications needlessly.

> We could think that an agent is only registered during the time it is
> interested in being notified about final measures, after that, it
> should unregister itself from the service. In that scenario we can set
> notify property for final measures each time an agent is registered
> (if not periodic interval is already set).

In terms of minimizing energy consumption and API methods, the 'best'
would be:

a) intermediate and final temperatures being properties (intermediate
   property is there only if thermometer supports it).

b) There are GATT reads on them when some app reads the property;

c) those properties generate PropertyChanged signals only when
notifications are enabled for one or another, or there was a GATT read;

d) applications signal interest in notifications by registering
an agent (or by some other way). Registering an agent automatically
means interest in final temp notifications, an additional method
enables/disables interest in intermediate temp notifications.

Main problem would be having a "toothless" agent. Looks funny.
--
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