Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[nrf fromtree] bluetooth: samples: Add hci_uart_async #1367

Merged

Conversation

alexstanoev-nordic
Copy link

Cherry-pick of all commits from zephyrproject-rtos/zephyr#59880 to bring in samples/bluetooth/hci_uart_async

  • [nrf fromtree] dts: bindings: Remove reg from vnd,serial
  • [nrf fromtree] drivers: serial_test: Implement interrupt and async APIs
  • [nrf fromtree] bluetooth: samples: Add hci_uart_async

Copy link
Member

@hermabe hermabe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might need zephyrproject-rtos/zephyr@fae3cdd as well since it removes some changes added by the cherry-picked commits.

@alwa-nordic
Copy link
Contributor

alwa-nordic commented Oct 25, 2023

Might need zephyrproject-rtos/zephyr@fae3cdd as well since it removes some changes added by the cherry-picked commits.

It looks like it's not strictly needed. It's just removing a build assert that is now ensured by the Kconfig of the serial mock. The asserts are still valid.

alwa-nordic and others added 8 commits October 27, 2023 10:30
`vnd,serial` is a virtual device which does not have an address.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
(cherry picked from commit 0e83c66)
This allows testing code that uses the UART interrupt-driven API and
UART asynchronous API.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
(cherry picked from commit 4d926ac)
This sample is an alternative implementation of hci_uart. The new sample
differs from the existing sample in that it uses the async UART API
instead of the interrupt driven API.

Included in this commit is a new test for HCI UART flow control. It's
enabled for hci_uart_async. The test can excercise also the existing
hci_uart sample (with some minimal changes to allow compiling in the
mock controller and test suite). The existing hci_uart sample currently
fails the flow control test.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
(cherry picked from commit 347ce7a)
… build

Some dependencies where missing from the build_all test
for the modem_cellular.c driver. These have been added.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
(cherry picked from commit 7fb10c8)
…efined

This commit fixes an error where the irq_isr callback is set
to an undefined variable instead of NULL.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
(cherry picked from commit ebd6681)
…nfig

This commit moves the dependency management between the
RING_BUFFER and UART_ASYNC_API or UART_INTERRUPT_DRIVEN
options to the Kconfig Kconfig.test.

If either UART API options listed are selected, the
RING_BUFFER option must be selected. This is now handled
automatically by Kconfig instead of causing a build
assert.

The asserts where added with this PR #59880, and are
removed in this commit.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
(cherry picked from commit d118d19)
Many boards do not build properly if UART_ASYNC_API
is enabled, which is causing an overly large list
of targets to exclude for the
build_all.modem.modem_cellular.build test suite.

This commit instead specifies 4 emulated boards, two
of 32-bit, two of 64-bit instead.

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
(cherry picked from commit b054d16)
The serial_test.c driver uses size_t to store read_size,
which becomes a 64-bit type when built for 64-bit
architectures. This is incompatible with the print
format %d which is 32-bit. Updated to %zd

Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
(cherry picked from commit cc219c0)
@alexstanoev-nordic
Copy link
Author

Might need zephyrproject-rtos/zephyr@fae3cdd as well since it removes some changes added by the cherry-picked commits.

It looks like it's not strictly needed. It's just removing a build assert that is now ensured by the Kconfig of the serial mock. The asserts are still valid.

I pulled in the whole patchset from PR 63238 as tests/drivers/build_all/modem/drivers.modem.modem_cellular.build failed to build in CI. All the changes from it seem relevant to drivers: serial_test: Implement interrupt and async APIs.

@nordicjm nordicjm merged commit f1ee732 into nrfconnect:main Oct 31, 2023
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants