mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
84aa1c0cc3
tusb: cdc, tasks encapsulation, callbacks api, multiple interfaces examples: added serial interface and usb console ci: reimplemented cmake/make test in python with ignore lists IDF-578
59 lines
1.9 KiB
C
59 lines
1.9 KiB
C
/* USB Example
|
|
|
|
This example code is in the Public Domain (or CC0 licensed, at your option.)
|
|
|
|
Unless required by applicable law or agreed to in writing, this
|
|
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
CONDITIONS OF ANY KIND, either express or implied.
|
|
*/
|
|
|
|
// DESCRIPTION:
|
|
// This example contains minimal code to make ESP32-S2 based device
|
|
// recognizable by USB-host devices as a USB Serial Device printing output from
|
|
// the application.
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <sys/reent.h>
|
|
#include "esp_log.h"
|
|
#include "esp_vfs.h"
|
|
#include "freertos/FreeRTOS.h"
|
|
#include "freertos/task.h"
|
|
#include "tinyusb.h"
|
|
#include "tusb_cdc_acm.h"
|
|
#include "tusb_console.h"
|
|
#include "sdkconfig.h"
|
|
|
|
static const char *TAG = "example";
|
|
|
|
void app_main(void)
|
|
{
|
|
/* Setting TinyUSB up */
|
|
ESP_LOGI(TAG, "USB initialization");
|
|
|
|
tinyusb_config_t tusb_cfg = { 0 }; // the configuration uses default values
|
|
ESP_ERROR_CHECK(tinyusb_driver_install(&tusb_cfg));
|
|
|
|
tinyusb_config_cdcacm_t amc_cfg = { 0 }; // the configuration uses default values
|
|
ESP_ERROR_CHECK(tusb_cdc_acm_init(&amc_cfg));
|
|
|
|
ESP_LOGI(TAG, "USB initialization DONE");
|
|
while (1) {
|
|
ESP_LOGI(TAG, "log -> UART");
|
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
|
fprintf(stdout, "example: print -> stdout\n");
|
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
|
fprintf(stderr, "example: print -> stderr\n");
|
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
|
|
|
esp_tusb_init_console(TINYUSB_CDC_ACM_0); // log to usb
|
|
ESP_LOGI(TAG, "log -> USB");
|
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
|
fprintf(stdout, "example: print -> stdout\n");
|
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
|
fprintf(stderr, "example: print -> stderr\n");
|
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
|
esp_tusb_deinit_console(TINYUSB_CDC_ACM_0); // log to uart
|
|
}
|
|
}
|