zephyr/samples/subsys/usb/cdc_acm_composite
Tomasz Bursztyka e18fcbba5a device: Const-ify all device driver instance pointers
Now that device_api attribute is unmodified at runtime, as well as all
the other attributes, it is possible to switch all device driver
instance to be constant.

A coccinelle rule is used for this:

@r_const_dev_1
  disable optional_qualifier
@
@@
-struct device *
+const struct device *

@r_const_dev_2
 disable optional_qualifier
@
@@
-struct device * const
+const struct device *

Fixes #27399

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2020-09-02 13:48:13 +02:00
..
src device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
CMakeLists.txt samples: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
Kconfig kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
README.rst samples: usb: update PID in the samples documentation 2020-05-27 14:15:52 +02:00
prj.conf usb: cdc: Add unique PIDs for each sample 2019-05-09 08:20:34 -04:00
sample.yaml samples: usb: hid: Enable harness for the sample 2019-04-18 12:16:05 -04:00

README.rst

.. _usb_cdc-acm_composite:

USB CDC ACM Sample Composite Application
########################################

Overview
********

This sample app demonstrates use of a USB Communication Device Class (CDC)
Abstract Control Model (ACM) driver provided by the Zephyr project in
Composite configuration.

Two serial ports are created when the device is plugged to the PC.
Received data from one serial port is sent to another serial port
provided by this driver.

Running
*******

Plug the board into a host device, for example, a PC running Linux.
The board will be detected as shown by the Linux dmesg command:

.. code-block:: console

   usb 1-1.5.4: new full-speed USB device number 28 using ehci-pci
   usb 1-1.5.4: New USB device found, idVendor=2fe3, idProduct=0002, bcdDevice= 2.03
   usb 1-1.5.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
   usb 1-1.5.4: Product: Zephyr CDC ACM Composite sample
   usb 1-1.5.4: Manufacturer: ZEPHYR
   usb 1-1.5.4: SerialNumber: 86FE679A598AC47A
   cdc_acm 1-1.5.4:1.0: ttyACM1: USB ACM device
   cdc_acm 1-1.5.4:1.2: ttyACM2: USB ACM device

The app prints on serial output, used for the console:

.. code-block:: console

   Wait for DTR

Open a serial port emulator, for example, minicom,
and attach it to both detected CDC ACM devices:

.. code-block:: console

   minicom --device /dev/ttyACM1
   minicom --device /dev/ttyACM2

The app should respond on serial output with:

.. code-block:: console

   DTR set, start test
   Baudrate detected: 115200
   Baudrate detected: 115200

And on ttyACM devices provided by the Zephyr USB device stack:

.. code-block:: console

   Send characters to another UART device

The characters entered in one serial port will be sent to another
serial port.