On Mon, Aug 24, 2020 at 1:40 PM Matias N. <mat...@imap.cc> wrote:
>
>
> > I have been puzzling through the Goobledegook GATT server (GGK,
> > https://github.com/moovel/gatt-server fork).  It uses the Bluez D-Bus
> > interface.  It is GPLv3 so not a candidate for porting.  And also not
> > much use for understanding APIs since the OS interface is hidden inside
> > of the Bluez D-Bus interface
> > (https://core.docs.ubuntu.com/en/stacks/bluetooth/bluez/docs/reference/dbus-api)
Yeah I am very familiar with this having shipped devices on top of the
dbus API.  The dbus API is provided by bluetoothd which intern is
using the kernel socket interface.  Goobledegook is not really
providing us anything here since the underlying bindings between
sockets and GATT are still in bluetoothd.

>
> I think all the GATT logic in NuttX is very complete so it would be better to 
> use that as a base.
> Right now it kind of looks like a library already so I think it would mostly 
> have to be reworked
> to interface to the kernel part of the host layer via L2CAP sockets

I think you are missing something here, the interface that needs to be
supported is not L2CAP, it is HCI.
You would need to write a binding between the link layer and HCI.
Long as your device implements the interfaces here
wireless/bluetooth/bt_hcicore.c we should already be in a great place.

--Brennan

Reply via email to