| c34d3d7f |
profiles/gap: Rewrite using bt_gatt_client
This patch rewrites the GAP profile to use the shared GATT stack instead
of GAttrib. The profile now also handles the Device Name characteristic. |
Arman Uguray |
11 years ago |
1 file, +197, -72 |
| 9942dcdb |
profiles/gatt: Rename profile to gap
Since this built in profile only handles the GAP service, this patch
renames it to gap. |
Arman Uguray |
11 years ago |
3 files, +215, -218 |
| fdfd8575 |
profiles/gatt: Don't handle GATT service
ATT MTU exchange and handling of indications from the "Service Changed"
characteristic are now handled by shared/gatt-client, so this profile
should only deal with the GAP service. |
Arman Uguray |
11 years ago |
1 file, +5, -246 |
| fb84bca3 |
core/device: Make profile calls in GATT events
This patch correctly integrates all profile calls into the various GATT
client events (ready, service-added, service-removed) so that profiles
can perform the necessary updates. The major changes introduced in this
this patch are:
1. Added new profile probe/remove functions for GATT services, which
operate on a btd_device's client db and initialize btd_service
instances with start & end handles:
- device_probe_gatt_profiles
- device_probe_gatt_profile
- device_remove_gatt_profile
- device_accept_gatt_profiles
2. device_probe_gatt_profiles is called after service discovery on all
profiles for new services and any stale services are removed from
the profiles.
3. device_accept_gatt_profiles is called to notify profiles of a new
connection when the gatt-client becomes ready. This is call
immediately after a probe, if the probe was done for a newly found
service after a "Service Changed" event.
4. device_probe_gatt_profile is called when a new GATT service is
added to the db.
5. device_remove_gatt_profile is called when a GATT service is removed
from the db. |
Arman Uguray |
11 years ago |
1 file, +318, -49 |
| a891c1ad |
core/device: Add getters for GATT db and client
This patch adds btd_device_get_gatt_db and btd_device_get_gatt_client
functions. |
Arman Uguray |
11 years ago |
2 files, +18, -0 |
| 229a218c |
core/device: Don't disconnect if attios not set
Currently there is no way for external applications to claim ownership
on a GATT connection and as profiles move away from attio.h it doesn't
make much sense to immediately disconnect if no attio callbacks have
been set after probing the profiles (as this will always immediately
disconnect the device). This patch removes this logic from btd_device. |
Arman Uguray |
11 years ago |
1 file, +0, -8 |
| ed30980d |
android/README: Update implementation status for handsfree |
Szymon Janc |
11 years ago |
1 file, +1, -1 |
| 04589795 |
android/handsfree: Add support for configure WBS command
This allows to disable/enable WBS on specific headset. |
Szymon Janc |
11 years ago |
1 file, +35, -1 |
| e0b7cd73 |
android/handsfree: Add initial support for configure WBS commmand
This adds required IPC message and handler for configure WBS command. |
Szymon Janc |
11 years ago |
5 files, +58, -4 |
| 21d4d3b7 |
android/gatt: Fix possible NULL dereference
Fixes warnings:
...
Pointer 'req' returned from call to function 'queue_peek_head'
may be NULL and will be dereferenced
... |
Andrei Emeltchenko |
11 years ago |
1 file, +3, -0 |
| 8c89636a |
android/gatt: Report error on invalid value length for CCC descriptor
For application services, characteristics and descriptors it's user
app's responsibility to verify value length but for embeded ones we
need to do this in daemon. This is checked in TC_GAW_SR_BI_34_C and
PTS tries to write to embeded CCC descritor if no other descriptors
are added by the apps. It is expected by PTS for us to be more strict
about value length controll. |
Jakub Tyszkowski |
11 years ago |
1 file, +8, -1 |
| bac232e9 |
parser/rfcomm: Add support for decoding Test command
< ACL data: handle 75 flags 0x00 dlen 14
L2CAP(d): cid 0x0040 len 10 [psm 3]
RFCOMM(s): TEST RSP: cr 0 dlci 0 pf 0 ilen 6 fcs 0xaa mcc_len 4
Test data: 0x 5f 54 65 73 |
Gowtham Anandha Babu |
11 years ago |
1 file, +11, -1 |
| e0150908 |
monitor/rfcomm: Add support for decoding Test command
RFCOMM: Unnumbered Info with Header Check (UIH)(0xef)
Address: 0x01 cr 0 dlci 0x00
Control: 0xef poll/final 0
Length: 6
FCS: 0xaa
MCC Message type: Test Command RSP(0x08)
Length: 4
Test Data: 0x 5f 54 65 73 |
Gowtham Anandha Babu |
11 years ago |
1 file, +19, -0 |
| 202fb6bd |
android/hog: Fix report lookup
find_report should be used with HoG report types not with uhid rtype. |
Luiz Augusto von Dentz |
11 years ago |
1 file, +28, -19 |
| 83ed02d0 |
android/hog: Implement set_report functionality
When UHID_SET_REPORT is received, hog has to send the given value
of the report to the device and send back the error code to the caller.
This function has to be synchronous, so the answer is sent in
set_report_cb(). |
Luiz Augusto von Dentz |
11 years ago |
1 file, +76, -0 |
| cdddd7e6 |
android/hog: implement get_report functionality
When UHID_GET_REPORT is received, hog has to update the current value
of the report and send it back to the caller.
This function should be synchronous, so the answer is sent in
get_report_cb(). |
Luiz Augusto von Dentz |
11 years ago |
1 file, +88, -2 |
| 6eef557b |
android/scpp: Keep track on write operation |
Lukasz Rymanowski |
11 years ago |
1 file, +29, -4 |
| 53bd01ca |
android/scpp: Keep track on discover characteristic and descriptor |
Lukasz Rymanowski |
11 years ago |
1 file, +82, -6 |
| 6213b69b |
android/scpp: Add queue to keep GATT operations
With this patch SCPP gets queue to track GATT operations and also cancel
requests on SCPP disconnect |
Lukasz Rymanowski |
11 years ago |
1 file, +29, -0 |
| 731fc5a1 |
android/dis: Keep track on discover and read characteristic |
Lukasz Rymanowski |
11 years ago |
1 file, +75, -4 |
| 5226683d |
android/dis: Add queue to keep track on GATT operations
With this patch GATT operation queue has been added together with
canceling ongoing GATT operations on disconnect |
Lukasz Rymanowski |
11 years ago |
1 file, +29, -0 |
| 0c9bedc7 |
android/bas: Keep track on discover characteristic and descriptor |
Lukasz Rymanowski |
11 years ago |
1 file, +52, -4 |
| f2d760d6 |
android/bas: Keep track read/write GATT operations |
Lukasz Rymanowski |
11 years ago |
1 file, +79, -7 |
| f807bdc7 |
android/bas: Add queue to keep track on GATT operations
With this patch BAS gets queue to keep GATT operations and cancel
operations on disconnect. |
Lukasz Rymanowski |
11 years ago |
1 file, +29, -0 |
| d4168c50 |
android/hog: Keep track on read/write char and descr |
Lukasz Rymanowski |
11 years ago |
1 file, +91, -20 |
| 170c0e21 |
android/hog: Keep track on discover characteristic and descriptors |
Lukasz Rymanowski |
11 years ago |
1 file, +74, -19 |
| e743d5c5 |
android/hog: Keep track on primary and include service search |
Lukasz Rymanowski |
11 years ago |
1 file, +80, -8 |
| f662833d |
android/hog: Cancel all GATT operations on disconnect
This patch makes sure that HOG cancels its GATT requests before
removing his attrib reference.
However some request might not be possible to cancel. It will be handled
in following patches |
Lukasz Rymanowski |
11 years ago |
1 file, +21, -1 |
| 5f1d21fa |
android/hog: Add support to track gatt operations |
Lukasz Rymanowski |
11 years ago |
1 file, +10, -0 |
| dbbf568e |
android/gatt: Improve LE connection after pair
With this patch, GATT keeps ATT connection for 30 sec during bonding,
and once bonding is completed GATT starts service search.
It is needed for example when user choose HOG device from Settings
Application. So far scenario looks like that:
1. Bonding started
2. GATT Service search
3. Bonding ended and LE connection dropped
4. Initiated connection to HOG device
Now it looks like that:
1. Bonding Started
2. Bonding Ended
3. GATT Search Service
4. Connect to HOG device on existing LE connection |
Lukasz Rymanowski |
11 years ago |
1 file, +40, -2 |
| a35305c0 |
android/bluetooth: Add API to check if device is bonding
Some modules like GATT might be interested in information about ongoing
bonding on device. It can be useful e.g. to take decision if GATT can do
service search or should wait until bonding is done. |
Lukasz Rymanowski |
11 years ago |
2 files, +12, -0 |
| 9180d1f8 |
android/gatt: Add paired cb to gatt.c
This will be required in order to register for Service Changed on remote
device |
Lukasz Rymanowski |
11 years ago |
1 file, +27, -0 |
| 2d0b77b3 |
android/bluetooth: Add possibility to register for bonded event
Some modules might be interested in fact that device has been bonded.
This patch allows to register for that event
Note that callback is called only on success bonding. |
Lukasz Rymanowski |
11 years ago |
2 files, +41, -0 |
| 0f7aa563 |
android/bluetooth: Minor fix, add missing NULL assignment |
Lukasz Rymanowski |
11 years ago |
1 file, +2, -0 |
| 8e8d7266 |
android/bluetooth: Minor typo fix |
Lukasz Rymanowski |
11 years ago |
1 file, +1, -1 |
| 49bd2e65 |
android/ipc-tester: Fix handsfree module registration
Service register command now takes more parameters and those should
be set cause might be check by module ie. handsfree. |
Szymon Janc |
11 years ago |
1 file, +2, -0 |
| 6c1a1eaf |
android/ipc-tester: Fix using invalid service id
Some handsfree client tests were using bluetooth service id. This is
due to copy-and-paste error. |
Szymon Janc |
11 years ago |
1 file, +29, -19 |
| c4e63220 |
android/ipc-tester: Minor code style fixes |
Szymon Janc |
11 years ago |
1 file, +5, -9 |
| acc2f8eb |
attrib/gattrib: Add tracking all the internal request id
With this patch gattrib track all the pending request id's to bt_att.
When doing g_attrib_cancel_all, only those own by gattrib will be
canceled. |
Lukasz Rymanowski |
11 years ago |
1 file, +43, -53 |
| e5a4abf4 |
attrib/gatt: Fix for search services
This patch adds means to reuse ATT request id for GATT operations
which might need more then one ATT request for complete GATT operation.
E.g discover primary\included services and discover
characteristics/descriptors
This is needed for the user of gattib, to make sure that ATT request id he
holds is valid during whole GATT operation.
So far, it could happen that gattrib did additional ATT request without
user knowledge which leads to situation that user had outdated ATT
request id.
Note that request id is used by the user for canceling request. |
Lukasz Rymanowski |
11 years ago |
1 file, +32, -11 |
| 5043831f |
attrib/gattrib: Add track for request ids
If user provides req_id to the g_attrib_send, he assume that req_id
should be used for transaction.
With this patch, gattrib keeps track on user requested req_id and
actual pending req_id which allow to e.g. cancel correct transaction
when user request it.
Note that for now specific request id is used in attrib/gatt.c for long
write. Next patch will make bigger usage of this but also only in this
helper. We do not expect other attrib clients to use that feature. |
Lukasz Rymanowski |
11 years ago |
1 file, +104, -2 |
| 4bf0a38d |
doc/test-coverage: Update Android tests count |
Szymon Janc |
11 years ago |
1 file, +2, -2 |
| b07a9187 |
android/tester: add initial support for map-client tester
This adds callback, callback verification, step verification, mas
instance verification, map client profile setup handling and basic
files. |
Grzegorz Kolodziejczyk |
11 years ago |
4 files, +375, -0 |
| c723e3e6 |
android/tester: Set action status to fail if no l2cap data is given
No status set in zeroized step mean that this status is SUCCESS (value
0). If no data is present while setting l2cap server, status should be
set to FAIL. |
Grzegorz Kolodziejczyk |
11 years ago |
1 file, +3, -1 |
| 67ba6ce1 |
android/tester: Refractor properties veryfying
Pre condition for properties veryfying is to have set expected
properties in step - there is no need to check it inside veryfying
function. However veryfying function should check if number of expected
or received number of properties is valid. If properties are expected
but number of them is 0, test should fail. |
Grzegorz Kolodziejczyk |
11 years ago |
1 file, +9, -8 |
| f0613a37 |
android/tester: Add verification for test case list creators
To be safe it must be chcecked if queue_new and add test case to list
was successful. |
Grzegorz Kolodziejczyk |
11 years ago |
8 files, +40, -8 |
| a738dbfa |
android/tester: Print debug log if emulator starts
If emulator starts tester should print debug log instead of warn. In
quiet mode it's unnecessary to print that emulator starts. |
Grzegorz Kolodziejczyk |
11 years ago |
1 file, +1, -1 |
| 43370aec |
android/tester: Refreactor tester-main header includes
Profile testers should contain necessary headers include instead
of tester-main header. |
Grzegorz Kolodziejczyk |
11 years ago |
10 files, +44, -34 |
| 4472f5a3 |
android/map-client: Don't check if interface is ready on init
Map client don't have possibility to clean up its interface, only way to
change it is to overwrite. Service also can be unregistered but
interface doesn't change. This situation cause call to unregistered
service with set interface. |
Grzegorz Kolodziejczyk |
11 years ago |
1 file, +8, -2 |
| 49e25b92 |
android/gatt: Add connectable flag to device found callback
GATT is interested in advertising event type i.e if it is connectable
or not. It is because GATT does not want to trigger connection to
devices doing non-connectable advertising. This patch add such support. |
Lukasz Rymanowski |
11 years ago |
3 files, +15, -7 |