Hi Szymon,
On 06/17/2014 12:29 PM, Szymon Janc wrote:
Hi Ravi,
On Tuesday 17 of June 2014 01:02:48 Ravi kumar Veeramally wrote:
Enums in bt_hl.h are defined in this order BTHL_CHANNEL_TYPE_RELIABLE,
BTHL_CHANNEL_TYPE_STREAMING, BTHL_CHANNEL_TYPE_ANY. But HDP_SPEC_V11(3.4)
has no-preference(any)-0, reliable-1, stream-2, reserved(0x03-0xff).
Providing utility to solve this.
---
android/health.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/android/health.c b/android/health.c
index 7e2c5d6..5a87089 100644
--- a/android/health.c
+++ b/android/health.c
@@ -52,6 +52,10 @@
#define HDP_VERSION 0x0101
#define DATA_EXCHANGE_SPEC_11073 0x01
+#define CHANNEL_TYPE_ANY 0x00
+#define CHANNEL_TYPE_RELIABLE 0x01
+#define CHANNEL_TYPE_STREAM 0x02
+
Isn't that already defined in hdp_types.h ?
Android is not using hdp_types.h .
static bdaddr_t adapter_addr;
static struct ipc *hal_ipc = NULL;
static struct queue *apps = NULL;
@@ -639,6 +643,18 @@ fail:
HAL_STATUS_FAILED);
}
+static uint8_t android2channel_type(uint8_t type)
+{
+ switch (type) {
+ case HAL_HEALTH_CHANNEL_TYPE_RELIABLE:
+ return CHANNEL_TYPE_RELIABLE;
+ case HAL_HEALTH_CHANNEL_TYPE_STREAMING:
+ return CHANNEL_TYPE_STREAM;
+ }
+
+ return CHANNEL_TYPE_ANY;
Move this under default case.
Ok.
+}
+
static void bt_health_mdep_cfg_data(const void *buf, uint16_t len)
{
const struct hal_cmd_health_mdep *cmd = buf;
@@ -662,7 +678,7 @@ static void bt_health_mdep_cfg_data(const void *buf, uint16_t len)
mdep->role = cmd->role;
mdep->data_type = cmd->data_type;
- mdep->channel_type = cmd->channel_type;
+ mdep->channel_type = android2channel_type(cmd->channel_type);
mdep->id = queue_length(app->mdeps) + 1;
if (cmd->descr_len > 0) {
Thanks,
Ravi.
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html