Bluetooth: shell: Make use of SHELL_CMD_ARG
Use SHELL_CMD_ARG to register commands. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This commit is contained in:
parent
b7c6ea4971
commit
67e4710598
6 changed files with 122 additions and 320 deletions
|
@ -50,7 +50,6 @@ static int cmd_auth_pincode(const struct shell *shell,
|
|||
{
|
||||
struct bt_conn *conn;
|
||||
u8_t max = 16;
|
||||
int err;
|
||||
|
||||
if (default_conn) {
|
||||
conn = default_conn;
|
||||
|
@ -65,11 +64,6 @@ static int cmd_auth_pincode(const struct shell *shell,
|
|||
return 0;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
if (strlen(argv[1]) > max) {
|
||||
shell_print(shell, "PIN code value invalid - enter max %u "
|
||||
"digits", max);
|
||||
|
@ -89,11 +83,6 @@ static int cmd_connect(const struct shell *shell, size_t argc, char *argv[])
|
|||
bt_addr_t addr;
|
||||
int err;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
err = str2bt_addr(argv[1], &addr);
|
||||
if (err) {
|
||||
shell_print(shell, "Invalid peer address (err %d)", err);
|
||||
|
@ -179,12 +168,6 @@ static void br_discovery_complete(struct bt_br_discovery_result *results,
|
|||
static int cmd_discovery(const struct shell *shell, size_t argc, char *argv[])
|
||||
{
|
||||
const char *action;
|
||||
int err;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc >= 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
action = argv[1];
|
||||
if (!strcmp(action, "on")) {
|
||||
|
@ -282,12 +265,6 @@ static struct bt_l2cap_server br_server = {
|
|||
static int cmd_l2cap_register(const struct shell *shell,
|
||||
size_t argc, char *argv[])
|
||||
{
|
||||
int err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
if (br_server.psm) {
|
||||
shell_print(shell, "Already registered");
|
||||
return 0;
|
||||
|
@ -312,11 +289,6 @@ static int cmd_discoverable(const struct shell *shell,
|
|||
int err;
|
||||
const char *action;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
action = argv[1];
|
||||
|
||||
if (!strcmp(action, "on")) {
|
||||
|
@ -345,11 +317,6 @@ static int cmd_connectable(const struct shell *shell,
|
|||
int err;
|
||||
const char *action;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
action = argv[1];
|
||||
|
||||
if (!strcmp(action, "on")) {
|
||||
|
@ -532,7 +499,7 @@ static struct bt_sdp_discover_params discov;
|
|||
static int cmd_sdp_find_record(const struct shell *shell,
|
||||
size_t argc, char *argv[])
|
||||
{
|
||||
int err, res;
|
||||
int res;
|
||||
const char *action;
|
||||
|
||||
if (!default_conn) {
|
||||
|
@ -540,11 +507,6 @@ static int cmd_sdp_find_record(const struct shell *shell,
|
|||
return 0;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
action = argv[1];
|
||||
|
||||
if (!strcmp(action, "HFPAG")) {
|
||||
|
@ -556,14 +518,6 @@ static int cmd_sdp_find_record(const struct shell *shell,
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (err) {
|
||||
shell_error(shell, "SDP UUID to resolve not valid (err %d)",
|
||||
err);
|
||||
shell_print(shell,
|
||||
"Supported UUID are \'HFPAG\' \'A2SRC\' only");
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
shell_print(shell, "SDP UUID \'%s\' gets applied", action);
|
||||
|
||||
res = bt_sdp_discover(default_conn, &discov);
|
||||
|
@ -581,37 +535,31 @@ static int cmd_sdp_find_record(const struct shell *shell,
|
|||
#define HELP_ADDR_LE "<address: XX:XX:XX:XX:XX:XX> <type: (public|random)>"
|
||||
|
||||
SHELL_CREATE_STATIC_SUBCMD_SET(br_cmds) {
|
||||
SHELL_CMD(auth-pincode, NULL, "<pincode>", cmd_auth_pincode),
|
||||
SHELL_CMD(connect, NULL, "<address>", cmd_connect),
|
||||
SHELL_CMD(discovery, NULL,
|
||||
"<value: on, off> [length: 1-48] [mode: limited]",
|
||||
cmd_discovery),
|
||||
SHELL_CMD(iscan, NULL, "<value: on, off>", cmd_discoverable),
|
||||
SHELL_CMD(l2cap-register, NULL, "<psm>", cmd_l2cap_register),
|
||||
SHELL_CMD(oob, NULL, NULL, cmd_oob),
|
||||
SHELL_CMD(pscan, NULL, "value: on, off", cmd_connectable),
|
||||
SHELL_CMD(sdp-find, NULL, "<HFPAG>", cmd_sdp_find_record),
|
||||
SHELL_CMD_ARG(auth-pincode, NULL, "<pincode>", cmd_auth_pincode, 2, 0),
|
||||
SHELL_CMD_ARG(connect, NULL, "<address>", cmd_connect, 2, 0),
|
||||
SHELL_CMD_ARG(discovery, NULL,
|
||||
"<value: on, off> [length: 1-48] [mode: limited]",
|
||||
cmd_discovery, 2, 2),
|
||||
SHELL_CMD_ARG(iscan, NULL, "<value: on, off>", cmd_discoverable, 2, 0),
|
||||
SHELL_CMD_ARG(l2cap-register, NULL, "<psm>", cmd_l2cap_register, 2, 0),
|
||||
SHELL_CMD_ARG(oob, NULL, NULL, cmd_oob, 1, 0),
|
||||
SHELL_CMD_ARG(pscan, NULL, "<value: on, off>", cmd_connectable, 2, 0),
|
||||
SHELL_CMD_ARG(sdp-find, NULL, "<HFPAG>", cmd_sdp_find_record, 2, 0),
|
||||
SHELL_SUBCMD_SET_END
|
||||
};
|
||||
|
||||
static int cmd_br(const struct shell *shell, size_t argc, char **argv)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (argc == 1) {
|
||||
shell_help_print(shell, NULL, 0);
|
||||
/* shell_cmd_precheck returns 1 when help is printed */
|
||||
return 1;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
shell_error(shell, "%s unknown parameter: %s", argv[0], argv[1]);
|
||||
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
SHELL_CMD_REGISTER(br, &br_cmds, "Bluetooth BR/EDR shell commands", cmd_br);
|
||||
SHELL_CMD_ARG_REGISTER(br, &br_cmds, "Bluetooth BR/EDR shell commands", cmd_br,
|
||||
1, 1);
|
||||
|
|
|
@ -365,11 +365,6 @@ static int cmd_hci_cmd(const struct shell *shell, size_t argc, char *argv[])
|
|||
struct net_buf *buf = NULL, *rsp;
|
||||
int err;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 3), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
ogf = strtoul(argv[1], NULL, 16);
|
||||
ocf = strtoul(argv[2], NULL, 16);
|
||||
|
||||
|
@ -524,12 +519,6 @@ static int cmd_id_select(const struct shell *shell, size_t argc, char *argv[])
|
|||
size_t count = CONFIG_BT_ID_MAX;
|
||||
u8_t id;
|
||||
|
||||
if (argc < 2) {
|
||||
shell_help_print(shell, NULL, 0);
|
||||
/* shell_cmd_precheck returns 1 when help is printed */
|
||||
return 1;
|
||||
}
|
||||
|
||||
id = strtol(argv[1], NULL, 10);
|
||||
|
||||
bt_id_get(addrs, &count);
|
||||
|
@ -614,12 +603,6 @@ static int cmd_scan(const struct shell *shell, size_t argc, char *argv[])
|
|||
{
|
||||
const char *action;
|
||||
int dups = -1;
|
||||
int err;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc >= 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
/* Parse duplicate filtering data */
|
||||
if (argc >= 3) {
|
||||
|
@ -663,11 +646,6 @@ static int cmd_advertise(const struct shell *shell, size_t argc, char *argv[])
|
|||
size_t ad_len;
|
||||
int err;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc >= 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
if (!strcmp(argv[1], "off")) {
|
||||
if (bt_le_adv_stop() < 0) {
|
||||
shell_error(shell, "Failed to stop advertising");
|
||||
|
@ -735,12 +713,6 @@ static int cmd_connect_le(const struct shell *shell, size_t argc, char *argv[])
|
|||
bt_addr_le_t addr;
|
||||
struct bt_conn *conn;
|
||||
|
||||
if (argc < 3) {
|
||||
shell_help_print(shell, NULL, 0);
|
||||
/* shell_cmd_precheck returns 1 when help is printed */
|
||||
return 1;
|
||||
}
|
||||
|
||||
err = str2bt_addr_le(argv[1], argv[2], &addr);
|
||||
if (err) {
|
||||
shell_error(shell, "Invalid peer address (err %d)", err);
|
||||
|
@ -810,12 +782,6 @@ static int cmd_auto_conn(const struct shell *shell, size_t argc, char *argv[])
|
|||
bt_addr_le_t addr;
|
||||
int err;
|
||||
|
||||
if (argc < 3) {
|
||||
shell_help_print(shell, NULL, 0);
|
||||
/* shell_cmd_precheck returns 1 when help is printed */
|
||||
return 1;
|
||||
}
|
||||
|
||||
err = str2bt_addr_le(argv[1], argv[2], &addr);
|
||||
if (err) {
|
||||
shell_error(shell, "Invalid peer address (err %d)", err);
|
||||
|
@ -845,11 +811,6 @@ static int cmd_directed_adv(const struct shell *shell,
|
|||
struct bt_conn *conn;
|
||||
struct bt_le_adv_param *param = BT_LE_ADV_CONN_DIR;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc >= 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
err = str2bt_addr_le(argv[1], argv[2], &addr);
|
||||
if (err) {
|
||||
shell_error(shell, "Invalid peer address (err %d)", err);
|
||||
|
@ -889,11 +850,6 @@ static int cmd_select(const struct shell *shell, size_t argc, char *argv[])
|
|||
bt_addr_le_t addr;
|
||||
int err;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 3), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
err = str2bt_addr_le(argv[1], argv[2], &addr);
|
||||
if (err) {
|
||||
shell_error(shell, "Invalid peer address (err %d)", err);
|
||||
|
@ -921,11 +877,6 @@ static int cmd_conn_update(const struct shell *shell,
|
|||
struct bt_le_conn_param param;
|
||||
int err;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 5), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
param.interval_min = strtoul(argv[1], NULL, 16);
|
||||
param.interval_max = strtoul(argv[2], NULL, 16);
|
||||
param.latency = strtoul(argv[3], NULL, 16);
|
||||
|
@ -1016,11 +967,6 @@ static int cmd_chan_map(const struct shell *shell, size_t argc, char *argv[])
|
|||
u8_t chan_map[5] = {};
|
||||
int err;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
err = hexstr2array(argv[1], chan_map, 5);
|
||||
if (err) {
|
||||
shell_error(shell, "Invalid channel map");
|
||||
|
@ -1048,11 +994,6 @@ static int cmd_security(const struct shell *shell, size_t argc, char *argv[])
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
sec = *argv[1] - '0';
|
||||
|
||||
err = bt_conn_security(default_conn, sec);
|
||||
|
@ -1066,12 +1007,6 @@ static int cmd_security(const struct shell *shell, size_t argc, char *argv[])
|
|||
static int cmd_bondable(const struct shell *shell, size_t argc, char *argv[])
|
||||
{
|
||||
const char *bondable;
|
||||
int err;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
bondable = argv[1];
|
||||
if (!strcmp(bondable, "on")) {
|
||||
|
@ -1260,12 +1195,6 @@ static struct bt_conn_auth_cb auth_cb_all = {
|
|||
|
||||
static int cmd_auth(const struct shell *shell, size_t argc, char *argv[])
|
||||
{
|
||||
int err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
if (!strcmp(argv[1], "all")) {
|
||||
bt_conn_auth_cb_register(&auth_cb_all);
|
||||
} else if (!strcmp(argv[1], "input")) {
|
||||
|
@ -1366,7 +1295,6 @@ static int cmd_fixed_passkey(const struct shell *shell,
|
|||
static int cmd_auth_passkey(const struct shell *shell,
|
||||
size_t argc, char *argv[])
|
||||
{
|
||||
int err;
|
||||
unsigned int passkey;
|
||||
|
||||
if (!default_conn) {
|
||||
|
@ -1374,11 +1302,6 @@ static int cmd_auth_passkey(const struct shell *shell,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
passkey = atoi(argv[1]);
|
||||
if (passkey > 999999) {
|
||||
shell_print(shell, "Passkey should be between 0-999999");
|
||||
|
@ -1395,85 +1318,85 @@ static int cmd_auth_passkey(const struct shell *shell,
|
|||
#define HELP_ADDR_LE "<address: XX:XX:XX:XX:XX:XX> <type: (public|random)>"
|
||||
|
||||
SHELL_CREATE_STATIC_SUBCMD_SET(bt_cmds) {
|
||||
SHELL_CMD(init, NULL, HELP_ADDR_LE, cmd_init),
|
||||
SHELL_CMD_ARG(init, NULL, HELP_ADDR_LE, cmd_init, 1, 0),
|
||||
#if defined(CONFIG_BT_HCI)
|
||||
SHELL_CMD(hci-cmd, NULL, "<ogf> <ocf> [data]", cmd_hci_cmd),
|
||||
SHELL_CMD_ARG(hci-cmd, NULL, "<ogf> <ocf> [data]", cmd_hci_cmd, 3, 1),
|
||||
#endif
|
||||
SHELL_CMD(id-create, NULL, "[addr]", cmd_id_create),
|
||||
SHELL_CMD(id-reset, NULL, "<id> [addr]", cmd_id_reset),
|
||||
SHELL_CMD(id-delete, NULL, "<id>", cmd_id_delete),
|
||||
SHELL_CMD(id-show, NULL, HELP_NONE, cmd_id_show),
|
||||
SHELL_CMD(id-select, NULL, "<id>", cmd_id_select),
|
||||
SHELL_CMD(name, NULL, "[name]", cmd_name),
|
||||
SHELL_CMD(scan, NULL,
|
||||
"<value: on, passive, off> <dup filter: dups, nodups>",
|
||||
cmd_scan),
|
||||
SHELL_CMD(advertise, NULL,
|
||||
"<type: off, on, scan, nconn> <mode: discov, non_discov>",
|
||||
cmd_advertise),
|
||||
SHELL_CMD_ARG(id-create, NULL, "[addr]", cmd_id_create, 1, 1),
|
||||
SHELL_CMD_ARG(id-reset, NULL, "<id> [addr]", cmd_id_reset, 2, 1),
|
||||
SHELL_CMD_ARG(id-delete, NULL, "<id>", cmd_id_delete, 2, 0),
|
||||
SHELL_CMD_ARG(id-show, NULL, HELP_NONE, cmd_id_show, 1, 0),
|
||||
SHELL_CMD_ARG(id-select, NULL, "<id>", cmd_id_select, 2, 0),
|
||||
SHELL_CMD_ARG(name, NULL, "[name]", cmd_name, 1, 1),
|
||||
SHELL_CMD_ARG(scan, NULL,
|
||||
"<value: on, passive, off> <dup filter: dups, nodups>",
|
||||
cmd_scan, 3, 0),
|
||||
SHELL_CMD_ARG(advertise, NULL,
|
||||
"<type: off, on, scan, nconn> <mode: discov, non_discov>",
|
||||
cmd_advertise, 3, 0),
|
||||
#if defined(CONFIG_BT_CONN)
|
||||
SHELL_CMD(connect, NULL, HELP_ADDR_LE, cmd_connect_le),
|
||||
SHELL_CMD(disconnect, NULL, HELP_NONE, cmd_disconnect),
|
||||
SHELL_CMD(auto-conn, NULL, HELP_ADDR_LE, cmd_auto_conn),
|
||||
SHELL_CMD(directed-adv, NULL, HELP_ADDR_LE " [mode: low]",
|
||||
cmd_directed_adv),
|
||||
SHELL_CMD(select, NULL, HELP_ADDR_LE, cmd_select),
|
||||
SHELL_CMD(conn-update, NULL, "<min> <max> <latency> <timeout>",
|
||||
cmd_conn_update),
|
||||
SHELL_CMD(oob, NULL, NULL, cmd_oob),
|
||||
SHELL_CMD(clear, NULL, NULL, cmd_clear),
|
||||
SHELL_CMD(channel-map, NULL, "<channel-map: XX:XX:XX:XX:XX> (36-0)",
|
||||
cmd_chan_map),
|
||||
SHELL_CMD_ARG(connect, NULL, HELP_ADDR_LE, cmd_connect_le, 3, 0),
|
||||
SHELL_CMD_ARG(disconnect, NULL, HELP_NONE, cmd_disconnect, 1, 0),
|
||||
SHELL_CMD_ARG(auto-conn, NULL, HELP_ADDR_LE, cmd_auto_conn, 3, 0),
|
||||
SHELL_CMD_ARG(directed-adv, NULL, HELP_ADDR_LE " [mode: low]",
|
||||
cmd_directed_adv, 1, 1),
|
||||
SHELL_CMD_ARG(select, NULL, HELP_ADDR_LE, cmd_select, 3, 0),
|
||||
SHELL_CMD_ARG(conn-update, NULL, "<min> <max> <latency> <timeout>",
|
||||
cmd_conn_update, 5, 0),
|
||||
SHELL_CMD_ARG(oob, NULL, NULL, cmd_oob, 1, 0),
|
||||
SHELL_CMD_ARG(clear, NULL, NULL, cmd_clear, 1, 0),
|
||||
SHELL_CMD_ARG(channel-map, NULL, "<channel-map: XX:XX:XX:XX:XX> (36-0)",
|
||||
cmd_chan_map, 2, 1),
|
||||
#if defined(CONFIG_BT_SMP) || defined(CONFIG_BT_BREDR)
|
||||
SHELL_CMD(security, NULL, "<security level: 0, 1, 2, 3>", cmd_security),
|
||||
SHELL_CMD(bondable, NULL, "<bondable: on, off>", cmd_bondable),
|
||||
SHELL_CMD(auth, NULL,
|
||||
"<auth method: all, input, display, yesno, confirm, none>",
|
||||
cmd_auth),
|
||||
SHELL_CMD(auth-cancel, NULL, HELP_NONE, cmd_auth_cancel),
|
||||
SHELL_CMD(auth-passkey, NULL, "<passkey>", cmd_auth_passkey),
|
||||
SHELL_CMD(auth-passkey-confirm, NULL, HELP_NONE,
|
||||
cmd_auth_passkey_confirm),
|
||||
SHELL_CMD(auth-pairing-confirm, NULL, HELP_NONE,
|
||||
cmd_auth_pairing_confirm),
|
||||
SHELL_CMD_ARG(security, NULL, "<security level: 0, 1, 2, 3>",
|
||||
cmd_security, 2, 0),
|
||||
SHELL_CMD_ARG(bondable, NULL, "<bondable: on, off>", cmd_bondable,
|
||||
2, 0),
|
||||
SHELL_CMD_ARG(auth, NULL,
|
||||
"<method: all, input, display, yesno, confirm, none>",
|
||||
cmd_auth, 2, 0),
|
||||
SHELL_CMD_ARG(auth-cancel, NULL, HELP_NONE, cmd_auth_cancel, 1, 0),
|
||||
SHELL_CMD_ARG(auth-passkey, NULL, "<passkey>", cmd_auth_passkey, 2, 0),
|
||||
SHELL_CMD_ARG(auth-passkey-confirm, NULL, HELP_NONE,
|
||||
cmd_auth_passkey_confirm, 1, 0),
|
||||
SHELL_CMD_ARG(auth-pairing-confirm, NULL, HELP_NONE,
|
||||
cmd_auth_pairing_confirm, 1, 0),
|
||||
#if defined(CONFIG_BT_FIXED_PASSKEY)
|
||||
SHELL_CMD(fixed-passkey, NULL, "[passkey]", cmd_fixed_passkey),
|
||||
SHELL_CMD_ARG(fixed-passkey, NULL, "[passkey]", cmd_fixed_passkey,
|
||||
1, 1),
|
||||
#endif
|
||||
#endif /* CONFIG_BT_SMP || CONFIG_BT_BREDR) */
|
||||
#endif /* CONFIG_BT_CONN */
|
||||
#if defined(CONFIG_BT_CTLR_ADV_EXT)
|
||||
SHELL_CMD(advx, NULL, "<on off> [coded] [anon] [txp]", cmd_advx),
|
||||
SHELL_CMD(scanx, NULL, "<on passive off> [coded]", cmd_scanx),
|
||||
SHELL_CMD_ARG(advx, NULL, "<on off> [coded] [anon] [txp]", cmd_advx,
|
||||
2, 3),
|
||||
SHELL_CMD_ARG(scanx, NULL, "<on passive off> [coded]", cmd_scanx,
|
||||
2, 1),
|
||||
#endif /* CONFIG_BT_CTLR_ADV_EXT */
|
||||
#if defined(CONFIG_BT_LL_SW)
|
||||
SHELL_CMD(ll-addr, NULL, "<random|public>", cmd_ll_addr_get),
|
||||
SHELL_CMD_ARG(ll-addr, NULL, "<random|public>", cmd_ll_addr_get, 2, 0),
|
||||
#endif
|
||||
#if defined(CONFIG_BT_CTLR_DTM)
|
||||
SHELL_CMD(test_tx, NULL, "<chan> <len> <type> <phy>", cmd_test_tx),
|
||||
SHELL_CMD(test_rx, NULL, "<chan> <phy> <mod_idx>", cmd_test_rx),
|
||||
SHELL_CMD(test_end, NULL, HELP_NONE, cmd_test_end),
|
||||
SHELL_CMD_ARG(test_tx, NULL, "<chan> <len> <type> <phy>", cmd_test_tx,
|
||||
5, 0),
|
||||
SHELL_CMD_ARG(test_rx, NULL, "<chan> <phy> <mod_idx>", cmd_test_rx,
|
||||
4, 0),
|
||||
SHELL_CMD_ARG(test_end, NULL, HELP_NONE, cmd_test_end, 1, 0),
|
||||
#endif /* CONFIG_BT_CTLR_ADV_EXT */
|
||||
SHELL_SUBCMD_SET_END
|
||||
};
|
||||
|
||||
static int cmd_bt(const struct shell *shell, size_t argc, char **argv)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (argc == 1) {
|
||||
shell_help_print(shell, NULL, 0);
|
||||
/* shell_cmd_precheck returns 1 when help is printed */
|
||||
return 1;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
shell_error(shell, "%s unknown parameter: %s", argv[0], argv[1]);
|
||||
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
SHELL_CMD_REGISTER(bt, &bt_cmds, "Bluetooth shell commands", cmd_bt);
|
||||
SHELL_CMD_ARG_REGISTER(bt, &bt_cmds, "Bluetooth shell commands", cmd_bt, 1, 1);
|
||||
|
|
|
@ -226,12 +226,6 @@ static int cmd_read(const struct shell *shell, size_t argc, char *argv[])
|
|||
}
|
||||
|
||||
read_params.func = read_func;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc >= 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
read_params.handle_count = 1;
|
||||
read_params.single.handle = strtoul(argv[1], NULL, 16);
|
||||
read_params.single.offset = 0;
|
||||
|
@ -260,11 +254,6 @@ static int cmd_mread(const struct shell *shell, size_t argc, char *argv[])
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc >= 3), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
if ((argc - 1) > ARRAY_SIZE(h)) {
|
||||
shell_print(shell, "Enter max %lu handle items to read",
|
||||
ARRAY_SIZE(h));
|
||||
|
@ -315,11 +304,6 @@ static int cmd_write(const struct shell *shell, size_t argc, char *argv[])
|
|||
}
|
||||
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc >= 4), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
handle = strtoul(argv[1], NULL, 16);
|
||||
offset = strtoul(argv[2], NULL, 16);
|
||||
|
||||
|
@ -367,11 +351,6 @@ static int cmd_write_without_rsp(const struct shell *shell,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc >= 3), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
sign = !strcmp(argv[0], "signed-write");
|
||||
handle = strtoul(argv[1], NULL, 16);
|
||||
gatt_write_buf[0] = strtoul(argv[2], NULL, 16);
|
||||
|
@ -441,11 +420,6 @@ static int cmd_subscribe(const struct shell *shell, size_t argc, char *argv[])
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc >= 3), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
subscribe_params.ccc_handle = strtoul(argv[1], NULL, 16);
|
||||
subscribe_params.value_handle = strtoul(argv[2], NULL, 16);
|
||||
subscribe_params.value = BT_GATT_CCC_NOTIFY;
|
||||
|
@ -781,62 +755,56 @@ static int cmd_metrics(const struct shell *shell, size_t argc, char *argv[])
|
|||
|
||||
SHELL_CREATE_STATIC_SUBCMD_SET(gatt_cmds) {
|
||||
#if defined(CONFIG_BT_GATT_CLIENT)
|
||||
SHELL_CMD(discover-characteristic, NULL,
|
||||
"[UUID] [start handle] [end handle]", cmd_discover),
|
||||
SHELL_CMD(discover-descriptor, NULL,
|
||||
"[UUID] [start handle] [end handle]", cmd_discover),
|
||||
SHELL_CMD(discover-include, NULL,
|
||||
"[UUID] [start handle] [end handle]", cmd_discover),
|
||||
SHELL_CMD(discover-primary, NULL,
|
||||
"[UUID] [start handle] [end handle]", cmd_discover),
|
||||
SHELL_CMD(discover-secondary, NULL,
|
||||
"[UUID] [start handle] [end handle]", cmd_discover),
|
||||
SHELL_CMD(exchange-mtu, NULL, HELP_NONE, cmd_exchange_mtu),
|
||||
SHELL_CMD(read, NULL, "<handle> [offset]", cmd_read),
|
||||
SHELL_CMD(read-multiple, NULL, "<handle 1> <handle 2> ...",
|
||||
cmd_mread),
|
||||
SHELL_CMD(signed-write, NULL, "<handle> <data> [length] [repeat]",
|
||||
cmd_write_without_rsp),
|
||||
SHELL_CMD(subscribe, NULL, "<CCC handle> <value handle> [ind]",
|
||||
cmd_subscribe),
|
||||
SHELL_CMD(write, NULL, "<handle> <offset> <data> [length]",
|
||||
cmd_write),
|
||||
SHELL_CMD(write-without-response, NULL,
|
||||
"<handle> <data> [length] [repeat]",
|
||||
cmd_write_without_rsp),
|
||||
SHELL_CMD(unsubscribe, NULL, HELP_NONE, cmd_unsubscribe),
|
||||
SHELL_CMD_ARG(discover-characteristic, NULL,
|
||||
"[UUID] [start handle] [end handle]", cmd_discover, 1, 3),
|
||||
SHELL_CMD_ARG(discover-descriptor, NULL,
|
||||
"[UUID] [start handle] [end handle]", cmd_discover, 1, 3),
|
||||
SHELL_CMD_ARG(discover-include, NULL,
|
||||
"[UUID] [start handle] [end handle]", cmd_discover, 1, 3),
|
||||
SHELL_CMD_ARG(discover-primary, NULL,
|
||||
"[UUID] [start handle] [end handle]", cmd_discover, 1, 3),
|
||||
SHELL_CMD_ARG(discover-secondary, NULL,
|
||||
"[UUID] [start handle] [end handle]", cmd_discover, 1, 3),
|
||||
SHELL_CMD_ARG(exchange-mtu, NULL, HELP_NONE, cmd_exchange_mtu, 1, 0),
|
||||
SHELL_CMD_ARG(read, NULL, "<handle> [offset]", cmd_read, 2, 1),
|
||||
SHELL_CMD_ARG(read-multiple, NULL, "<handle 1> <handle 2> ...",
|
||||
cmd_mread, 2, -1),
|
||||
SHELL_CMD_ARG(signed-write, NULL, "<handle> <data> [length] [repeat]",
|
||||
cmd_write_without_rsp, 3, 2),
|
||||
SHELL_CMD_ARG(subscribe, NULL, "<CCC handle> <value handle> [ind]",
|
||||
cmd_subscribe, 3, 1),
|
||||
SHELL_CMD_ARG(write, NULL, "<handle> <offset> <data> [length]",
|
||||
cmd_write, 4, 1),
|
||||
SHELL_CMD_ARG(write-without-response, NULL,
|
||||
"<handle> <data> [length] [repeat]",
|
||||
cmd_write_without_rsp, 3, 2),
|
||||
SHELL_CMD_ARG(unsubscribe, NULL, HELP_NONE, cmd_unsubscribe, 1, 0),
|
||||
#endif /* CONFIG_BT_GATT_CLIENT */
|
||||
SHELL_CMD(metrics, NULL,
|
||||
"register vendr char and measure rx [value on, off]",
|
||||
cmd_metrics),
|
||||
SHELL_CMD(register, NULL,
|
||||
"register pre-predefined test service",
|
||||
cmd_register_test_svc),
|
||||
SHELL_CMD(show-db, NULL, HELP_NONE, cmd_show_db),
|
||||
SHELL_CMD(unregister, NULL,
|
||||
"unregister pre-predefined test service",
|
||||
cmd_unregister_test_svc),
|
||||
SHELL_CMD_ARG(metrics, NULL,
|
||||
"register vendr char and measure rx <value: on, off>",
|
||||
cmd_metrics, 2, 0),
|
||||
SHELL_CMD_ARG(register, NULL,
|
||||
"register pre-predefined test service",
|
||||
cmd_register_test_svc, 1, 0),
|
||||
SHELL_CMD_ARG(show-db, NULL, HELP_NONE, cmd_show_db, 1, 0),
|
||||
SHELL_CMD_ARG(unregister, NULL,
|
||||
"unregister pre-predefined test service",
|
||||
cmd_unregister_test_svc, 1, 0),
|
||||
SHELL_SUBCMD_SET_END
|
||||
};
|
||||
|
||||
static int cmd_gatt(const struct shell *shell, size_t argc, char **argv)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (argc == 1) {
|
||||
shell_help_print(shell, NULL, 0);
|
||||
/* shell_cmd_precheck returns 1 when help is printed */
|
||||
return 1;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
shell_error(shell, "%s unknown parameter: %s", argv[0], argv[1]);
|
||||
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
SHELL_CMD_REGISTER(gatt, &gatt_cmds, "Bluetooth GATT shell commands", cmd_gatt);
|
||||
SHELL_CMD_ARG_REGISTER(gatt, &gatt_cmds, "Bluetooth GATT shell commands",
|
||||
cmd_gatt, 1, 1);
|
||||
|
|
|
@ -218,14 +218,8 @@ static struct bt_l2cap_server server = {
|
|||
|
||||
static int cmd_register(const struct shell *shell, size_t argc, char *argv[])
|
||||
{
|
||||
int err;
|
||||
const char *policy;
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc >= 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
if (server.psm) {
|
||||
shell_error(shell, "Already registered");
|
||||
return -ENOEXEC;
|
||||
|
@ -273,11 +267,6 @@ static int cmd_connect(const struct shell *shell, size_t argc, char *argv[])
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
if (l2ch_chan.ch.chan.conn) {
|
||||
shell_error(shell, "Channel already in use");
|
||||
return -ENOEXEC;
|
||||
|
@ -407,43 +396,36 @@ static int cmd_whitelist_remove(const struct shell *shell, size_t argc, char *ar
|
|||
#define HELP_NONE "[none]"
|
||||
|
||||
SHELL_CREATE_STATIC_SUBCMD_SET(whitelist_cmds) {
|
||||
SHELL_CMD(add, NULL, HELP_NONE, cmd_whitelist_add),
|
||||
SHELL_CMD(remove, NULL, HELP_NONE, cmd_whitelist_remove),
|
||||
SHELL_CMD_ARG(add, NULL, HELP_NONE, cmd_whitelist_add, 1, 0),
|
||||
SHELL_CMD_ARG(remove, NULL, HELP_NONE, cmd_whitelist_remove, 1, 0),
|
||||
SHELL_SUBCMD_SET_END
|
||||
};
|
||||
|
||||
SHELL_CREATE_STATIC_SUBCMD_SET(l2cap_cmds) {
|
||||
SHELL_CMD(connect, NULL, "<psm>", cmd_connect),
|
||||
SHELL_CMD(disconnect, NULL, HELP_NONE, cmd_disconnect),
|
||||
SHELL_CMD(metrics, NULL, "<value on, off>", cmd_metrics),
|
||||
SHELL_CMD(recv, NULL, "[delay (in miliseconds)", cmd_recv),
|
||||
SHELL_CMD(register, NULL, "<psm> [sec_level] "
|
||||
"[policy: whitelist, 16byte_key]", cmd_register),
|
||||
SHELL_CMD(send, NULL, "<number of packets>", cmd_send),
|
||||
SHELL_CMD(whitelist, &whitelist_cmds, HELP_NONE, NULL),
|
||||
SHELL_CMD_ARG(connect, NULL, "<psm>", cmd_connect, 1, 0),
|
||||
SHELL_CMD_ARG(disconnect, NULL, HELP_NONE, cmd_disconnect, 1, 0),
|
||||
SHELL_CMD_ARG(metrics, NULL, "<value on, off>", cmd_metrics, 2, 0),
|
||||
SHELL_CMD_ARG(recv, NULL, "[delay (in miliseconds)", cmd_recv, 1, 1),
|
||||
SHELL_CMD_ARG(register, NULL, "<psm> [sec_level] "
|
||||
"[policy: whitelist, 16byte_key]", cmd_register, 2, 2),
|
||||
SHELL_CMD_ARG(send, NULL, "<number of packets>", cmd_send, 2, 0),
|
||||
SHELL_CMD_ARG(whitelist, &whitelist_cmds, HELP_NONE, NULL, 1, 0),
|
||||
SHELL_SUBCMD_SET_END
|
||||
};
|
||||
|
||||
static int cmd_l2cap(const struct shell *shell, size_t argc, char **argv)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (argc == 1) {
|
||||
shell_help_print(shell, NULL, 0);
|
||||
/* shell_cmd_precheck returns 1 when help is printed */
|
||||
return 1;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
shell_error(shell, "%s unknown parameter: %s", argv[0], argv[1]);
|
||||
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
SHELL_CMD_REGISTER(l2cap, &l2cap_cmds, "Bluetooth L2CAP shell commands",
|
||||
cmd_l2cap);
|
||||
SHELL_CMD_ARG_REGISTER(l2cap, &l2cap_cmds, "Bluetooth L2CAP shell commands",
|
||||
cmd_l2cap, 1, 1);
|
||||
|
||||
|
|
|
@ -178,11 +178,6 @@ static int cmd_connect(const struct shell *shell, size_t argc, char *argv[])
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
channel = strtoul(argv[1], NULL, 16);
|
||||
|
||||
err = bt_rfcomm_dlc_connect(default_conn, &rfcomm_dlc, channel);
|
||||
|
@ -239,33 +234,26 @@ static int cmd_disconnect(const struct shell *shell, size_t argc, char *argv[])
|
|||
#define HELP_ADDR_LE "<address: XX:XX:XX:XX:XX:XX> <type: (public|random)>"
|
||||
|
||||
SHELL_CREATE_STATIC_SUBCMD_SET(rfcomm_cmds) {
|
||||
SHELL_CMD(register, NULL, "<channel>", cmd_register),
|
||||
SHELL_CMD(connect, NULL, "<channel>", cmd_connect),
|
||||
SHELL_CMD(disconnect, NULL, HELP_NONE, cmd_disconnect),
|
||||
SHELL_CMD(send, NULL, "<number of packets>", cmd_send),
|
||||
SHELL_CMD_ARG(register, NULL, "<channel>", cmd_register, 2, 0),
|
||||
SHELL_CMD_ARG(connect, NULL, "<channel>", cmd_connect, 2, 0),
|
||||
SHELL_CMD_ARG(disconnect, NULL, HELP_NONE, cmd_disconnect, 1, 0),
|
||||
SHELL_CMD_ARG(send, NULL, "<number of packets>", cmd_send, 2, 0),
|
||||
SHELL_SUBCMD_SET_END
|
||||
};
|
||||
|
||||
static int cmd_rfcomm(const struct shell *shell, size_t argc, char **argv)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (argc == 1) {
|
||||
shell_help_print(shell, NULL, 0);
|
||||
/* shell_cmd_precheck returns 1 when help is printed */
|
||||
return 1;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
shell_error(shell, "%s unknown parameter: %s", argv[0], argv[1]);
|
||||
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
SHELL_CMD_REGISTER(rfcomm, &rfcomm_cmds, "Bluetooth RFCOMM shell commands",
|
||||
cmd_rfcomm);
|
||||
SHELL_CMD_ARG_REGISTER(rfcomm, &rfcomm_cmds, "Bluetooth RFCOMM shell commands",
|
||||
cmd_rfcomm, 1, 1);
|
||||
|
||||
|
|
|
@ -128,28 +128,21 @@ int cmd_ticker_info(const struct shell *shell, size_t argc, char *argv[])
|
|||
#define HELP_NONE "[none]"
|
||||
|
||||
SHELL_CREATE_STATIC_SUBCMD_SET(ticker_cmds) {
|
||||
SHELL_CMD(info, NULL, HELP_NONE, cmd_ticker_info),
|
||||
SHELL_CMD_ARG(info, NULL, HELP_NONE, cmd_ticker_info, 1, 0),
|
||||
SHELL_SUBCMD_SET_END
|
||||
};
|
||||
|
||||
static int cmd_ticker(const struct shell *shell, size_t argc, char **argv)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (argc == 1) {
|
||||
shell_help_print(shell, NULL, 0);
|
||||
/* shell_cmd_precheck returns 1 when help is printed */
|
||||
return 1;
|
||||
}
|
||||
|
||||
err = shell_cmd_precheck(shell, (argc == 2), NULL, 0);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
shell_error(shell, "%s:%s%s", argv[0], "unknown parameter: ", argv[1]);
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
SHELL_CMD_REGISTER(ticker, &ticker_cmds, "Bluetooth Ticker shell commands",
|
||||
cmd_ticker);
|
||||
SHELL_CMD_ARG_REGISTER(ticker, &ticker_cmds, "Bluetooth Ticker shell commands",
|
||||
cmd_ticker, 1, 1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue