2021-03-16 20:34:06

by Chris White

[permalink] [raw]
Subject: [PATCH BlueZ 0/1] emulator: Add Create BIG command in emulator

From: Chris White <[email protected]>

This patch adds support to the emulator for the Create BIG HCI command
needed for using the emulator for LE Audio broadcast development. See
https://github.com/bluez/bluez-sig/issues/3.

kpare (1):
emulator: Add Create BIG command in emulator

emulator/btdev.c | 29 ++++++++++++++++++++++++++---
1 file changed, 26 insertions(+), 3 deletions(-)

--
2.21.0 (Apple Git-122.2)


2021-03-16 20:34:07

by Chris White

[permalink] [raw]
Subject: [PATCH BlueZ 1/1] emulator: Add Create BIG command in emulator

From: Keyur Parekh <[email protected]>

This adds support for Create BIG command HCI
command in emulator. These changes are needed for
making the emulator useful for testing
LE Audio broadcast feature.
---
emulator/btdev.c | 29 ++++++++++++++++++++++++++---
1 file changed, 26 insertions(+), 3 deletions(-)

diff --git a/emulator/btdev.c b/emulator/btdev.c
index c824f48ff..d78d472b1 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -4473,10 +4473,32 @@ static int cmd_reject_cis(struct btdev *dev, const void *data, uint8_t len)

static int cmd_create_big(struct btdev *dev, const void *data, uint8_t len)
{
- /* TODO */
- return -ENOTSUP;
+ cmd_status(dev, BT_HCI_ERR_SUCCESS, BT_HCI_CMD_LE_CREATE_BIG);
+
+ return 0;
}

+static int cmd_create_big_complete(struct btdev *dev, const void *data,
+ uint8_t len)
+{
+ const struct bt_hci_cmd_le_create_big *cmd = data;
+ int i;
+
+ for (i = 0; i < cmd->num_bis; i++) {
+ const struct bt_hci_bis *bis = &cmd->bis[i];
+ struct bt_hci_evt_le_big_complete evt;
+
+ evt.big_id = cmd->big_id;
+ evt.num_bis = cmd->num_bis;
+ evt.phy = bis->phy;
+ memcpy(&evt.latency, &(bis->latency), 3);
+
+ le_meta_event(dev, BT_HCI_EVT_LE_BIG_COMPLETE, &evt,
+ sizeof(evt));
+ }
+
+ return 0;
+}
static int cmd_create_big_test(struct btdev *dev, const void *data, uint8_t len)
{
/* TODO */
@@ -4625,7 +4647,8 @@ static int cmd_set_host_feature(struct btdev *dev, const void *data,
CMD(BT_HCI_CMD_LE_REMOVE_CIG, cmd_remove_cig, NULL), \
CMD(BT_HCI_CMD_LE_ACCEPT_CIS, cmd_accept_cis, NULL), \
CMD(BT_HCI_CMD_LE_REJECT_CIS, cmd_reject_cis, NULL), \
- CMD(BT_HCI_CMD_LE_CREATE_BIG, cmd_create_big, NULL), \
+ CMD(BT_HCI_CMD_LE_CREATE_BIG, cmd_create_big, \
+ cmd_create_big_complete), \
CMD(BT_HCI_CMD_LE_CREATE_BIG_TEST, cmd_create_big_test, NULL), \
CMD(BT_HCI_CMD_LE_TERM_BIG, cmd_term_big, NULL), \
CMD(BT_HCI_CMD_LE_BIG_CREATE_SYNC, cmd_big_create_sync, NULL), \
--
2.21.0 (Apple Git-122.2)

2021-03-16 22:46:52

by bluez.test.bot

[permalink] [raw]
Subject: RE: emulator: Add Create BIG command in emulator

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=449125

---Test result---

##############################
Test: CheckPatch - PASS

##############################
Test: CheckGitLint - PASS

##############################
Test: CheckBuild - FAIL
Output:
emulator/btdev.c: In function ‘cmd_create_big_complete’:
emulator/btdev.c:4529:6: error: ‘struct bt_hci_evt_le_big_complete’ has no member named ‘big_id’
4529 | evt.big_id = cmd->big_id;
| ^
emulator/btdev.c:4529:19: error: ‘const struct bt_hci_cmd_le_create_big’ has no member named ‘big_id’
4529 | evt.big_id = cmd->big_id;
| ^~
make[1]: *** [Makefile:6794: emulator/btdev.o] Error 1
make: *** [Makefile:4023: all] Error 2


##############################
Test: MakeCheck - SKIPPED
Output:
checkbuild not success



---
Regards,
Linux Bluetooth

2021-03-17 01:22:42

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: emulator: Add Create BIG command in emulator

Hi Chris,

On Tue, Mar 16, 2021 at 3:46 PM <[email protected]> wrote:
>
> This is automated email and please do not reply to this email!
>
> Dear submitter,
>
> Thank you for submitting the patches to the linux bluetooth mailing list.
> This is a CI test results with your patch series:
> PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=449125
>
> ---Test result---
>
> ##############################
> Test: CheckPatch - PASS
>
> ##############################
> Test: CheckGitLint - PASS
>
> ##############################
> Test: CheckBuild - FAIL
> Output:
> emulator/btdev.c: In function ‘cmd_create_big_complete’:
> emulator/btdev.c:4529:6: error: ‘struct bt_hci_evt_le_big_complete’ has no member named ‘big_id’
> 4529 | evt.big_id = cmd->big_id;
> | ^
> emulator/btdev.c:4529:19: error: ‘const struct bt_hci_cmd_le_create_big’ has no member named ‘big_id’
> 4529 | evt.big_id = cmd->big_id;
> | ^~
> make[1]: *** [Makefile:6794: emulator/btdev.o] Error 1
> make: *** [Makefile:4023: all] Error 2

There is some build errors, big_id has been renamed to handle at some
point, you should always rebase on top to master before submitting
upstream otherwise these errors could happen.

>
> ##############################
> Test: MakeCheck - SKIPPED
> Output:
> checkbuild not success
>
>
>
> ---
> Regards,
> Linux Bluetooth
>


--
Luiz Augusto von Dentz

2021-04-07 13:35:49

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: emulator: Add Create BIG command in emulator

Hi Chris,

On Tue, Mar 16, 2021 at 6:18 PM Luiz Augusto von Dentz
<[email protected]> wrote:
>
> Hi Chris,
>
> On Tue, Mar 16, 2021 at 3:46 PM <[email protected]> wrote:
> >
> > This is automated email and please do not reply to this email!
> >
> > Dear submitter,
> >
> > Thank you for submitting the patches to the linux bluetooth mailing list.
> > This is a CI test results with your patch series:
> > PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=449125
> >
> > ---Test result---
> >
> > ##############################
> > Test: CheckPatch - PASS
> >
> > ##############################
> > Test: CheckGitLint - PASS
> >
> > ##############################
> > Test: CheckBuild - FAIL
> > Output:
> > emulator/btdev.c: In function ‘cmd_create_big_complete’:
> > emulator/btdev.c:4529:6: error: ‘struct bt_hci_evt_le_big_complete’ has no member named ‘big_id’
> > 4529 | evt.big_id = cmd->big_id;
> > | ^
> > emulator/btdev.c:4529:19: error: ‘const struct bt_hci_cmd_le_create_big’ has no member named ‘big_id’
> > 4529 | evt.big_id = cmd->big_id;
> > | ^~
> > make[1]: *** [Makefile:6794: emulator/btdev.o] Error 1
> > make: *** [Makefile:4023: all] Error 2
>
> There is some build errors, big_id has been renamed to handle at some
> point, you should always rebase on top to master before submitting
> upstream otherwise these errors could happen.

Ive fixed these myself, they are not applied.

>
> >
> > ##############################
> > Test: MakeCheck - SKIPPED
> > Output:
> > checkbuild not success
> >
> >
> >
> > ---
> > Regards,
> > Linux Bluetooth
> >
>
>
> --
> Luiz Augusto von Dentz



--
Luiz Augusto von Dentz