zephyr/samples/bluetooth
Arkadiusz Lichwa f170898634 Bluetooth: Add simple LE scan app
Use scan functionality by simple app that starts LE scan
and in a while stops it.
It uses basic HCI scan interface prepared for
supporting LE central role feature.

Change-Id: Idcde4c742290d46931ab86522e51b0fc547a2d42
Signed-off-by: Arkadiusz Lichwa <arkadiusz.lichwa@tieto.com>
2016-02-05 20:13:58 -05:00
..
beacon Bluetooth: Enable HCI_CORE debug for samples 2016-02-05 20:13:57 -05:00
central Bluetooth: Add simple LE scan app 2016-02-05 20:13:58 -05:00
init Bluetooth: Enable HCI_CORE debug for samples 2016-02-05 20:13:57 -05:00
peripheral Bluetooth: Enable HCI_CORE debug for samples 2016-02-05 20:13:57 -05:00
shell Bluetooth: Add nanokernel configuration for shell app 2016-02-05 20:13:57 -05:00
test_bluetooth Bluetooth: Add Bluetooth nanokernel smoke test 2016-02-05 20:13:50 -05:00
README Bluetooth: Update README with recent changes 2016-02-05 20:13:57 -05:00
bt_regression.sh Bluetooth: Set default toolchain to gcc 2016-02-05 20:13:58 -05:00

README

Bluetooth subsystem

= Architecture =

All processing is done in fibers. Basic structure for packet processing
is bt_buf. Packets are queued to different queues and processed. Packet
allocation is done through a free packets queue which gets populated
during the initialization.

= Building =

Build host tools:

$ make -C host/src

Build samples

$ make -C samples/bluetooth/<app>

= Testing =

Host Bluetooth controler is connected to the second qemu serial line
through a UNIX socket (qemu option -serial unix:/tmp/bt-server-bredr).

On the host side BlueZ allows to "connect" Bluetooth controller through
a so-called user channel. Use the btproxy tool for that:

$ sudo tools/btproxy -u
Listening on /tmp/bt-server-bredr

Now qemu can connect serial line to the 'bt-server-bredr' UNIX socket
with following command:

For microkernel configuration run:

$ make microkernel.qemu

For nanokernel configuration run:

$ make nanokernel.qemu

Extra parameter to qemu might be added through QEMU_EXTRA_FLAGS.

There is smoke test application in nanokernel and microkernel test
directories which gets run in sanity check script:

$ scripts/sanity_chk/sanity_chk -T gcc [-B <BSP>]

For quick regression test use bt_regression, it only check Bluetooth test

$ samples/bluetooth/bt_regression.sh