Commit Graph

19 Commits

Author SHA1 Message Date
Benjamin Cabé
d23d19d7f0 samples: bluetooth: use zephyr:code-sample directive
Describe the samples using code-sample directive in preparation for
upcoming changes to the Zephyr documentation that will be leveraging
the provided description and metadata.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-05 16:58:32 -04:00
Tomasz Moń
d3e1bc8b59 samples: usb: add UAC2 implicit feedback sample
The sample illustates how to achieve bidirectional asynchronous audio.
Implicit feedback is the only way to achieve asynchronous USB headset
on devices that have only one isochronous IN and one isochronous OUT
endpoint.

The sample implements stereo playback and mono recording. While it would
be possible to have stereo recording, the commonly available headsets
are mono only. The number of channels can differ between audio sink and
source because the only requirement is that the two run on same clock.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-08-26 11:27:30 -04:00
Johann Fischer
6c779908fa samples: net: remove wpanusb sample
Clean up before deprecating legacy device support.
The Linux kernel driver for this example has never been upstreamed or
implemented upstream. In general, 15.4 development does not seem to be a
big success, but if it comes up again, the protocol used by the example
will need to be redesigned anyway.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-08-05 16:28:09 +02:00
Johann Fischer
4dd1681fab samples: usb: remove hid sample
Clean up before deprecating legacy device support. This sample does not
contain anything special that is not present in the hid-mouse or
hid-keyboard samples. It also makes no sense to port it to a new stack.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-08-05 16:28:09 +02:00
Johann Fischer
cd9dff7d8c samples: usb: remove cdc_acm_composite sample
Clean up before deprecating legacy device support. Remove
cdc_acm_composite sample, which is not much different than cdc_acm, but
uses two virtual UART interfaces.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-08-05 16:28:09 +02:00
Johann Fischer
552c353969 doc: usb: add a note about the deprecation plan
Add a note about about the deprecation of current USB device support.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-07-10 14:36:46 +02:00
Pisit Sawangvonganan
eead5104fc doc: fix typo in multiple directories before v3.7.0 release
Utilize a code spell-checking tool to scan for and correct spelling errors
in various files within the `doc` directory.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-07-08 09:21:24 +02:00
Johann Fischer
0dc1414237 samples: usb: remove hid-cdc sample
We have some other simpler CDC ACM and HID samples in the tree.
Providing multiple functions is a core functionality of USB device
support, and we have other samples to demonstrate this as well. This
sample does not really provide anything unique, but has a few issues
such as unsafe HID buffer handling and calling uart_fifo_fill() outside
of the UART driver's IRQ context.
Remove the hid-cdc sample, as there is no value in this sample, and to
avoid spending time fixing and cleaning up the code.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-06-13 16:47:22 -04:00
Johann Fischer
66fee0a528 doc: usb: explain interface number and endpoint address assignment
This also applies to the new experimental device stack, but
documentation for it has not yet begun.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-02-16 19:14:45 +01:00
Diego Herranz
7551b85f22 doc: usb_device.rst: add PID for DFU in DFU mode
By default, the DFU sample uses 0x0005 as PID in the Run-Time descriptors,
and when detached to the "proper" DFU mode, it uses 0xFFFF (one of the
values suggested by the DFU 1.1 spec).

So, 0xFFFF added to the table as well as indications of Run-Time and
DFU mode on both DFU entries.

Signed-off-by: Diego Herranz <diegoherranz@diegoherranz.com>
2024-02-08 09:52:22 +00:00
Tomasz Moń
f00f846fe3 samples: usb: add UAC2 explicit feedback sample
The sample illustrates how to calculate feedback value based on I2S
sample clock measurement or indirect I2S FRAMESTART and USBD SOF.
The sample is currently only supported on nrf5340dk_nrf5340_cpuapp
target because the feedback measurement uses target specific
peripherals.

While it should be possible to perform feedback value calculation
entirely in software (possibly with some additional filtering due
to software scheduling jitter), the I2S API does not provide necessary
timestamps.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-02-01 15:07:37 +01:00
Alberto Escolar Piedras
9fe225d2b8 doc/connectivity/usb: Replace references to native_posix w native_sim
Replace the references to native_posix with native_sim,
and update link names accordingly.

Background: during this release native_sim is replacing
native_posix as the main host test/development platform.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-16 09:37:59 +01:00
Tomasz Moń
c275fa737b doc: connectivity: usb: Document CDC ACM ECHO mitigation
Explain the root cause behind garbage characters received in shell
applications, what Zephyr does to mitigate the issue and what is
expected from host userspace applications.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2023-11-13 09:43:46 +01:00
Johann Fischer
c152e0980c usb: device: cdc_acm: block in uart_poll_out() routine
According to the UART API documentation, implementation must block when
the transceiver is full. For CDC ACM UART, TX ringbuffer can be
considered as transceiver buffer/FIFO. Blocking when the USB subsystem
is not ready is considered highly undesirable behavior. Blocking may
also be undesirable when CDC ACM UART is used as a logging backend.

Change the behavior of CDC ACM poll out to:
 - Block if the TX ring buffer is full, hw_flow_control property is
   enabled, and called from a non-ISR context.
 - Do not block if the USB subsystem is not ready, poll out
   implementation is called from an ISR context, or hw_flow_control
   property is disabled.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-10-23 11:48:44 +02:00
Benjamin Cabé
4f1cd0e428 doc: Migrate subsys/ code samples to new Sphinx extension
This migrates the subsys code samples to the new Sphinx code-sample
extension, making it easier to find relevant samples when browsing
API reference.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-21 09:28:31 +02:00
Benjamin Cabé
994558ef8e samples: net: doc: Use new Sphinx extension to document networking samples
Use the new code-sample directive and roles to document the networking
samples so that they show up as "Related samples" when browsing the
various relevant networking APIs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-19 15:22:59 +01:00
Johann Fischer
f67dd39bb2 drivers: ramdisk: use devicetree to instantiate RAM disk
Rework RAM disk driver to be configured using devicetree and
support multiple instances.

This patch also removes a copy of the RAM disk driver,
tests/subsys/fs/fat_fs_dual_drive/src/disk_access_test_drv.c,
that was there for testing multiple disk drivers support.

Bonus: one SYS_INIT() less and a memory region can be exported to the
host.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-09-18 17:36:50 +02:00
Johann Fischer
0595fd028d doc: usb: add reference to BOS support API
Add a reference to the BOS support API.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-07-26 14:37:34 +02:00
Johann Fischer
b335c19bcb doc: move USB documentation to connectivity
Mostly moved and reorganised content to the Connectivity chapter,
separated API references. Fill in some gaps in the USB device
documentation.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2023-06-15 05:53:44 -04:00