Bluetooth: BAP: Shell: Fix assistant broadcast code
Fixes 2 issues: 1) The broadcast code would only ever get the first value, even if the command specified up to 16 values. 2) The broadcast code is not just hex values, so hex2bin does not make sense, and strlen + memcpy is much simpler. Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit is contained in:
parent
addc8a538a
commit
2901e7cd59
1 changed files with 16 additions and 23 deletions
|
@ -916,16 +916,15 @@ static int cmd_bap_broadcast_assistant_broadcast_code(const struct shell *sh,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
broadcast_code_len = hex2bin(argv[2], strlen(argv[2]),
|
||||
broadcast_code,
|
||||
sizeof(broadcast_code));
|
||||
|
||||
if (broadcast_code_len == 0U) {
|
||||
shell_error(sh, "Could not parse broadcast code");
|
||||
broadcast_code_len = strlen(argv[2]);
|
||||
if (!IN_RANGE(broadcast_code_len, 1, BT_AUDIO_BROADCAST_CODE_SIZE)) {
|
||||
shell_error(sh, "Invalid broadcast code length: %zu", broadcast_code_len);
|
||||
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
memcpy(broadcast_code, argv[2], broadcast_code_len);
|
||||
|
||||
shell_info(sh, "Sending broadcast code:");
|
||||
shell_hexdump(sh, broadcast_code, sizeof(broadcast_code));
|
||||
|
||||
|
@ -1006,15 +1005,13 @@ static int cmd_bap_broadcast_assistant(const struct shell *sh, size_t argc,
|
|||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
SHELL_STATIC_SUBCMD_SET_CREATE(bap_broadcast_assistant_cmds,
|
||||
SHELL_CMD_ARG(discover, NULL,
|
||||
"Discover BASS on the server",
|
||||
SHELL_STATIC_SUBCMD_SET_CREATE(
|
||||
bap_broadcast_assistant_cmds,
|
||||
SHELL_CMD_ARG(discover, NULL, "Discover BASS on the server",
|
||||
cmd_bap_broadcast_assistant_discover, 1, 0),
|
||||
SHELL_CMD_ARG(scan_start, NULL,
|
||||
"Start scanning for broadcasters",
|
||||
SHELL_CMD_ARG(scan_start, NULL, "Start scanning for broadcasters",
|
||||
cmd_bap_broadcast_assistant_scan_start, 1, 1),
|
||||
SHELL_CMD_ARG(scan_stop, NULL,
|
||||
"Stop scanning for BISs",
|
||||
SHELL_CMD_ARG(scan_stop, NULL, "Stop scanning for BISs",
|
||||
cmd_bap_broadcast_assistant_scan_stop, 1, 0),
|
||||
SHELL_CMD_ARG(add_src, NULL,
|
||||
"Add a source <address: XX:XX:XX:XX:XX:XX> "
|
||||
|
@ -1029,24 +1026,20 @@ SHELL_STATIC_SUBCMD_SET_CREATE(bap_broadcast_assistant_cmds,
|
|||
SHELL_CMD_ARG(add_pa_sync, NULL,
|
||||
"Add a PA sync as a source <sync_pa> <broadcast_id> "
|
||||
"[bis_index [bis_index [bix_index [...]]]]>",
|
||||
cmd_bap_broadcast_assistant_add_pa_sync, 3,
|
||||
BT_ISO_MAX_GROUP_ISO_COUNT),
|
||||
cmd_bap_broadcast_assistant_add_pa_sync, 3, BT_ISO_MAX_GROUP_ISO_COUNT),
|
||||
SHELL_CMD_ARG(mod_src, NULL,
|
||||
"Set sync <src_id> <sync_pa> [<pa_interval>] "
|
||||
"[<sync_bis>] [<metadata>]",
|
||||
cmd_bap_broadcast_assistant_mod_src, 3, 2),
|
||||
SHELL_CMD_ARG(broadcast_code, NULL,
|
||||
"Send a space separated broadcast code of up to 16 bytes "
|
||||
"<src_id> [broadcast code]",
|
||||
cmd_bap_broadcast_assistant_broadcast_code, 2, 16),
|
||||
SHELL_CMD_ARG(rem_src, NULL,
|
||||
"Remove a source <src_id>",
|
||||
"<src_id> <broadcast code>",
|
||||
cmd_bap_broadcast_assistant_broadcast_code, 3, 0),
|
||||
SHELL_CMD_ARG(rem_src, NULL, "Remove a source <src_id>",
|
||||
cmd_bap_broadcast_assistant_rem_src, 2, 0),
|
||||
SHELL_CMD_ARG(read_state, NULL,
|
||||
"Remove a source <index>",
|
||||
SHELL_CMD_ARG(read_state, NULL, "Remove a source <index>",
|
||||
cmd_bap_broadcast_assistant_read_recv_state, 2, 0),
|
||||
SHELL_SUBCMD_SET_END
|
||||
);
|
||||
SHELL_SUBCMD_SET_END);
|
||||
|
||||
SHELL_CMD_ARG_REGISTER(bap_broadcast_assistant, &bap_broadcast_assistant_cmds,
|
||||
"Bluetooth BAP broadcast assistant client shell commands",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue