Skip to content

Commit e12b772

Browse files
committed
Bluetooth: shell: Split GATT commands
This splits GATT command under 'bt' to 'gatt' removing 'gatt-' prefix from commands: gatt - Bluetooth GATT shell commands Options: -h, --help :Show command help. Subcommands: discover-characteristic :[UUID] [start handle] [end handle] discover-descriptor :[UUID] [start handle] [end handle] discover-include :[UUID] [start handle] [end handle] discover-primary :[UUID] [start handle] [end handle] discover-secondary :[UUID] [start handle] [end handle] exchange-mtu :[none] read :<handle> [offset] read-multiple :<handle 1> <handle 2> ... subscribe :<CCC handle> <value handle> [ind] write :<handle> <offset> <data> [length] write-without-response :<handle> <data> [length] [repeat] write-signed :<handle> <data> [length] [repeat] unsubscribe :[none] metrics :register vendr char and measure rx [value on, off] register :register pre-predefined test service show-db :[none] unregister :unregister pre-predefined test service Signed-off-by: Luiz Augusto von Dentz <[email protected]>
1 parent 6d82743 commit e12b772

File tree

3 files changed

+80
-93
lines changed

3 files changed

+80
-93
lines changed

subsys/bluetooth/shell/bt.c

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
#include <shell/shell.h>
3232

3333
#include "bt.h"
34-
#include "gatt.h"
3534
#include "ll.h"
3635

3736
#define DEVICE_NAME CONFIG_BT_DEVICE_NAME
@@ -1603,42 +1602,6 @@ SHELL_CREATE_STATIC_SUBCMD_SET(bt_cmds) {
16031602
SHELL_CMD(fixed-passkey, NULL, "[passkey]", cmd_fixed_passkey),
16041603
#endif
16051604
#endif /* CONFIG_BT_SMP || CONFIG_BT_BREDR) */
1606-
#if defined(CONFIG_BT_GATT_CLIENT)
1607-
SHELL_CMD(gatt-exchange-mtu, NULL, HELP_NONE, cmd_gatt_exchange_mtu),
1608-
SHELL_CMD(gatt-discover-primary, NULL,
1609-
"[UUID] [start handle] [end handle]", cmd_gatt_discover),
1610-
SHELL_CMD(gatt-discover-secondary, NULL,
1611-
"[UUID] [start handle] [end handle]", cmd_gatt_discover),
1612-
SHELL_CMD(gatt-discover-include, NULL,
1613-
"[UUID] [start handle] [end handle]", cmd_gatt_discover),
1614-
SHELL_CMD(gatt-discover-characteristic, NULL,
1615-
"[UUID] [start handle] [end handle]", cmd_gatt_discover),
1616-
SHELL_CMD(gatt-discover-descriptor, NULL,
1617-
"[UUID] [start handle] [end handle]", cmd_gatt_discover),
1618-
SHELL_CMD(gatt-read, NULL, "<handle> [offset]", cmd_gatt_read),
1619-
SHELL_CMD(gatt-read-multiple, NULL, "<handle 1> <handle 2> ...",
1620-
cmd_gatt_mread),
1621-
SHELL_CMD(gatt-write, NULL, "<handle> <offset> <data> [length]",
1622-
cmd_gatt_write),
1623-
SHELL_CMD(gatt-write-without-response, NULL,
1624-
"<handle> <data> [length] [repeat]",
1625-
cmd_gatt_write_without_rsp),
1626-
SHELL_CMD(gatt-write-signed, NULL, "<handle> <data> [length] [repeat]",
1627-
cmd_gatt_write_without_rsp),
1628-
SHELL_CMD(gatt-subscribe, NULL, "<CCC handle> <value handle> [ind]",
1629-
cmd_gatt_subscribe),
1630-
SHELL_CMD(gatt-unsubscribe, NULL, HELP_NONE, cmd_gatt_unsubscribe),
1631-
#endif /* CONFIG_BT_GATT_CLIENT */
1632-
SHELL_CMD(gatt-show-db, NULL, HELP_NONE, cmd_gatt_show_db),
1633-
SHELL_CMD(gatt-register-service, NULL,
1634-
"register pre-predefined test service",
1635-
cmd_gatt_register_test_svc),
1636-
SHELL_CMD(gatt-unregister-service, NULL,
1637-
"unregister pre-predefined test service",
1638-
cmd_gatt_unregister_test_svc),
1639-
SHELL_CMD(gatt-metrics, NULL,
1640-
"register vendr char and measure rx [value on, off]",
1641-
cmd_gatt_write_cmd_metrics),
16421605
#if defined(CONFIG_BT_L2CAP_DYNAMIC_CHANNEL)
16431606
SHELL_CMD(l2cap-register, NULL, "<psm> [sec_level]",
16441607
cmd_l2cap_register),

subsys/bluetooth/shell/gatt.c

Lines changed: 80 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include <shell/shell.h>
2525

2626
#include "bt.h"
27-
#include "gatt.h"
2827

2928
#define CHAR_SIZE_MAX 512
3029

@@ -37,7 +36,8 @@ static void exchange_func(struct bt_conn *conn, u8_t err,
3736

3837
static struct bt_gatt_exchange_params exchange_params;
3938

40-
void cmd_gatt_exchange_mtu(const struct shell *shell, size_t argc, char *argv[])
39+
static void cmd_exchange_mtu(const struct shell *shell,
40+
size_t argc, char *argv[])
4141
{
4242
int err;
4343

@@ -146,7 +146,7 @@ static u8_t discover_func(struct bt_conn *conn,
146146
return BT_GATT_ITER_CONTINUE;
147147
}
148148

149-
void cmd_gatt_discover(const struct shell *shell, size_t argc, char *argv[])
149+
static void cmd_discover(const struct shell *shell, size_t argc, char *argv[])
150150
{
151151
int err;
152152

@@ -174,13 +174,13 @@ void cmd_gatt_discover(const struct shell *shell, size_t argc, char *argv[])
174174
}
175175
}
176176

177-
if (!strcmp(argv[0], "gatt-discover-secondary")) {
177+
if (!strcmp(argv[0], "discover-secondary")) {
178178
discover_params.type = BT_GATT_DISCOVER_SECONDARY;
179-
} else if (!strcmp(argv[0], "gatt-discover-include")) {
179+
} else if (!strcmp(argv[0], "discover-include")) {
180180
discover_params.type = BT_GATT_DISCOVER_INCLUDE;
181-
} else if (!strcmp(argv[0], "gatt-discover-characteristic")) {
181+
} else if (!strcmp(argv[0], "discover-characteristic")) {
182182
discover_params.type = BT_GATT_DISCOVER_CHARACTERISTIC;
183-
} else if (!strcmp(argv[0], "gatt-discover-descriptor")) {
183+
} else if (!strcmp(argv[0], "discover-descriptor")) {
184184
discover_params.type = BT_GATT_DISCOVER_DESCRIPTOR;
185185
} else {
186186
discover_params.type = BT_GATT_DISCOVER_PRIMARY;
@@ -210,7 +210,7 @@ static u8_t read_func(struct bt_conn *conn, u8_t err,
210210
return BT_GATT_ITER_CONTINUE;
211211
}
212212

213-
void cmd_gatt_read(const struct shell *shell, size_t argc, char *argv[])
213+
static void cmd_read(const struct shell *shell, size_t argc, char *argv[])
214214
{
215215
int err;
216216

@@ -241,7 +241,7 @@ void cmd_gatt_read(const struct shell *shell, size_t argc, char *argv[])
241241
}
242242
}
243243

244-
void cmd_gatt_mread(const struct shell *shell, size_t argc, char *argv[])
244+
static void cmd_mread(const struct shell *shell, size_t argc, char *argv[])
245245
{
246246
u16_t h[8];
247247
int i, err;
@@ -287,7 +287,7 @@ static void write_func(struct bt_conn *conn, u8_t err,
287287
(void)memset(&write_params, 0, sizeof(write_params));
288288
}
289289

290-
void cmd_gatt_write(const struct shell *shell, size_t argc, char *argv[])
290+
static void cmd_write(const struct shell *shell, size_t argc, char *argv[])
291291
{
292292
int err;
293293
u16_t handle, offset;
@@ -337,8 +337,8 @@ void cmd_gatt_write(const struct shell *shell, size_t argc, char *argv[])
337337
}
338338
}
339339

340-
void cmd_gatt_write_without_rsp(const struct shell *shell,
341-
size_t argc, char *argv[])
340+
static void cmd_write_without_rsp(const struct shell *shell,
341+
size_t argc, char *argv[])
342342
{
343343
u16_t handle;
344344
u16_t repeat;
@@ -355,7 +355,7 @@ void cmd_gatt_write_without_rsp(const struct shell *shell,
355355
return;
356356
}
357357

358-
sign = !strcmp(argv[0], "gatt-write-signed");
358+
sign = !strcmp(argv[0], "signed-write");
359359
handle = strtoul(argv[1], NULL, 16);
360360
gatt_write_buf[0] = strtoul(argv[2], NULL, 16);
361361
len = 1;
@@ -408,7 +408,7 @@ static u8_t notify_func(struct bt_conn *conn,
408408
return BT_GATT_ITER_CONTINUE;
409409
}
410410

411-
void cmd_gatt_subscribe(const struct shell *shell, size_t argc, char *argv[])
411+
static void cmd_subscribe(const struct shell *shell, size_t argc, char *argv[])
412412
{
413413
int err;
414414

@@ -444,7 +444,8 @@ void cmd_gatt_subscribe(const struct shell *shell, size_t argc, char *argv[])
444444
}
445445
}
446446

447-
void cmd_gatt_unsubscribe(const struct shell *shell, size_t argc, char *argv[])
447+
static void cmd_unsubscribe(const struct shell *shell,
448+
size_t argc, char *argv[])
448449
{
449450
int err;
450451

@@ -477,7 +478,7 @@ static u8_t print_attr(const struct bt_gatt_attr *attr, void *user_data)
477478
return BT_GATT_ITER_CONTINUE;
478479
}
479480

480-
void cmd_gatt_show_db(const struct shell *shell, size_t argc, char *argv[])
481+
static void cmd_show_db(const struct shell *shell, size_t argc, char *argv[])
481482
{
482483
bt_gatt_foreach_attr(0x0001, 0xffff, print_attr, (void *)shell);
483484
}
@@ -624,17 +625,17 @@ static struct bt_gatt_attr vnd1_attrs[] = {
624625

625626
static struct bt_gatt_service vnd1_svc = BT_GATT_SERVICE(vnd1_attrs);
626627

627-
void cmd_gatt_register_test_svc(const struct shell *shell,
628-
size_t argc, char *argv[])
628+
static void cmd_register_test_svc(const struct shell *shell,
629+
size_t argc, char *argv[])
629630
{
630631
bt_gatt_service_register(&vnd_svc);
631632
bt_gatt_service_register(&vnd1_svc);
632633

633634
print(shell, "Registering test vendor services\n");
634635
}
635636

636-
void cmd_gatt_unregister_test_svc(const struct shell *shell,
637-
size_t argc, char *argv[])
637+
static void cmd_unregister_test_svc(const struct shell *shell,
638+
size_t argc, char *argv[])
638639
{
639640
bt_gatt_service_unregister(&vnd_svc);
640641
bt_gatt_service_unregister(&vnd1_svc);
@@ -714,8 +715,7 @@ static struct bt_gatt_attr met_attrs[] = {
714715

715716
static struct bt_gatt_service met_svc = BT_GATT_SERVICE(met_attrs);
716717

717-
void cmd_gatt_write_cmd_metrics(const struct shell *shell,
718-
size_t argc, char *argv[])
718+
static void cmd_metrics(const struct shell *shell, size_t argc, char *argv[])
719719
{
720720
int err = 0;
721721

@@ -748,3 +748,61 @@ void cmd_gatt_write_cmd_metrics(const struct shell *shell,
748748
print(shell, "GATT write cmd metrics %s.\n", argv[1]);
749749
}
750750
}
751+
752+
#define HELP_NONE "[none]"
753+
754+
SHELL_CREATE_STATIC_SUBCMD_SET(gatt_cmds) {
755+
#if defined(CONFIG_BT_GATT_CLIENT)
756+
SHELL_CMD(discover-characteristic, NULL,
757+
"[UUID] [start handle] [end handle]", cmd_discover),
758+
SHELL_CMD(discover-descriptor, NULL,
759+
"[UUID] [start handle] [end handle]", cmd_discover),
760+
SHELL_CMD(discover-include, NULL,
761+
"[UUID] [start handle] [end handle]", cmd_discover),
762+
SHELL_CMD(discover-primary, NULL,
763+
"[UUID] [start handle] [end handle]", cmd_discover),
764+
SHELL_CMD(discover-secondary, NULL,
765+
"[UUID] [start handle] [end handle]", cmd_discover),
766+
SHELL_CMD(exchange-mtu, NULL, HELP_NONE, cmd_exchange_mtu),
767+
SHELL_CMD(read, NULL, "<handle> [offset]", cmd_read),
768+
SHELL_CMD(read-multiple, NULL, "<handle 1> <handle 2> ...",
769+
cmd_mread),
770+
SHELL_CMD(signed-write, NULL, "<handle> <data> [length] [repeat]",
771+
cmd_write_without_rsp),
772+
SHELL_CMD(subscribe, NULL, "<CCC handle> <value handle> [ind]",
773+
cmd_subscribe),
774+
SHELL_CMD(write, NULL, "<handle> <offset> <data> [length]",
775+
cmd_write),
776+
SHELL_CMD(write-without-response, NULL,
777+
"<handle> <data> [length] [repeat]",
778+
cmd_write_without_rsp),
779+
SHELL_CMD(unsubscribe, NULL, HELP_NONE, cmd_unsubscribe),
780+
#endif /* CONFIG_BT_GATT_CLIENT */
781+
SHELL_CMD(metrics, NULL,
782+
"register vendr char and measure rx [value on, off]",
783+
cmd_metrics),
784+
SHELL_CMD(register, NULL,
785+
"register pre-predefined test service",
786+
cmd_register_test_svc),
787+
SHELL_CMD(show-db, NULL, HELP_NONE, cmd_show_db),
788+
SHELL_CMD(unregister, NULL,
789+
"unregister pre-predefined test service",
790+
cmd_unregister_test_svc),
791+
SHELL_SUBCMD_SET_END
792+
};
793+
794+
static void cmd_gatt(const struct shell *shell, size_t argc, char **argv)
795+
{
796+
if (argc == 1) {
797+
shell_help_print(shell, NULL, 0);
798+
return;
799+
}
800+
801+
if (!shell_cmd_precheck(shell, (argc == 2), NULL, 0)) {
802+
return;
803+
}
804+
805+
error(shell, "%s:%s%s\r\n", argv[0], "unknown parameter: ", argv[1]);
806+
}
807+
808+
SHELL_CMD_REGISTER(gatt, &gatt_cmds, "Bluetooth GATT shell commands", cmd_gatt);

subsys/bluetooth/shell/gatt.h

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)