ESP-IDF Firmware
Firmware architecture and call graph
Loading...
Searching...
No Matches
cdc.h File Reference
#include <stdint.h>
#include "freertos/FreeRTOS.h"
#include "freertos/semphr.h"
#include "freertos/timers.h"
#include "tusb.h"
#include "tinyusb_types.h"
Include dependency graph for cdc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  tinyusb_config_cdc_t
struct  esp_tusb_cdc_t

Enumerations

enum  cdc_data_sublcass_type_t { TINYUSB_CDC_DATA = 0x00 }

Functions

esp_err_t tinyusb_cdc_init (int itf, const tinyusb_config_cdc_t *cfg)
 Initializing CDC basic object.
esp_err_t tinyusb_cdc_deinit (int itf)
 De-initializing CDC. Clean its objects.
esp_tusb_cdc_ttinyusb_cdc_get_intf (int itf_num)
 Return interface of a CDC device.

Enumeration Type Documentation

◆ cdc_data_sublcass_type_t

Enumerator
TINYUSB_CDC_DATA 

Definition at line 22 of file cdc.h.

22 {
23 TINYUSB_CDC_DATA = 0x00,
24} cdc_data_sublcass_type_t; // CDC120 specification
cdc_data_sublcass_type_t
Definition cdc.h:22
@ TINYUSB_CDC_DATA
Definition cdc.h:23

Function Documentation

◆ tinyusb_cdc_deinit()

esp_err_t tinyusb_cdc_deinit ( int itf)

De-initializing CDC. Clean its objects.

Parameters
itf- number of a CDC object
Returns
esp_err_t ESP_OK, ESP_ERR_INVALID_ARG, ESP_ERR_INVALID_STATE

Definition at line 96 of file cdc.c.

97{
98 ESP_RETURN_ON_ERROR(cdc_obj_check(itf, true, -1), TAG, "cdc_obj_check failed");
99
100 ESP_LOGD(TAG, "Deinit CDC %d", itf);
101 if (cdc_obj[itf]->type == TUSB_CLASS_CDC) {
102 ESP_RETURN_ON_ERROR(tusb_cdc_deinit_comm(itf), TAG, "tusb_cdc_deinit_comm failed");
103 } else if (cdc_obj[itf]->type == TUSB_CLASS_CDC_DATA) {
104 ESP_RETURN_ON_ERROR(tusb_cdc_deinit_data(itf), TAG, "tusb_cdc_deinit_data failed");
105 } else {
106 return ESP_ERR_INVALID_ARG;
107 }
108 return ESP_OK;
109}
#define ESP_RETURN_ON_ERROR(x, log_tag, format,...)
static esp_err_t tusb_cdc_deinit_comm(int itf)
Definition cdc.c:50
static esp_err_t cdc_obj_check(int itf, bool expected_inited, tusb_class_code_t expected_type)
Definition cdc.c:26
static esp_err_t tusb_cdc_deinit_data(int itf)
Definition cdc.c:72
static esp_tusb_cdc_t * cdc_obj[CFG_TUD_CDC]
Definition cdc.c:15
#define ESP_OK
Definition esp_err.h:23
#define ESP_LOGD
Definition esp_log.h:22
static const char * TAG
Definition main/main.c:31

References cdc_obj, cdc_obj_check(), ESP_LOGD, ESP_OK, ESP_RETURN_ON_ERROR, TAG, tusb_cdc_deinit_comm(), and tusb_cdc_deinit_data().

Referenced by tusb_cdc_acm_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tinyusb_cdc_get_intf()

esp_tusb_cdc_t * tinyusb_cdc_get_intf ( int itf_num)

Return interface of a CDC device.

Parameters
itf_num
Returns
esp_tusb_cdc_t* pointer to the interface or (NULL) on error

Definition at line 18 of file cdc.c.

19{
20 if (itf_num >= CDC_INTF_NUM || itf_num < 0) {
21 return NULL;
22 }
23 return cdc_obj[itf_num];
24}
#define CDC_INTF_NUM
Definition cdc.c:14

References CDC_INTF_NUM, and cdc_obj.

Referenced by alloc_obj(), cdc_obj_check(), free_obj(), and get_acm().

Here is the caller graph for this function:

◆ tinyusb_cdc_init()

esp_err_t tinyusb_cdc_init ( int itf,
const tinyusb_config_cdc_t * cfg )

Initializing CDC basic object.

Parameters
itf- number of a CDC object
cfg- CDC configuration structure
Returns
esp_err_t ESP_OK or ESP_FAIL

Definition at line 80 of file cdc.c.

81{
82 ESP_RETURN_ON_ERROR(cdc_obj_check(itf, false, -1), TAG, "cdc_obj_check failed");
83
84 ESP_LOGD(TAG, "Init CDC %d", itf);
85 if (cfg->cdc_class == TUSB_CLASS_CDC) {
86 ESP_RETURN_ON_ERROR(tusb_cdc_comm_init(itf), TAG, "tusb_cdc_comm_init failed");
87 cdc_obj[itf]->cdc_subclass.comm_subclass = cfg->cdc_subclass.comm_subclass;
88 } else {
89 ESP_RETURN_ON_ERROR(tusb_cdc_data_init(itf), TAG, "tusb_cdc_data_init failed");
90 cdc_obj[itf]->cdc_subclass.data_subclass = cfg->cdc_subclass.data_subclass;
91 }
92 cdc_obj[itf]->usb_dev = cfg->usb_dev;
93 return ESP_OK;
94}
static esp_err_t tusb_cdc_comm_init(int itf)
Definition cdc.c:36
static esp_err_t tusb_cdc_data_init(int itf)
Definition cdc.c:58
tinyusb_usbdev_t usb_dev
Definition cdc.h:32
cdc_comm_sublcass_type_t comm_subclass
Definition cdc.h:35
union tinyusb_config_cdc_t::@312104222326077254040135322351363045356166043242 cdc_subclass
cdc_data_sublcass_type_t data_subclass
Definition cdc.h:36
tusb_class_code_t cdc_class
Definition cdc.h:33

References tinyusb_config_cdc_t::cdc_class, cdc_obj, cdc_obj_check(), tinyusb_config_cdc_t::cdc_subclass, tinyusb_config_cdc_t::comm_subclass, tinyusb_config_cdc_t::data_subclass, ESP_LOGD, ESP_OK, ESP_RETURN_ON_ERROR, TAG, tusb_cdc_comm_init(), tusb_cdc_data_init(), and tinyusb_config_cdc_t::usb_dev.

Referenced by tusb_cdc_acm_init().

Here is the call graph for this function:
Here is the caller graph for this function: