From 9e795b48993eda1315a9f82a2a6f8af27c8c6ae2 Mon Sep 17 00:00:00 2001 From: "matthias.ringwald@gmail.com" Date: Fri, 10 Jan 2014 15:54:22 +0000 Subject: [PATCH] added Connection Parameter Update Request and Resposne --- src/l2cap_signaling.c | 9 +++++++++ src/l2cap_signaling.h | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/l2cap_signaling.c b/src/l2cap_signaling.c index 7083f13e5..ba2fda03f 100644 --- a/src/l2cap_signaling.c +++ b/src/l2cap_signaling.c @@ -56,6 +56,11 @@ static const char *l2cap_signaling_commands_format[] = { "D", // 0x09 echo response: Data "2", // 0x0a information request: InfoType {1=Connectionless MTU, 2=Extended features supported} "22D", // 0x0b information response: InfoType, Result, Data +#ifdef HAVE_BLE +// skip 6 not supported signaling pdus, see below +"2222", // 0x12 connection parameter update request: interval min, interval max, slave latency, timeout multipler +"2", // 0x13 connection parameter update response: result +#endif }; uint8_t sig_seq_nr = 0xff; @@ -87,6 +92,10 @@ uint16_t l2cap_create_signaling_internal(uint8_t * acl_buffer, hci_con_handle_t // 12 - L2CAP signaling parameters uint16_t pos = 12; + // skip AMP commands + if (cmd >= CONNECTION_PARAMETER_UPDATE_REQUEST){ + cmd -= 6; + } const char *format = l2cap_signaling_commands_format[cmd-1]; uint16_t word; uint8_t * ptr; diff --git a/src/l2cap_signaling.h b/src/l2cap_signaling.h index 18e891163..ca98efaca 100644 --- a/src/l2cap_signaling.h +++ b/src/l2cap_signaling.h @@ -62,7 +62,9 @@ typedef enum { ECHO_REQUEST, ECHO_RESPONSE, INFORMATION_REQUEST, - INFORMATION_RESPONSE + INFORMATION_RESPONSE, + CONNECTION_PARAMETER_UPDATE_REQUEST = 0x12, + CONNECTION_PARAMETER_UPDATE_RESPONSE } L2CAP_SIGNALING_COMMANDS; uint16_t l2cap_create_signaling_internal(uint8_t * acl_buffer,hci_con_handle_t handle, L2CAP_SIGNALING_COMMANDS cmd, uint8_t identifier, va_list argptr);