You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/en/usb/usb_overview/usb_device_solutions.rst
+28Lines changed: 28 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -119,3 +119,31 @@ Links:
119
119
120
120
* `Read/Write NVS with USB Flash Drive <https://github.com/espressif/esp-iot-solution/tree/master/examples/usb/device/usb_uf2_nvs>`_
121
121
* `Virtual USB Flash Drive UF2 OTA Upgrade <https://github.com/espressif/esp-iot-solution/tree/master/examples/usb/device/usb_uf2_ota>`_
122
+
123
+
USB Extended Screen Solution
124
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
125
+
126
+
The USB extended screen solution allows a device to function as an additional display through a USB connection. It supports data transmission over a single USB cable, including audio, touch information, and video. This solution can be applied in various scenarios such as computer monitors, signature pads, and extended display setups.
127
+
128
+
Host-side Driver
129
+
~~~~~~~~~~~~~~~~~~~~~~~
130
+
131
+
Since USB 2.0 does not support HDMI transmission, the host must transmit image data to the device. Currently, this solution only supports the Windows platform, utilizing the Windows driver model, [`IDD (Indirect Display Driver)`](https://learn.microsoft.com/en-us/windows-hardware/drivers/display/indirect-display-driver-model-overview). This driver captures the desktop image from Windows. Due to USB's speed limitations, the image is first compressed into formats like JPEG, and then transmitted through the USB vendor interface. Each image frame is prepended with a 16-byte header containing details such as image width, height, format, length, and compression type.
132
+
133
+
Features
134
+
~~~~~~~~~~~~~~~~~
135
+
136
+
- Supports image transmission via USB
137
+
- Supports audio transmission via USB
138
+
- Supports touch data transmission via USB
139
+
140
+
Hardware
141
+
~~~~~~~~~~~~~~
142
+
143
+
- Chips: ESP32-S2, ESP32-S3, ESP32-P4
144
+
- Peripheral: USB-OTG
145
+
146
+
Links
147
+
~~~~~~~~~~
148
+
149
+
- [P4 USB Extended Screen Example](https://github.com/espressif/esp-iot-solution/tree/master/examples/usb/device/usb_extend_screen)
* `虚拟 U 盘 UF2 升级 <https://github.com/espressif/esp-iot-solution/tree/master/examples/usb/device/usb_uf2_ota>`_
125
+
126
+
USB 扩展屏方案
127
+
^^^^^^^^^^^^^^^^^
128
+
129
+
USB 扩展屏方案通过 USB 总线将设备作为一块扩展副屏使用。支持通过一根 USB 数据线传输音频,触摸信息,视频图像等数据。可以应用在电脑屏幕,签字屏,扩展屏等应用场景。
130
+
131
+
上位机驱动
132
+
~~~~~~~~~~~~
133
+
134
+
USB2.0 驱动不支持 HDMI 传输,因此需要上位机将图像数据传输给设备,本应用方案暂时仅支持 Windows 平台,采用 Windows 驱动 `IDD <https://learn.microsoft.com/en-us/windows-hardware/drivers/display/indirect-display-driver-model-overview>`_,通过驱动可以拿到 Windows 的桌面图像,因为 USB 速率限制,在驱动中会先将图像处理成 JEPG 等格式,然后通过 USB vendor 接口将图像传输到设备。每一帧图像添加 16 字节的头,包含图像的宽高,图像的格式,图像的长度,图像的压缩类型等。
135
+
136
+
特性:
137
+
~~~~~~
138
+
139
+
* 支持通过 USB 传输图像
140
+
* 支持通过 USB 传输音频
141
+
* 支持通过 USB 传输触摸信息
142
+
143
+
硬件:
144
+
~~~~~~
145
+
146
+
* 芯片:ESP32-S2,ESP32-S3,ESP32-P4
147
+
* 外设:USB-OTG
148
+
149
+
链接:
150
+
~~~~~~
151
+
152
+
* `P4 USB 扩展屏 <https://github.com/espressif/esp-iot-solution/tree/master/examples/usb/device/usb_extend_screen>`_
Copy file name to clipboardExpand all lines: examples/usb/device/usb_extend_screen/README.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,4 +51,10 @@ For preparation, refer to the [windows_driver](./windows_driver/README.md)
51
51
52
52
### Adjusting JPEG Image Quality
53
53
54
-
* Modify the `string_desc_arr` vendor interface string in the `usb_descriptor.c` file. Change `Ejpg4` to the desired image quality level; the higher the number, the better the quality, but it will use more memory for the same frame.
54
+
* Modify the `string_desc_arr` vendor interface string in the `usb_descriptor.c` file. Change `Ejpg4` to the desired image quality level; the higher the number, the better the quality, but it will use more memory for the same frame.
55
+
56
+
### Modify Screen Resolution
57
+
58
+
- Update the `usb_descriptor.c` file by changing the `string_desc_arr` vendor interface string. Modify `R1024x600` to the desired screen resolution.
59
+
60
+
**Note**: Currently, the driver does not support portrait mode screens. Please use hardware that is designed for landscape orientation.
0 commit comments