Hi Bastien, On Thu, Sep 7, 2017 at 5:03 PM, Bastien Nocera <hadess@xxxxxxxxxx> wrote: > On Thu, 2017-09-07 at 01:16 +0200, Bastien Nocera wrote: >> On Wed, 2017-09-06 at 16:37 +0200, Bastien Nocera wrote: >> > On Wed, 2017-09-06 at 10:40 +0200, Marcel Holtmann wrote: >> > > >> > >> > <snip> >> > > I assumed that it is forbidden to include HID battery reporting >> > > events via the GATT HID descriptors. I think the standard clearly >> > > says these have to come via battery service and not via HID. >> > >> > So we're back to implementing battery reporting as a separate >> > profile. >> > What would be a good example/skeleton to use to implement this? >> >> This is what I managed to do so far: >> https://github.com/hadess/bluez/commits/ble-battery >> >> A first (gentle) pass at a review would be nice, especially if >> there's >> a better way to get notifications on both the attributes in one go. > > Obviously, the reworked code I wrote at 1 AM didn't work correctly. > I've fixed the copy/paste bugs and pushed it. > >> The second question is how I would export this. >> >> I'm currently thinking that exporting a new interface on the device >> itself might be the best idea, and I'll monitor devices directly in >> UPower to export them to desktops. Would that be a good way? > > Still unsure about this, comments welcome. > >> And as UPower will be the likely consumer of this data, I think I'll >> try mapping this set of flags: >> https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile >> =org.bluetooth.characteristic.battery_power_state.xml >> to UPower properties rather than trying to export it as-is. > > I've written parsing code for this. Does anyone know of a device which > would use the Battery Power State characteristic so I could try it out? > > Finally, I've realised that my code replicates a lot of the code in > bas.[ch], which is only used by the hog profile plugin. Seeing as this > does nothing (the Battery Level is at the same level as the HoG > characteristics, not a child of it), I've removed it. We should probably make similar changes to what was done in dis.c so it can operate with gatt_db directly instead of doing its own discovery. -- Luiz Augusto von Dentz -- 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