This patchset adds GATT's Client part of ipc messages data.
v2 changes:
* moved msg structs and opcodes up to message opcodes section of hal-msg.h
* fixed typo and renamed few struct members to better match those in HAL hdrs
* corrected tlv field types
* [PATCHES 14-23/23] added opcodes and structs for the rest of Client messages
Regards,
Jakub Tyszkowski (23):
android/hal-gatt-api: Add missing opcodes in GATT Service
android/hal-gatt-api: Add Client Register
android/hal-gatt-api: Add Client Unregister
android/hal-gatt-api: Add Client Scan
android/hal-gatt-api: Add Client Connect Remote
android/hal-gatt-api: Add Client Disconnect Remote
android/hal-gatt-api: Add Client Listen
android/hal-gatt-api: Add Client Refresh Remote Cache
android/hal-gatt-api: Add Client Search Service
android/hal-gatt-api: Add Client Get Included Service
android/hal-gatt-api: Add Client Get Characteristic
android/hal-gatt-api: Add Client Get Descriptor
android/hal-gatt-api: Add Client Read Characteristic
android/hal-gatt-api: Add Client Write Characteristic
android/hal-gatt-api: Add Client Read Descriptor
android/hal-gatt-api: Add Client Write Descriptor
android/hal-gatt-api: Add Client Execute Write
android/hal-gatt-api: Add Client Register for Notification
android/hal-gatt-api: Add Client Deregister for Notification
android/hal-gatt-api: Add Client Read Remote RSSI
android/hal-gatt-api: Add Client Get Device Type
android/hal-gatt-api: Add Client Set Advertising Data
android/hal-gatt-api: Add Client Test Command
android/hal-ipc-api.txt | 324 +++++++++++++++++++++++++++++++++++++++++-------
android/hal-msg.h | 186 +++++++++++++++++++++++++++
2 files changed, 466 insertions(+), 44 deletions(-)
--
1.9.0
Hi Jakub,
On Wednesday 26 February 2014 09:40:58 Jakub Tyszkowski wrote:
> This patchset adds GATT's Client part of ipc messages data.
>
> v2 changes:
> * moved msg structs and opcodes up to message opcodes section of hal-msg.h
> * fixed typo and renamed few struct members to better match those in HAL
> hdrs * corrected tlv field types
> * [PATCHES 14-23/23] added opcodes and structs for the rest of Client
> messages
>
> Regards,
> Jakub Tyszkowski (23):
> android/hal-gatt-api: Add missing opcodes in GATT Service
> android/hal-gatt-api: Add Client Register
> android/hal-gatt-api: Add Client Unregister
> android/hal-gatt-api: Add Client Scan
> android/hal-gatt-api: Add Client Connect Remote
> android/hal-gatt-api: Add Client Disconnect Remote
> android/hal-gatt-api: Add Client Listen
> android/hal-gatt-api: Add Client Refresh Remote Cache
> android/hal-gatt-api: Add Client Search Service
> android/hal-gatt-api: Add Client Get Included Service
> android/hal-gatt-api: Add Client Get Characteristic
> android/hal-gatt-api: Add Client Get Descriptor
> android/hal-gatt-api: Add Client Read Characteristic
> android/hal-gatt-api: Add Client Write Characteristic
> android/hal-gatt-api: Add Client Read Descriptor
> android/hal-gatt-api: Add Client Write Descriptor
> android/hal-gatt-api: Add Client Execute Write
> android/hal-gatt-api: Add Client Register for Notification
> android/hal-gatt-api: Add Client Deregister for Notification
> android/hal-gatt-api: Add Client Read Remote RSSI
> android/hal-gatt-api: Add Client Get Device Type
> android/hal-gatt-api: Add Client Set Advertising Data
> android/hal-gatt-api: Add Client Test Command
>
> android/hal-ipc-api.txt | 324
> +++++++++++++++++++++++++++++++++++++++++------- android/hal-msg.h |
> 186 +++++++++++++++++++++++++++
> 2 files changed, 466 insertions(+), 44 deletions(-)
All patches applied, thanks.
--
Szymon K. Janc
[email protected]
---
android/hal-ipc-api.txt | 10 ++++++++++
android/hal-msg.h | 5 +++++
2 files changed, 15 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 2a40fc1..72c2a7a 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1623,6 +1623,16 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x14 - Get Device Type command/response
+
+ Command parameters: Remote address (6 octets)
+ Response parameters: Device Type
+
+ Valid Device Type: 0x01 = BREDR
+ 0x02 = BLE
+ 0x03 = DUAL
+
+ In case of an error, the error response will be returned.
+
Opcode 0x15 - Set Advertising data command/response
Opcode 0x16 - Test Command command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 7980c73..7f4266e 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -668,6 +668,11 @@ struct hal_cmd_gatt_client_read_remote_rssi {
uint8_t bdaddr[6];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_GET_DEVICE_TYPE 0x14
+struct hal_cmd_gatt_client_get_device_type {
+ uint8_t bdaddr[6];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
Hi,
On Wednesday 26 of February 2014 12:34:29 Andrzej Kaczmarek wrote:
> Hi Marcel,
>
> On 26 February 2014 09:51, Marcel Holtmann <[email protected]> wrote:
> > Hi Jakub,
> >
> >> Add missing Listen and Set Advertising Data opcodes and reorder them as
> >> they appear in HAL's headers.
> >
> > I left this out originally since they are only useful for when we are a peripheral. Curious to know if Android APIs actually support this.
>
> It does, but not as public API - internal apps can still use them but
> only if platform has config_bluetooth_le_peripheral_mode_supported
> flag set, so perhaps this is for some gadgets running Android.
>
> > GATT client and server are valid for central role. And the connect/disconnect need to be turned into being one pair of commands. No point in duplicating them. There is really no difference between a GATT client and server connect. The central will connect to the peripheral. Unless Android got fully confused and uses the APIs wrongly.
>
> These commands are separated for client and server since they have
> either client or server app id as parameter which is later used to
> dispatch callbacks to proper application. So using one pair of
> commands (and single notification) we can still figure out which
> callback to use in HAL as long as we have 'type' parameter for app id.
I'd keep our IPC as close to HAL API as possible and go with separate commands
and notifications. Especially since otherwise we need to add type field as
pointed by Andrzej.
--
Best regards,
Szymon Janc
Hi Marcel,
On 26 February 2014 09:51, Marcel Holtmann <[email protected]> wrote:
> Hi Jakub,
>
>> Add missing Listen and Set Advertising Data opcodes and reorder them as
>> they appear in HAL's headers.
>
> I left this out originally since they are only useful for when we are a p=
eripheral. Curious to know if Android APIs actually support this.
It does, but not as public API - internal apps can still use them but
only if platform has config_bluetooth_le_peripheral_mode_supported
flag set, so perhaps this is for some gadgets running Android.
> GATT client and server are valid for central role. And the connect/discon=
nect need to be turned into being one pair of commands. No point in duplica=
ting them. There is really no difference between a GATT client and server c=
onnect. The central will connect to the peripheral. Unless Android got full=
y confused and uses the APIs wrongly.
These commands are separated for client and server since they have
either client or server app id as parameter which is later used to
dispatch callbacks to proper application. So using one pair of
commands (and single notification) we can still figure out which
callback to use in HAL as long as we have 'type' parameter for app id.
BR,
Andrzej
Hi Jakub,
> Add missing Listen and Set Advertising Data opcodes and reorder them as
> they appear in HAL's headers.
I left this out originally since they are only useful for when we are a peripheral. Curious to know if Android APIs actually support this.
GATT client and server are valid for central role. And the connect/disconnect need to be turned into being one pair of commands. No point in duplicating them. There is really no difference between a GATT client and server connect. The central will connect to the peripheral. Unless Android got fully confused and uses the APIs wrongly.
Regards
Marcel
---
android/hal-ipc-api.txt | 13 +++++++++++++
android/hal-msg.h | 16 ++++++++++++++++
2 files changed, 29 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index a7867f2..9b2c8ae 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1647,6 +1647,19 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
Opcode 0x16 - Test Command command/response
+ Command parameters: Command (4 octets)
+ Test Parameters (32 octets)
+ Valid Test Parameter: Address (6 octets)
+ UUID (16 octets)
+ U1 (2 octets)
+ U2 (2 octets)
+ U3 (2 octets)
+ U4 (2 octets)
+ U5 (2 octets)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x17 - Register Server command/response
Opcode 0x18 - Unregister Server command/response
Opcode 0x19 - Connect Peripheral command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 0820e3f..2d8e6b0 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -686,6 +686,22 @@ struct hal_cmd_gatt_client_set_adv_data {
uint8_t manufacturer_data[0];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_TEST_COMMAND 0x16
+struct hal_gatt_test_params {
+ uint8_t bda1[6];
+ uint8_t uuid1[16];
+ uint16_t u1;
+ uint16_t u2;
+ uint16_t u3;
+ uint16_t u4;
+ uint16_t u5;
+} __attribute__((packed));
+
+struct hal_cmd_gatt_client_test_command {
+ int32_t command;
+ struct hal_gatt_test_params params;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 14 ++++++++++++++
android/hal-msg.h | 13 +++++++++++++
2 files changed, 27 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 259aa69..a7867f2 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1631,6 +1631,20 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x15 - Set Advertising data command/response
+
+ Command parameters: Server Interface (4 octets)
+ Set Scan Resp. (1 octet)
+ Include Name (1 octet)
+ Include TX Power (1 octet)
+ Min. Interval (4 octets)
+ Max. Interval (4 octets)
+ Appearance (4 octets)
+ Manufacturer Len. (2 octets)
+ Manufacturer Data (variable)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x16 - Test Command command/response
Opcode 0x17 - Register Server command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 316ca62..0820e3f 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -673,6 +673,19 @@ struct hal_cmd_gatt_client_get_device_type {
uint8_t bdaddr[6];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_SET_ADV_DATA 0x015
+struct hal_cmd_gatt_client_set_adv_data {
+ int32_t server_if;
+ uint8_t set_scan_rsp;
+ uint8_t include_name;
+ uint8_t include_txpower;
+ int32_t min_interval;
+ int32_t max_interval;
+ int32_t appearance;
+ uint16_t manufacturer_len;
+ uint8_t manufacturer_data[0];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 7 +++++++
android/hal-msg.h | 5 +++++
2 files changed, 12 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 2a40fc1..259aa69 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1623,6 +1623,13 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x14 - Get Device Type command/response
+
+ Command parameters: Remote address (6 octets)
+
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x15 - Set Advertising data command/response
Opcode 0x16 - Test Command command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index ec02999..316ca62 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -668,6 +668,11 @@ struct hal_cmd_gatt_client_read_remote_rssi {
uint8_t bdaddr[6];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_GET_DEVICE_TYPE 0x14
+struct hal_cmd_gatt_client_get_device_type {
+ uint8_t bdaddr[6];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 7 +++++++
android/hal-msg.h | 6 ++++++
2 files changed, 13 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 026ed03..2a40fc1 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1615,6 +1615,13 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x13 - Read Remote RSSI command/response
+
+ Command parameters: Client Interface (4 octets)
+ Remote address (6 octets)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x14 - Get Device Type command/response
Opcode 0x15 - Set Advertising data command/response
Opcode 0x16 - Test Command command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 36d5a79..ec02999 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -662,6 +662,12 @@ struct hal_cmd_gatt_client_deregister_for_notification {
struct hal_gatt_gatt_id char_id;
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_READ_REMOTE_RSSI 0x13
+struct hal_cmd_gatt_client_read_remote_rssi {
+ int32_t client_if;
+ uint8_t bdaddr[6];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 9 +++++++++
android/hal-msg.h | 8 ++++++++
2 files changed, 17 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 3c9319d..026ed03 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1605,6 +1605,15 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x12 - Deregister For Notification command/response
+
+ Command parameters: Client Interface (4 octets)
+ Remote address (6 octets)
+ Service ID (18 octets)
+ GATT ID (17 octets)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x13 - Read Remote RSSI command/response
Opcode 0x14 - Get Device Type command/response
Opcode 0x15 - Set Advertising data command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index ce26319..36d5a79 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -654,6 +654,14 @@ struct hal_cmd_gatt_client_register_for_notification {
struct hal_gatt_gatt_id char_id;
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_DEREGISTER_FOR_NOTIFICATION 0x12
+struct hal_cmd_gatt_client_deregister_for_notification {
+ int32_t client_if;
+ uint8_t bdaddr[6];
+ struct hal_gatt_srvc_id srvc_id;
+ struct hal_gatt_gatt_id char_id;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 7 +++++++
android/hal-msg.h | 6 ++++++
2 files changed, 13 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index fb7a180..885a920 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1587,6 +1587,13 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x10 - Execute Write command/response
+
+ Command parameters: Connection ID (4 octets)
+ Execute (4 octets)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x11 - Register For Notification command/response
Opcode 0x12 - Deregister For Notification command/response
Opcode 0x13 - Read Remote RSSI command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 294a3d0..5e63713 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -640,6 +640,12 @@ struct hal_cmd_gatt_client_write_descriptor {
uint8_t value[0];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_EXECUTE_WRITE 0x10
+struct hal_cmd_gatt_client_execute_write {
+ int32_t conn_id;
+ int32_t execute;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 9 +++++++++
android/hal-msg.h | 8 ++++++++
2 files changed, 17 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 885a920..3c9319d 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1595,6 +1595,15 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x11 - Register For Notification command/response
+
+ Command parameters: Client Interface (4 octets)
+ Remote address (6 octets)
+ Service ID (18 octets)
+ GATT ID (17 octets)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x12 - Deregister For Notification command/response
Opcode 0x13 - Read Remote RSSI command/response
Opcode 0x14 - Get Device Type command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 5e63713..ce26319 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -646,6 +646,14 @@ struct hal_cmd_gatt_client_execute_write {
int32_t execute;
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_REGISTER_FOR_NOTIFICATION 0x11
+struct hal_cmd_gatt_client_register_for_notification {
+ int32_t client_if;
+ uint8_t bdaddr[6];
+ struct hal_gatt_srvc_id srvc_id;
+ struct hal_gatt_gatt_id char_id;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 12 ++++++++++++
android/hal-msg.h | 9 +++++++++
2 files changed, 21 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 0a06e5e..7064bb7 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1558,6 +1558,18 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x0e - Read Descriptor command/response
+
+ Command parameters: Connection ID (4 octets)
+ Service ID (18 octets)
+ GATT ID (17 octets)
+ Descr. GATT ID (17 octets)
+ Authorization Req. (4 octets)
+ Valid Service ID: as described in Get Included Service
+ Valid GATT ID: as described in Get Included Service
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x0f - Write Descriptor command/response
Opcode 0x10 - Execute Write command/response
Opcode 0x11 - Register For Notification command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 51e2fd9..f6d8abd 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -619,6 +619,15 @@ struct hal_cmd_gatt_client_write_characteristic {
uint8_t value[0];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_READ_DESCRIPTOR 0x0e
+struct hal_cmd_gatt_client_read_descriptor {
+ int32_t conn_id;
+ struct hal_gatt_srvc_id srvc_id;
+ struct hal_gatt_gatt_id char_id;
+ struct hal_gatt_gatt_id descr_id;
+ int32_t auth_req;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 15 +++++++++++++++
android/hal-msg.h | 12 ++++++++++++
2 files changed, 27 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 7064bb7..fb7a180 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1571,6 +1571,21 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x0f - Write Descriptor command/response
+
+ Command parameters: Connection ID (4 octets)
+ Service ID (18 octets)
+ GATT ID (17 octets)
+ Descr. GATT ID (17 octets)
+ Write Type (4 octets)
+ Length (4 octets)
+ Authorization Req. (4 octets)
+ Value (variable)
+ Valid Service ID: as described in Get Included Service
+ Valid GATT ID: as described in Get Included Service
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x10 - Execute Write command/response
Opcode 0x11 - Register For Notification command/response
Opcode 0x12 - Deregister For Notification command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index f6d8abd..294a3d0 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -628,6 +628,18 @@ struct hal_cmd_gatt_client_read_descriptor {
int32_t auth_req;
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_WRITE_DESCRIPTOR 0x0f
+struct hal_cmd_gatt_client_write_descriptor {
+ int32_t conn_id;
+ struct hal_gatt_srvc_id srvc_id;
+ struct hal_gatt_gatt_id char_id;
+ struct hal_gatt_gatt_id descr_id;
+ int32_t write_type;
+ int32_t len;
+ int32_t auth_req;
+ uint8_t value[0];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 14 ++++++++++++++
android/hal-msg.h | 11 +++++++++++
2 files changed, 25 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 5349c53..0a06e5e 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1543,6 +1543,20 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x0d - Write Characteristic command/response
+
+ Command parameters: Connection ID (4 octets)
+ Service ID (18 octets)
+ GATT ID (17 octets)
+ Write Type (4 octets)
+ Length (4 octets)
+ Authorization Req. (4 octets)
+ Value (variable)
+ Valid Service ID: as described in Get Included Service
+ Valid GATT ID: as described in Get Included Service
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x0e - Read Descriptor command/response
Opcode 0x0f - Write Descriptor command/response
Opcode 0x10 - Execute Write command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index ebe2291..51e2fd9 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -608,6 +608,17 @@ struct hal_cmd_gatt_client_read_characteristic {
int32_t auth_req;
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_WRITE_CHARACTERISTIC 0x0d
+struct hal_cmd_gatt_client_write_characteristic {
+ int32_t conn_id;
+ struct hal_gatt_srvc_id srvc_id;
+ struct hal_gatt_gatt_id gatt_id;
+ int32_t write_type;
+ int32_t len;
+ int32_t auth_req;
+ uint8_t value[0];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 13 +++++++++++++
android/hal-msg.h | 8 ++++++++
2 files changed, 21 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index e490bd1..a6d23dd 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1517,6 +1517,19 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x0b - Get Descriptor command/response
+
+ Command parameters: Connection ID (4 octets)
+ Service ID (18 octets)
+ Number of GATT ID Elements (1 octet)
+ GATT ID Elements (variable)
+ Valid Service ID: as described in Get Included Service
+ Valid Number of GATT ID Elements: 0x01
+ 0x02
+ Valid GATT ID Element: as described in Get Included Service
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x0c - Read Characteristic command/response
Opcode 0x0d - Write Characteristic command/response
Opcode 0x0e - Read Descriptor command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index deef86c..4512d5c 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -592,6 +592,14 @@ struct hal_cmd_gatt_client_get_characteristic {
struct hal_gatt_gatt_id gatt_id[0];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_GET_DESCRIPTOR 0x0b
+struct hal_cmd_gatt_client_get_descriptor {
+ int32_t conn_id;
+ struct hal_gatt_srvc_id srvc_id;
+ uint8_t number;
+ struct hal_gatt_gatt_id gatt_id[0];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 11 +++++++++++
android/hal-msg.h | 8 ++++++++
2 files changed, 19 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index a6d23dd..5349c53 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1531,6 +1531,17 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x0c - Read Characteristic command/response
+
+ Command parameters: Connection ID (4 octets)
+ Service ID (18 octets)
+ GATT ID (17 octets)
+ Authorization (4 octets)
+ Valid Service ID: as described in Get Included Service
+ Valid GATT ID: as described in Get Included Service
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x0d - Write Characteristic command/response
Opcode 0x0e - Read Descriptor command/response
Opcode 0x0f - Write Descriptor command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 4512d5c..ebe2291 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -600,6 +600,14 @@ struct hal_cmd_gatt_client_get_descriptor {
struct hal_gatt_gatt_id gatt_id[0];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_READ_CHARACTERISTIC 0x0c
+struct hal_cmd_gatt_client_read_characteristic {
+ int32_t conn_id;
+ struct hal_gatt_srvc_id srvc_id;
+ struct hal_gatt_gatt_id gatt_id;
+ int32_t auth_req;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 13 +++++++++++++
android/hal-msg.h | 8 ++++++++
2 files changed, 21 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 13974c7..e490bd1 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1503,6 +1503,19 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x0a - Get Characteristic command/response
+
+ Command parameters: Connection ID (4 octets)
+ Service ID (18 octets)
+ Number of GATT ID Elements (1 octet)
+ GATT ID Elements (variable)
+ Valid Service ID: as described in Get Included Service
+ Valid Number of GATT ID Elements: 0x00
+ 0x01
+ Valid GATT ID Element: as described in Get Included Service
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x0b - Get Descriptor command/response
Opcode 0x0c - Read Characteristic command/response
Opcode 0x0d - Write Characteristic command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 879e5e8..deef86c 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -584,6 +584,14 @@ struct hal_cmd_gatt_client_get_included_service {
struct hal_gatt_srvc_id srvc_id[0];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_GET_CHARACTERISTIC 0x0a
+struct hal_cmd_gatt_client_get_characteristic {
+ int32_t conn_id;
+ struct hal_gatt_srvc_id srvc_id;
+ uint8_t number;
+ struct hal_gatt_gatt_id gatt_id[0];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 14 ++++++++++++++
android/hal-msg.h | 17 +++++++++++++++++
2 files changed, 31 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index b5f302b..13974c7 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1488,6 +1488,20 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x09 - Get Included Service command/response
+
+ Command parameters: Connection ID (4 octets)
+ Number of Service ID Elements (1 octet)
+ Service ID Elements (variable)
+ Valid Number of Service ID Elements: 0x01
+ 0x02
+ Valid Service ID Element: GATT ID (17 octets)
+ Is Primary (1 octet)
+ Valid GATT ID: UUID (16 octets)
+ Instance ID (1 octet)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x0a - Get Characteristic command/response
Opcode 0x0b - Get Descriptor command/response
Opcode 0x0c - Read Characteristic command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index dd799d2..879e5e8 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -567,6 +567,23 @@ struct hal_cmd_gatt_client_search_service {
uint8_t filter_uuid[0];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_GET_INCLUDED_SERVICE 0x09
+struct hal_gatt_gatt_id {
+ uint8_t uuid[16];
+ uint8_t inst_id;
+} __attribute__((packed));
+
+struct hal_gatt_srvc_id {
+ struct hal_gatt_gatt_id gatt_id;
+ uint8_t is_primary;
+} __attribute__((packed));
+
+struct hal_cmd_gatt_client_get_included_service {
+ int32_t conn_id;
+ uint8_t number;
+ struct hal_gatt_srvc_id srvc_id[0];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 10 ++++++++++
android/hal-msg.h | 7 +++++++
2 files changed, 17 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 9a3c776..b5f302b 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1477,6 +1477,16 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x08 - Search Service command/response
+
+ Command parameters: Connection ID (4 octets)
+ Number of UUID Filters (1 octet)
+ UUID Filter (variable)
+ Valid Number of UUID Filters: 0x00
+ 0x01
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x09 - Get Included Service command/response
Opcode 0x0a - Get Characteristic command/response
Opcode 0x0b - Get Descriptor command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 77155e3..dd799d2 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -560,6 +560,13 @@ struct hal_cmd_gatt_client_refresh {
uint8_t bdaddr[6];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_SEARCH_SERVICE 0x08
+struct hal_cmd_gatt_client_search_service {
+ int32_t conn_id;
+ uint8_t number;
+ uint8_t filter_uuid[0];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 7 +++++++
android/hal-msg.h | 6 ++++++
2 files changed, 13 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 9021154..9a3c776 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1469,6 +1469,13 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x07 - Refresh command/response
+
+ Command parameters: Client Interface (4 octets)
+ Remote address (6 octets)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x08 - Search Service command/response
Opcode 0x09 - Get Included Service command/response
Opcode 0x0a - Get Characteristic command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 140444c..77155e3 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -554,6 +554,12 @@ struct hal_cmd_gatt_client_listen {
uint8_t start;
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_REFRESH 0x07
+struct hal_cmd_gatt_client_refresh {
+ int32_t client_if;
+ uint8_t bdaddr[6];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 7 +++++++
android/hal-msg.h | 6 ++++++
2 files changed, 13 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index ffc903a..9021154 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1461,6 +1461,13 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x06 - Listen command/response
+
+ Command parameters: Client Interface (4 octets)
+ Start (1 octet)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x07 - Refresh command/response
Opcode 0x08 - Search Service command/response
Opcode 0x09 - Get Included Service command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index d8a990d..140444c 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -548,6 +548,12 @@ struct hal_cmd_gatt_client_disconnect {
int32_t conn_id;
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_LISTEN 0x06
+struct hal_cmd_gatt_client_listen {
+ int32_t client_if;
+ uint8_t start;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 8 ++++++++
android/hal-msg.h | 7 +++++++
2 files changed, 15 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index bbb94a9..ffc903a 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1452,6 +1452,14 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x05 - Disconnect Device command/response
+
+ Command parameters: Client Interface (4 octets)
+ Remote address (6 octets)
+ Connection ID (4 octets)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x06 - Listen command/response
Opcode 0x07 - Refresh command/response
Opcode 0x08 - Search Service command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 22b65c2..d8a990d 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -541,6 +541,13 @@ struct hal_cmd_gatt_client_connect {
uint8_t is_direct;
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_DISCONNECT 0x05
+struct hal_cmd_gatt_client_disconnect {
+ int32_t client_if;
+ uint8_t bdaddr[6];
+ int32_t conn_id;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 8 ++++++++
android/hal-msg.h | 7 +++++++
2 files changed, 15 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 51aaba1..bbb94a9 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1443,6 +1443,14 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x04 - Connect Device command/response
+
+ Command parameters: Client Interface (4 octets)
+ Remote address (6 octets)
+ Is Direct (1 octet)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x05 - Disconnect Device command/response
Opcode 0x06 - Listen command/response
Opcode 0x07 - Refresh command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 089c950..22b65c2 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -534,6 +534,13 @@ struct hal_cmd_gatt_client_scan {
uint8_t start;
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_CONNECT 0x04
+struct hal_cmd_gatt_client_connect {
+ int32_t client_if;
+ uint8_t bdaddr[6];
+ uint8_t is_direct;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 7 +++++++
android/hal-msg.h | 6 ++++++
2 files changed, 13 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 53fa5b9..51aaba1 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1435,6 +1435,13 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x03 - Scan command/response
+
+ Command parameters: Client Interface (4 octets)
+ Start (1 octet)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x04 - Connect Device command/response
Opcode 0x05 - Disconnect Device command/response
Opcode 0x06 - Listen command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 856d694..089c950 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -528,6 +528,12 @@ struct hal_cmd_gatt_client_unregister {
int32_t client_if;
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_SCAN 0x03
+struct hal_cmd_gatt_client_scan {
+ int32_t client_if;
+ uint8_t start;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 6 ++++++
android/hal-msg.h | 5 +++++
2 files changed, 11 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 70c451d..53fa5b9 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1428,6 +1428,12 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
In case of an error, the error response will be returned.
Opcode 0x02 - Unregister Client command/response
+
+ Command parameters: Client Interface (4 octets)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x03 - Scan command/response
Opcode 0x04 - Connect Device command/response
Opcode 0x05 - Disconnect Device command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index d712d12..856d694 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -523,6 +523,11 @@ struct hal_cmd_gatt_client_register {
uint8_t uuid[16];
} __attribute__((packed));
+#define HAL_OP_GATT_CLIENT_UNREGISTER 0x02
+struct hal_cmd_gatt_client_unregister {
+ int32_t client_if;
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
---
android/hal-ipc-api.txt | 6 ++++++
android/hal-msg.h | 7 +++++++
2 files changed, 13 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 49d704e..70c451d 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1421,6 +1421,12 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
0x0a = Remote device down
Opcode 0x01 - Register Client command/response
+
+ Command parameters: Service UUID (16 octets)
+ Response parameters: <none>
+
+ In case of an error, the error response will be returned.
+
Opcode 0x02 - Unregister Client command/response
Opcode 0x03 - Scan command/response
Opcode 0x04 - Connect Device command/response
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 836dbbf..d712d12 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -516,6 +516,13 @@ struct hal_cmd_handsfree_phone_state_change {
uint8_t number[0];
} __attribute__((packed));
+/* GAT CLIENT HAL API */
+
+#define HAL_OP_GATT_CLIENT_REGISTER 0x01
+struct hal_cmd_gatt_client_register {
+ uint8_t uuid[16];
+} __attribute__((packed));
+
/* Notifications and confirmations */
#define HAL_POWER_OFF 0x00
--
1.9.0
Add missing Listen and Set Advertising Data opcodes and reorder them as
they appear in HAL's headers.
---
android/hal-ipc-api.txt | 107 ++++++++++++++++++++++++++++--------------------
1 file changed, 63 insertions(+), 44 deletions(-)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index 5c3933a..49d704e 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1406,39 +1406,56 @@ Bluetooth GATT HAL (ID 9)
Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
Opcode 0x00 - Error response
+
+ Response parameters: Status (1 octet)
+
+ Valid status values: 0x01 = Fail
+ 0x02 = Not ready
+ 0x03 = No memory
+ 0x04 = Busy
+ 0x05 = Done (already completed)
+ 0x06 = Unsupported
+ 0x07 = Parameter invalid
+ 0x08 = Unhandled
+ 0x09 = Authentication failure
+ 0x0a = Remote device down
+
Opcode 0x01 - Register Client command/response
Opcode 0x02 - Unregister Client command/response
Opcode 0x03 - Scan command/response
Opcode 0x04 - Connect Device command/response
Opcode 0x05 - Disconnect Device command/response
- Opcode 0x06 - Refresh command/response
- Opcode 0x07 - Search Service command/response
- Opcode 0x08 - Get Included Service command/response
- Opcode 0x09 - Get Characteristic command/response
- Opcode 0x0a - Get Descriptor command/response
- Opcode 0x0b - Read Characteristic command/response
- Opcode 0x0c - Write Characteristic command/response
- Opcode 0x0d - Read Descriptor command/response
- Opcode 0x0e - Write Descriptor command/response
- Opcode 0x0f - Execute Write command/response
- Opcode 0x10 - Register For Notification command/response
- Opcode 0x11 - Deregister For Notification command/response
- Opcode 0x12 - Read Remote RSSI command/response
- Opcode 0x13 - Get Device Type command/response
- Opcode 0x14 - Test Command command/response
- Opcode 0x15 - Register Server command/response
- Opcode 0x16 - Unregister Server command/response
- Opcode 0x17 - Connect Peripheral command/response
- Opcode 0x18 - Disconnect Peripheral command/response
- Opcode 0x19 - Add Service command/response
- Opcode 0x1a - Add Included Service command/response
- Opcode 0x1b - Add Characteristic command/response
- Opcode 0x1c - Add Descriptor command/response
- Opcode 0x1d - Start Service command/response
- Opcode 0x1e - Stop Service command/response
- Opcode 0x1f - Delete Service command/response
- Opcode 0x20 - Send Indication command/response
- Opcode 0x21 - Send Response command/response
+ Opcode 0x06 - Listen command/response
+ Opcode 0x07 - Refresh command/response
+ Opcode 0x08 - Search Service command/response
+ Opcode 0x09 - Get Included Service command/response
+ Opcode 0x0a - Get Characteristic command/response
+ Opcode 0x0b - Get Descriptor command/response
+ Opcode 0x0c - Read Characteristic command/response
+ Opcode 0x0d - Write Characteristic command/response
+ Opcode 0x0e - Read Descriptor command/response
+ Opcode 0x0f - Write Descriptor command/response
+ Opcode 0x10 - Execute Write command/response
+ Opcode 0x11 - Register For Notification command/response
+ Opcode 0x12 - Deregister For Notification command/response
+ Opcode 0x13 - Read Remote RSSI command/response
+ Opcode 0x14 - Get Device Type command/response
+ Opcode 0x15 - Set Advertising data command/response
+ Opcode 0x16 - Test Command command/response
+
+ Opcode 0x17 - Register Server command/response
+ Opcode 0x18 - Unregister Server command/response
+ Opcode 0x19 - Connect Peripheral command/response
+ Opcode 0x1a - Disconnect Peripheral command/response
+ Opcode 0x1b - Add Service command/response
+ Opcode 0x1c - Add Included Service command/response
+ Opcode 0x1d - Add Characteristic command/response
+ Opcode 0x1e - Add Descriptor command/response
+ Opcode 0x1f - Start Service command/response
+ Opcode 0x20 - Stop Service command/response
+ Opcode 0x21 - Delete Service command/response
+ Opcode 0x22 - Send Indication command/response
+ Opcode 0x23 - Send Response command/response
Opcode 0x81 - Register Client notification
Opcode 0x82 - Scan Result notification
@@ -1453,20 +1470,22 @@ Android HAL name: "gatt" (BT_PROFILE_GATT_ID)
Opcode 0x8b - Notify notification
Opcode 0x8c - Read Characteristic notification
Opcode 0x8d - Write Characteristic notification
- Opcode 0x8e - Execute Write notification
- Opcode 0x8f - Read Descriptor notification
- Opcode 0x90 - Write Descriptor notification
+ Opcode 0x8e - Read Descriptor notification
+ Opcode 0x8f - Write Descriptor notification
+ Opcode 0x90 - Execute Write notification
Opcode 0x91 - Read Remote RSSI notification
- Opcode 0x92 - Register Server notification
- Opcode 0x93 - Connection notification
- Opcode 0x94 - Service Added notification
- Opcode 0x95 - Included Service Added notification
- Opcode 0x96 - Characteristic Added notification
- Opcode 0x97 - Descriptor Added notification
- Opcode 0x98 - Service Started notification
- Opcode 0x99 - Service Stopped notification
- Opcode 0x9a - Service Deleted notification
- Opcode 0x9b - Request Read notification
- Opcode 0x9c - Request Write notification
- Opcode 0x9d - Request Execute Write notification
- Opcode 0x9e - Response Confirmation notification
+ Opcode 0x92 - Listen notification
+
+ Opcode 0x93 - Register Server notification
+ Opcode 0x94 - Connection notification
+ Opcode 0x95 - Service Added notification
+ Opcode 0x96 - Included Service Added notification
+ Opcode 0x97 - Characteristic Added notification
+ Opcode 0x98 - Descriptor Added notification
+ Opcode 0x99 - Service Started notification
+ Opcode 0x9a - Service Stopped notification
+ Opcode 0x9b - Service Deleted notification
+ Opcode 0x9c - Request Read notification
+ Opcode 0x9d - Request Write notification
+ Opcode 0x9e - Request Execute Write notification
+ Opcode 0x9f - Response Confirmation notification
--
1.9.0