| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This adds initial code for BASS plugin.
|
|
|
|
|
|
| |
This adds initial code for csip plugin which handles Coordinated
set identification Profile and Coordinated Set Identification
Service.
|
|
|
|
|
|
|
|
| |
This adds initial code for mcp plugin which handles Media Control Profile
and Generic Media Control Service for Client Role.
The plugin exposes dbus methods for media control operations
like play, pause which can be invoked using player menu
in bluetoothctl.
|
|
|
|
|
| |
This adds initial code for vcp plugin which handles Volume Control
Profile and Volume Control Service.
|
|
|
|
|
|
| |
This adds initial code for bap plugin which handles Basic Audio
Profile, Publish Audio Capabilities Service and Audio Stream Control
Service.
|
|
|
|
|
|
| |
uhid.h is part of kernel uapi nowadays so it can be included
directly from linux/uhid.h so this removes the local copy to use it
instead.
|
|
|
|
|
|
| |
This adds an initial code for a new plugin admin.
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
|
|
|
|
| |
gh issue: https://github.com/bluez/bluez/issues/86
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds SPDX License Identifier and removes the license text.
-------------------------------------
License COUNT
-------------------------------------
GPL-2.0-or-later : 6
License: GPL-2.0-or-later
Makefile.am
Makefile.mesh
Makefile.obexd
Makefile.plugins
Makefile.tools
configure.ac
|
| |
|
|
|
|
| |
Some targets use ALSA_LIBS, hence need ALSA_CFLAGS.
|
|
|
|
|
|
|
|
|
| |
-D and -I are preprocessor directives, they are therefore to appear
in CPPFLAGS, not CFLAGS. (It is unfortunate that pkg-config does not
make the distinction / or it was misnamed, because only -D/-I make
sense to be emitted by pkg-config in the first place — anything else
(-f/-m) has the potential to mess up someone's compilation. So
pkg-config's Cflags is actually used to convery Cppflags.)
|
|
|
|
|
|
| |
It is an error to put -l arguments into LDFLAGS, because the linker
command line is order-sensitive and libs must appear in certain
places. For this, automake has the LDADD/LIBADD.
|
|
|
|
|
|
| |
When using automake, all AC_SUBSTed variables are made available as
make variables, so that they can also be set at make time. Therefore,
they need not use the @harcoded@ style.
|
|
|
|
| |
sixaxis.h was missing in release tarball.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Battery Level characteristic was tested with a
Microsoft Arc Touch Mouse SE.
The Battery1 interface is now exported for Bluetooth LE devices which
support the Battery Level characteristic, providing a single
"Percentage" value to other integration points in the OS, such as UPower
for consumption on most free desktops.
See https://bugs.freedesktop.org/show_bug.cgi?id=92370
|
|
|
|
|
|
| |
This code didn't received updates for few years. It is not installed
(build only) since BlueZ 5 release. And STE U8500 platform is long
dead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This plugin implements the Central role of MIDI over Bluetooth
Low-Energy (BLE-MIDI) 1.0 specification as published by MMA in
November/2015.
It was implmemented as a bluetoothd plugin because of latency requirements
of MIDI. There are still room for improvements on this regard.
Like previsouly mentioned, it only implements the Central role, but
since all parsing and state-machine code is in libmidi.[hc] it should be
simple to implement the Peripheral role as a GATT service as well.
Files added:
* profiles/midi/midi.c: Actual GATT plugin
* profiles/midi/libmidi.[ch]: MIDI parsers
Techinal notes
==============
This plugin doesn't require any new threads. It relies on notifications
from a device to parse and render proper events that are queued in the
kernel, causing no blocks at all. Even if an error occur, it will be
handled and returned control to bluetoothd.
It also adds a new file descriptor to be read using struct io. That is
necessary to read events from applications and render raw BLE packets to
be sent to the device with a write without response command. It doesn't
block as well.
This patch introduces ALSA as dependency. But this feature is disabled
by default. To enable it, pass --enable-midi to the configure script.
Even though this introduces ALSA dependency, it is not an audio plugin.
It is rather a MIDI plugin, which is a byte stream protocol with low
throughput but requires low-latency.
Observations
============
I have tested on a normal laptop Arch-linux (x86_64) and a Raspberry Pi 2
(ARM Cortex-A8) and it works very well. As I mentioned, the latency can
always be improved.
I will still maintain a personal branch on my github[1] so others can
contribute there and I can test before sending to BlueZ.
IMPORTAT: the timestamp support is incomplete since ALSA doesn't support the
way MIDI over BLE expects (asign timestamp to an event without scheduling).
We are working on ALSA to support this.
Credits
=======
I would like to send kudos to ROLI Ltd. which allowed my to work
on this as part of my full-time job.
[1] https://github.com/ftonello/bluez/
|
|
|
|
|
|
| |
This adds--enable-health option dedicated to enabled health plugin
so it is no longer enabled with --enable-experimental since that
enables other plugins that might not be relevant for the system.
|
|
|
|
|
|
| |
This adds --disable-hog option to configure which make HoG plugin
to not be build thus reducing the build time and binary size of
bluetoothd in systems where HID over GATT profile is not supported.
|
|
|
|
|
|
| |
This adds --disable-hid option to configure which make input plugin
to not be build thus reducing the build time and binary size of
bluetoothd in systems where HID profile is not supported.
|
|
|
|
|
|
| |
This adds --disable-network option to configure which make network plugin
to not be build thus reducing the build time and binary size of
bluetoothd in systems where those profiles are not supported.
|
|
|
|
|
|
| |
This adds --disable-avrcp option to configure which make AVRCP plugin
to not be build thus reducing the build time and binary size of
bluetoothd in systems where AVRCP is not supported.
|
|
|
|
|
|
| |
This adds --disable-a2dp option to configure which make A2DP plugin
to not be build thus reducing the build time and binary size of
bluetoothd in systems where A2DP is not supported.
|
|
|
|
|
|
| |
This adds --enable-sap option dedicated to enabled sap plugin
so it is no longer enabled with --enable-experimental leaving it to just
enable experimental tools.
|
|
|
|
|
|
| |
This adds --enable-nfc option dedicated to enabled neard plugin
so it is no longer enabled with --enable-experimental since that
enables other plugins that might not be relevant for the system.
|
|
|
|
|
|
| |
This examples can be done over D-Bus already so it makes no sense to have
it as a plugin and in fact it currently it doesn't even work since it was
never ported to the new code under src/shared.
|
|
|
|
|
| |
This removes deprecated GATT profiles that are no longer supported
and should instead be implemented over D-Bus.
|
|
|
|
|
|
|
| |
This disables building plugins that are no longer supported by the core
since the transition to gatt-db. In the future these plugins will have to
be ported to use gatt-db or be removed if the profile can be implemented
using the GATT D-Bus APIs.
|
|
|
|
|
| |
This changes the input plugin to use hog-lib so the same code is used in
both D-Bus daemon, Android and unit tests.
|
| |
|
|
|
|
|
| |
Since this built in profile only handles the GAP service, this patch
renames it to gap.
|
| |
|
|
|
|
|
| |
Now profiles/health/ , android/health and mcaptest will use
profiles/health/mcap-lib.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable HID protocol handling in userspace when UserspaceHID=true in input.conf.
Benefits of userspace HID:
1. Persistent HID/input pipeline
For a Bluetooth HID device, the corresponding kernel HID/input devices are
created only once when the Bluetooth HID device is used the first time.
The HID/input pipeline is not destroyed and recreated every time when
the Bluetooth HID device disconnects and reconnects.
2. HID vs HoG parity
Enables HID and HoG devices to operate the same way in BlueZ stack, using
uHID kernel module (/dev/uhid) to pass HID report data between bluetoothd
and kernel HID subsystem.
3. Debugging
It is easier to debug HID protocol in userspace than in HIDP kernel module.
|
|
|
|
|
| |
Files common.c|h contains only bnep related code, it makes
more sence with bnep.c|h.
|
|
|
|
| |
This plugin will be used to associate PS3 controllers.
|
|
|
|
|
| |
Audio plugin is now splitted in multiple plugins so it is no longer
necessary to have a manager to deal with many different drivers.
|
|
|
|
|
| |
This moves A2DP related code to a2dp plugin and making it possible to
disable by passing -P a2dp and increasing the modularity of the code.
|
|
|
|
|
| |
This moves AVRCP related code to avrcp plugin and making it possible to
disable by passing -P avrcp and increasing the modularity of the code.
|
|
|
|
|
| |
This moves audio device policy to a plugin and removes any dependency of
audio plugin to it.
|
|
|
|
|
|
|
| |
The autopair plugin tries standard pincodes for different devices with
dumb pincodes. It also generates a random 6 digit pincode for keyboards
that support any pincode but fallbacks to the agent call in case the
random generated pincode didn't work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the btd_profile connect/disconnect callbacks to receive a
btd_service pointer. This should make it possible to handle multiple
instances of the same profile in a specific device.
The patch strongly influences how the profiles should interact with the
core. The state transitions, previously reported using the device.h API
(device_profile_connected() and device_profile_disconnected()), have
now been replaced by the btd_service API.
The transitions will then be propagated to device.c by means of the
conventional state-changed callback mechanism.
|
|
|
|
|
| |
Our Generic Attribute/Access Service plugin is small and simple enough
to be kept in only one file.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The API of the Health plugin and the code itself needs another review
phase in the light for BlueZ 5.x. For now mark this plugin as experimental.
|