From f2b1ffbedb8b4bf606335f9c5232ce9dbde2104f Mon Sep 17 00:00:00 2001 From: Jaganath Kanakkassery Date: Fri, 21 Oct 2016 20:42:41 +0530 Subject: [PATCH] Bluetooth: shell: Add support for RFCOMM Connect This can be used to initiate an outgoing connection Syntax: >br-rfcomm-connect Change-Id: I7ac7aeb61e7ae7e3f55c7cd7e815bdb604b27fb3 Signed-off-by: Jaganath Kanakkassery --- tests/bluetooth/shell/src/main.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/bluetooth/shell/src/main.c b/tests/bluetooth/shell/src/main.c index e2a57286f72..4d399ff834b 100644 --- a/tests/bluetooth/shell/src/main.c +++ b/tests/bluetooth/shell/src/main.c @@ -2086,6 +2086,33 @@ static int cmd_bredr_rfcomm_register(int argc, char *argv[]) return 0; } +static int cmd_rfcomm_connect(int argc, char *argv[]) +{ + uint8_t channel; + int err; + + if (!default_conn) { + printk("Not connected\n"); + return 0; + } + + if (argc < 2) { + return -EINVAL; + } + + channel = strtoul(argv[1], NULL, 16); + + err = bt_rfcomm_dlc_connect(default_conn, &rfcomm_dlc, channel); + if (err < 0) { + printk("Unable to connect to channel %d (err %u)\n", + channel, err); + } else { + printk("RFCOMM connection pending\n"); + } + + return 0; +} + static int cmd_rfcomm_send(int argc, char *argv[]) { uint8_t buf_data[DATA_BREDR_MTU] = { [0 ... (DATA_BREDR_MTU - 1)] = @@ -2259,6 +2286,7 @@ static const struct shell_cmd commands[] = { { "br-oob", cmd_bredr_oob }, #if defined(CONFIG_BLUETOOTH_RFCOMM) { "br-rfcomm-register", cmd_bredr_rfcomm_register }, + { "br-rfcomm-connect", cmd_rfcomm_connect, "" }, { "br-rfcomm-send", cmd_rfcomm_send, ""}, #endif /* CONFIG_BLUETOOTH_RFCOMM */ #endif