haiku/docs/develop/busses/bluetooth/overview.rst
Adrien Destugues a5061ecec5 Generate developer docs with Sphinx
An effort was started some time ago to consolidate all internal
documentation in the git tree. However, this was just an accumulation of
files in various formats without any strucutre or way to browse it,
which results in no one even knowing that we have docs here.

This converts most of the files to restructuredtext and uses Sphinx to
generate an HTML browsable user manual (with a table of content and a
first attempt to put things in a global hierarchy).

There are almost no changes to the documentation content in this commit
(some obviously obsolete things were removed). The plan is to get the
toolchain up and running to make these docs easily available, and only
then see about improving the content. We can migrate some things off the
wiki and website, and rework the table of contents to have some more
hierarchy levels because currently it's a bit messy.

Change-Id: I924ac9dc6e753887ab56f18a09bdb0a1e1793bfd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4370
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2021-08-27 11:41:17 +00:00

37 lines
1.4 KiB
ReStructuredText

Bluetooth overview
==================
(Copied mostly from
http://urnenfeld.blogspot.de/2012/07/in-past-i-got-to-know-that-motivation.html)
**L2cap under ``network/protocols/l2cap``**: Provides socket interface
to have l2cap channels. L2CAP offers connection oriented and
connectionless sockets. But bluetooth stack as this point has no
interchangeability with TCP/IP, A Higher level Bluetooth profile must be
implemented
**HCI under ``src/add-ons/kernel/bluetooth``**: Here we have 2 modules,
one for handling global bluetooth data structures such as connection
handles and L2cap channels, and frames
**H2generic under ``src/add-ons/kernel/drivers/bluetooth``**: The USB
driver, implementing the H2 transport.
**Bluetooth kit under ``src/kit/bluetooth``**: C++ implementation based
on JSR82 api.
**Bluetooth Server under ``src/servers/bluetooth``**: Basically handling
opened devices (local connected fisically in our system) and forwaring
kit calls to them.
**Bluetooth Preferences under ``src/preferences/bluetooth``**:
Configuration using the kit
**Test applications under ``src/tests/kits/bluetooth``**.
There is a small prototype component which is not here documented below
src/add-ons/bluetooth/ResetLocalDevice. Its intention was to be an
add-on of bluetooth preferences, So that new HCI commands could be
customized by users or external developers. I did not like at the end
the idea, I did not find the flexibility I wanted.