Skip to content

Commit e55b7fe

Browse files
committed
feat(usb_device): Update examples to esp_tinyusb v2.0.0
1 parent b789445 commit e55b7fe

File tree

15 files changed

+162
-151
lines changed

15 files changed

+162
-151
lines changed
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
## IDF Component Manager Manifest File
22
dependencies:
3-
espressif/esp_tinyusb: "^1.2"
3+
espressif/esp_tinyusb:
4+
version: "^2.0.0"

examples/peripherals/usb/device/tusb_composite_msc_serialdevice/main/tusb_composite_main.c

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Unlicense OR CC0-1.0
55
*/
@@ -10,8 +10,9 @@
1010
#include "esp_partition.h"
1111
#include "esp_check.h"
1212
#include "tinyusb.h"
13-
#include "tusb_msc_storage.h"
14-
#include "tusb_cdc_acm.h"
13+
#include "tinyusb_default_config.h"
14+
#include "tinyusb_msc.h"
15+
#include "tinyusb_cdc_acm.h"
1516

1617
#define BASE_PATH "/usb" // base path to mount the partition
1718

@@ -144,42 +145,36 @@ void app_main(void)
144145
ESP_LOGI(TAG, "Initializing storage...");
145146

146147
static wl_handle_t wl_handle = WL_INVALID_HANDLE;
148+
147149
ESP_ERROR_CHECK(storage_init_spiflash(&wl_handle));
148150

149-
const tinyusb_msc_spiflash_config_t config_spi = {
150-
.wl_handle = wl_handle
151+
tinyusb_msc_storage_handle_t storage_hdl = NULL;
152+
153+
const tinyusb_msc_storage_config_t storage_cfg = {
154+
.mount_point = TINYUSB_MSC_STORAGE_MOUNT_APP, // Initial mount point to APP
155+
.medium.wl_handle = wl_handle,
156+
.fat_fs = {
157+
.base_path = BASE_PATH, // User specific base path
158+
},
151159
};
152-
ESP_ERROR_CHECK(tinyusb_msc_storage_init_spiflash(&config_spi));
153-
ESP_ERROR_CHECK(tinyusb_msc_storage_mount(BASE_PATH));
160+
161+
ESP_ERROR_CHECK(tinyusb_msc_new_storage_spiflash(&storage_cfg, &storage_hdl));
162+
154163
file_operations();
155164

156165
ESP_LOGI(TAG, "USB Composite initialization");
157-
const tinyusb_config_t tusb_cfg = {
158-
.device_descriptor = NULL,
159-
.string_descriptor = NULL,
160-
.string_descriptor_count = 0,
161-
.external_phy = false,
162-
#if (TUD_OPT_HIGH_SPEED)
163-
.fs_configuration_descriptor = NULL,
164-
.hs_configuration_descriptor = NULL,
165-
.qualifier_descriptor = NULL,
166-
#else
167-
.configuration_descriptor = NULL,
168-
#endif // TUD_OPT_HIGH_SPEED
169-
};
166+
const tinyusb_config_t tusb_cfg = TINYUSB_DEFAULT_CONFIG();
170167
ESP_ERROR_CHECK(tinyusb_driver_install(&tusb_cfg));
171168

172169
tinyusb_config_cdcacm_t acm_cfg = {
173-
.usb_dev = TINYUSB_USBDEV_0,
174170
.cdc_port = TINYUSB_CDC_ACM_0,
175-
.rx_unread_buf_sz = 64,
176171
.callback_rx = &tinyusb_cdc_rx_callback, // the first way to register a callback
177172
.callback_rx_wanted_char = NULL,
178173
.callback_line_state_changed = NULL,
179174
.callback_line_coding_changed = NULL
180175
};
181176

182-
ESP_ERROR_CHECK(tusb_cdc_acm_init(&acm_cfg));
177+
ESP_ERROR_CHECK(tinyusb_cdcacm_init(&acm_cfg));
183178
/* the second way to register a callback */
184179
ESP_ERROR_CHECK(tinyusb_cdcacm_register_callback(
185180
TINYUSB_CDC_ACM_0,
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
## IDF Component Manager Manifest File
22
dependencies:
3-
espressif/esp_tinyusb: "^1"
3+
espressif/esp_tinyusb:
4+
version: "^2.0.0"
Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
/*
2-
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Unlicense OR CC0-1.0
55
*/
66

77
// DESCRIPTION:
8-
// This example contains minimal code to make ESP32-S2 based device
9-
// recognizable by USB-host devices as a USB Serial Device printing output from
10-
// the application.
8+
// This example contains minimal code to make a USB device, recognizable by USB-host as
9+
// a USB Serial Device printing output from the application.
1110

1211
#include <stdio.h>
1312
#include <stdlib.h>
@@ -16,8 +15,9 @@
1615
#include "freertos/FreeRTOS.h"
1716
#include "freertos/task.h"
1817
#include "tinyusb.h"
19-
#include "tusb_cdc_acm.h"
20-
#include "tusb_console.h"
18+
#include "tinyusb_default_config.h"
19+
#include "tinyusb_cdc_acm.h"
20+
#include "tinyusb_console.h"
2121
#include "sdkconfig.h"
2222

2323
static const char *TAG = "example";
@@ -27,23 +27,11 @@ void app_main(void)
2727
/* Setting TinyUSB up */
2828
ESP_LOGI(TAG, "USB initialization");
2929

30-
const tinyusb_config_t tusb_cfg = {
31-
.device_descriptor = NULL,
32-
.string_descriptor = NULL,
33-
.external_phy = false, // In the most cases you need to use a `false` value
34-
#if (TUD_OPT_HIGH_SPEED)
35-
.fs_configuration_descriptor = NULL,
36-
.hs_configuration_descriptor = NULL,
37-
.qualifier_descriptor = NULL,
38-
#else
39-
.configuration_descriptor = NULL,
40-
#endif // TUD_OPT_HIGH_SPEED
41-
};
42-
30+
const tinyusb_config_t tusb_cfg = TINYUSB_DEFAULT_CONFIG();
4331
ESP_ERROR_CHECK(tinyusb_driver_install(&tusb_cfg));
4432

4533
tinyusb_config_cdcacm_t acm_cfg = { 0 }; // the configuration uses default values
46-
ESP_ERROR_CHECK(tusb_cdc_acm_init(&acm_cfg));
34+
ESP_ERROR_CHECK(tinyusb_cdcacm_init(&acm_cfg));
4735

4836
ESP_LOGI(TAG, "USB initialization DONE");
4937
while (1) {
@@ -54,13 +42,13 @@ void app_main(void)
5442
fprintf(stderr, "example: print -> stderr\n");
5543
vTaskDelay(1000 / portTICK_PERIOD_MS);
5644

57-
esp_tusb_init_console(TINYUSB_CDC_ACM_0); // log to usb
45+
ESP_ERROR_CHECK(tinyusb_console_init(TINYUSB_CDC_ACM_0)); // log to usb
5846
ESP_LOGI(TAG, "log -> USB");
5947
vTaskDelay(1000 / portTICK_PERIOD_MS);
6048
fprintf(stdout, "example: print -> stdout\n");
6149
vTaskDelay(1000 / portTICK_PERIOD_MS);
6250
fprintf(stderr, "example: print -> stderr\n");
6351
vTaskDelay(1000 / portTICK_PERIOD_MS);
64-
esp_tusb_deinit_console(TINYUSB_CDC_ACM_0); // log to uart
52+
ESP_ERROR_CHECK(tinyusb_console_deinit(TINYUSB_CDC_ACM_0)); // log to uart
6553
}
6654
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
## IDF Component Manager Manifest File
22
dependencies:
3-
espressif/esp_tinyusb: "^1.1"
3+
espressif/esp_tinyusb:
4+
version: "^2.0.0"

examples/peripherals/usb/device/tusb_hid/main/tusb_hid_example_main.c

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "freertos/FreeRTOS.h"
1010
#include "freertos/task.h"
1111
#include "tinyusb.h"
12+
#include "tinyusb_default_config.h"
1213
#include "class/hid/hid_device.h"
1314
#include "driver/gpio.h"
1415

@@ -164,19 +165,15 @@ void app_main(void)
164165
ESP_ERROR_CHECK(gpio_config(&boot_button_config));
165166

166167
ESP_LOGI(TAG, "USB initialization");
167-
const tinyusb_config_t tusb_cfg = {
168-
.device_descriptor = NULL,
169-
.string_descriptor = hid_string_descriptor,
170-
.string_descriptor_count = sizeof(hid_string_descriptor) / sizeof(hid_string_descriptor[0]),
171-
.external_phy = false,
168+
tinyusb_config_t tusb_cfg = TINYUSB_DEFAULT_CONFIG();
169+
170+
tusb_cfg.descriptor.device = NULL;
171+
tusb_cfg.descriptor.full_speed_config = hid_configuration_descriptor;
172+
tusb_cfg.descriptor.string = hid_string_descriptor;
173+
tusb_cfg.descriptor.string_count = sizeof(hid_string_descriptor) / sizeof(hid_string_descriptor[0]);
172174
#if (TUD_OPT_HIGH_SPEED)
173-
.fs_configuration_descriptor = hid_configuration_descriptor, // HID configuration descriptor for full-speed and high-speed are the same
174-
.hs_configuration_descriptor = hid_configuration_descriptor,
175-
.qualifier_descriptor = NULL,
176-
#else
177-
.configuration_descriptor = hid_configuration_descriptor,
175+
tusb_cfg.descriptor.high_speed_config = hid_configuration_descriptor;
178176
#endif // TUD_OPT_HIGH_SPEED
179-
};
180177

181178
ESP_ERROR_CHECK(tinyusb_driver_install(&tusb_cfg));
182179
ESP_LOGI(TAG, "USB initialization DONE");
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
## IDF Component Manager Manifest File
22
dependencies:
3-
espressif/esp_tinyusb: "^1.1"
3+
espressif/esp_tinyusb:
4+
version: "^2.0.0"

examples/peripherals/usb/device/tusb_midi/main/tusb_midi_main.c

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
*
44
* SPDX-License-Identifier: MIT
55
*
6-
* SPDX-FileContributor: 2022-2024 Espressif Systems (Shanghai) CO LTD
6+
* SPDX-FileContributor: 2022-2025 Espressif Systems (Shanghai) CO LTD
77
*/
88

99
#include <stdlib.h>
1010
#include "esp_log.h"
1111
#include "freertos/FreeRTOS.h"
1212
#include "freertos/task.h"
1313
#include "tinyusb.h"
14+
#include "tinyusb_default_config.h"
1415
#include "esp_timer.h"
1516

1617
static const char *TAG = "example";
@@ -149,19 +150,16 @@ void app_main(void)
149150
{
150151
ESP_LOGI(TAG, "USB initialization");
151152

152-
tinyusb_config_t const tusb_cfg = {
153-
.device_descriptor = NULL, // If device_descriptor is NULL, tinyusb_driver_install() will use Kconfig
154-
.string_descriptor = s_str_desc,
155-
.string_descriptor_count = sizeof(s_str_desc) / sizeof(s_str_desc[0]),
156-
.external_phy = false,
153+
tinyusb_config_t tusb_cfg = TINYUSB_DEFAULT_CONFIG();
154+
155+
tusb_cfg.descriptor.string = s_str_desc;
156+
tusb_cfg.descriptor.string_count = sizeof(s_str_desc) / sizeof(s_str_desc[0]);
157+
tusb_cfg.descriptor.full_speed_config = s_midi_cfg_desc;
157158
#if (TUD_OPT_HIGH_SPEED)
158-
.fs_configuration_descriptor = s_midi_cfg_desc, // HID configuration descriptor for full-speed and high-speed are the same
159-
.hs_configuration_descriptor = s_midi_hs_cfg_desc,
160-
.qualifier_descriptor = NULL,
161-
#else
162-
.configuration_descriptor = s_midi_cfg_desc,
159+
tusb_cfg.descriptor.high_speed_config = s_midi_hs_cfg_desc;
160+
tusb_cfg.descriptor.qualifier = NULL;
163161
#endif // TUD_OPT_HIGH_SPEED
164-
};
162+
165163
ESP_ERROR_CHECK(tinyusb_driver_install(&tusb_cfg));
166164

167165
ESP_LOGI(TAG, "USB initialization DONE");
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
## IDF Component Manager Manifest File
22
dependencies:
3-
espressif/esp_tinyusb: "^1.4.2"
3+
espressif/esp_tinyusb:
4+
version: "^2.0.0"

0 commit comments

Comments
 (0)