Skip to content

Commit ef826d5

Browse files
committed
Bluetooth: Classic: add inquiry scan param shell
add BR/EDR inquiry scan test shell Signed-off-by: Kai Cheng <[email protected]>
1 parent cc30eb6 commit ef826d5

File tree

1 file changed

+44
-0
lines changed
  • subsys/bluetooth/host/classic/shell

1 file changed

+44
-0
lines changed

subsys/bluetooth/host/classic/shell/bredr.c

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -792,6 +792,45 @@ static int cmd_discoverable(const struct shell *sh, size_t argc, char *argv[])
792792
return 0;
793793
}
794794

795+
static int cmd_iscan_param(const struct shell *sh, size_t argc, char *argv[])
796+
{
797+
int err = 0;
798+
799+
if (!strcmp(argv[1], "default")) {
800+
err = bt_br_inquiry_scan_update_param(BT_BR_INQUIRY_SCAN_PARAM_DEFAULT);
801+
if (err) {
802+
shell_print(sh, "BR/EDR update inquiry scan param failed (err %d)", err);
803+
return -ENOEXEC;
804+
}
805+
} else if (!strcmp(argv[1], "defined")) {
806+
uint16_t interval;
807+
uint16_t window;
808+
enum bt_br_scan_type type;
809+
struct bt_br_inquiry_scan_param param = {0};
810+
811+
interval = strtoul(argv[2], NULL, 16);
812+
window = strtoul(argv[3], NULL, 16);
813+
type = strtoul(argv[4], NULL, 16);
814+
815+
param.interval = interval;
816+
param.window = window;
817+
param.type = type;
818+
819+
err = bt_br_inquiry_scan_update_param(&param);
820+
if (err) {
821+
shell_print(sh, "BR/EDR update inquiry scan param failed (err %d)", err);
822+
return -ENOEXEC;
823+
}
824+
} else {
825+
shell_help(sh);
826+
return SHELL_CMD_HELP_PRINTED;
827+
}
828+
829+
shell_print(sh, "BR/EDR update inquiry scan param done");
830+
831+
return 0;
832+
}
833+
795834
static int cmd_connectable(const struct shell *sh, size_t argc, char *argv[])
796835
{
797836
int err;
@@ -1688,6 +1727,10 @@ static int cmd_default_handler(const struct shell *sh, size_t argc, char **argv)
16881727
"[<interval>] [<window>] [<type>]\n" \
16891728
"<interval>: scan interval in units of 0.625 ms"
16901729

1730+
#define HELP_ISCAN_PARAM \
1731+
"<type: default, defined> [<interval>] [<window>] [<type>]\n" \
1732+
"<interval>: scan interval in units of 0.625 ms"
1733+
16911734
SHELL_STATIC_SUBCMD_SET_CREATE(echo_cmds,
16921735
SHELL_CMD_ARG(register, NULL, HELP_NONE, cmd_l2cap_echo_reg, 1, 0),
16931736
SHELL_CMD_ARG(unregister, NULL, HELP_NONE, cmd_l2cap_echo_unreg, 1, 0),
@@ -1737,6 +1780,7 @@ SHELL_STATIC_SUBCMD_SET_CREATE(br_cmds,
17371780
cmd_discovery, 2, 2),
17381781
SHELL_CMD_ARG(iscan, NULL, "<value: on, off> [mode: limited]",
17391782
cmd_discoverable, 2, 1),
1783+
SHELL_CMD_ARG(iscan-param, NULL, HELP_ISCAN_PARAM, cmd_iscan_param, 2, 3),
17401784
SHELL_CMD(l2cap, &l2cap_cmds, HELP_NONE, cmd_default_handler),
17411785
SHELL_CMD_ARG(oob, NULL, NULL, cmd_oob, 1, 0),
17421786
SHELL_CMD_ARG(pscan, NULL, "<value: on, off>", cmd_connectable, 2, 0),

0 commit comments

Comments
 (0)