USB configuration file.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
#include "compiler.h"
#include "udi_cdc.h"
#include "udi_msc.h"
#include "uart.h"
#include "main.h"
#include "ui.h"
Macros | |
#define | USB_DEVICE_VENDOR_ID USB_VID_ATMEL |
USB Device Configuration. More... | |
#define | USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_ASF_MSC_CDC |
#define | USB_DEVICE_MAJOR_VERSION 1 |
#define | USB_DEVICE_MINOR_VERSION 0 |
#define | USB_DEVICE_POWER 100 |
#define | USB_DEVICE_ATTR (USB_CONFIG_ATTR_SELF_POWERED) |
#define | USB_DEVICE_MANUFACTURE_NAME "ATMEL ASF" |
USB Device string definitions (Optional) More... | |
#define | USB_DEVICE_PRODUCT_NAME "CDC and MSC" |
#define | USB_DEVICE_SERIAL_NAME "123123123123" |
#define | USB_DEVICE_HS_SUPPORT |
Device speeds support Low speed not supported by CDC and MSC. More... | |
#define | UDC_VBUS_EVENT(b_vbus_high) |
USB Device Callbacks definitions (Optional) More... | |
#define | UDC_SOF_EVENT() main_sof_action() |
#define | UDC_SUSPEND_EVENT() main_suspend_action() |
#define | UDC_RESUME_EVENT() main_resume_action() |
#define | UDC_GET_EXTRA_STRING() main_extra_string() |
Mandatory when USB_DEVICE_ATTR authorizes remote wakeup feature. More... | |
#define | USB_DEVICE_EP_CTRL_SIZE 64 |
USB Device low level configuration When only one interface is used, these configurations are defined by the class module. More... | |
#define | USB_DEVICE_NB_INTERFACE 3 |
Two interfaces for this device (CDC COM + CDC DATA + MSC) More... | |
#define | USB_DEVICE_MAX_EP 6 |
5 endpoints used by CDC and MSC interfaces More... | |
#define | UDD_BULK_NB_BANK(ep) ((ep == 5 || ep== 6) ? 1 : 2) |
#define | UDI_CDC_PORT_NB 1 |
USB Interface Configuration. More... | |
#define | UDI_CDC_ENABLE_EXT(port) main_cdc_enable(port) |
Interface callback definition. More... | |
#define | UDI_CDC_DISABLE_EXT(port) main_cdc_disable(port) |
#define | UDI_CDC_RX_NOTIFY(port) uart_rx_notify(port) |
#define | UDI_CDC_TX_EMPTY_NOTIFY(port) |
#define | UDI_CDC_SET_CODING_EXT(port, cfg) uart_config(port,cfg) |
#define | UDI_CDC_SET_DTR_EXT(port, set) main_cdc_set_dtr(port,set) |
#define | UDI_CDC_SET_RTS_EXT(port, set) |
#define | UDI_CDC_DEFAULT_RATE 115200 |
Define it when the transfer CDC Device to Host is a low rate (<512000 bauds) to reduce CDC buffers size. More... | |
#define | UDI_CDC_DEFAULT_STOPBITS CDC_STOP_BITS_1 |
#define | UDI_CDC_DEFAULT_PARITY CDC_PAR_NONE |
#define | UDI_CDC_DEFAULT_DATABITS 8 |
#define | UDI_CDC_IAD_STRING_ID 4 |
Enable id string of interface to add an extra USB string. More... | |
#define | UDI_CDC_COMM_EP_0 (3 | USB_EP_DIR_IN) |
USB CDC low level configuration In standalone these configurations are defined by the CDC module. More... | |
#define | UDI_CDC_DATA_EP_IN_0 (6 | USB_EP_DIR_IN) |
#define | UDI_CDC_DATA_EP_OUT_0 (5 | USB_EP_DIR_OUT) |
#define | UDI_CDC_COMM_IFACE_NUMBER_0 0 |
Interface numbers. More... | |
#define | UDI_CDC_DATA_IFACE_NUMBER_0 1 |
#define | UDI_MSC_GLOBAL_VENDOR_ID 'A', 'T', 'M', 'E', 'L', ' ', ' ', ' ' |
Configuration of MSC interface. More... | |
#define | UDI_MSC_GLOBAL_PRODUCT_VERSION '1', '.', '0', '0' |
#define | UDI_MSC_ENABLE_EXT() main_msc_enable() |
Interface callback definition. More... | |
#define | UDI_MSC_DISABLE_EXT() main_msc_disable() |
#define | UDI_MSC_STRING_ID 5 |
Enable id string of interface to add an extra USB string. More... | |
#define | UDI_MSC_EP_IN (1 | USB_EP_DIR_IN) |
USB MSC low level configuration In standalone these configurations are defined by the MSC module. More... | |
#define | UDI_MSC_EP_OUT (2 | USB_EP_DIR_OUT) |
#define | UDI_MSC_IFACE_NUMBER 2 |
Interface number. More... | |
#define | UDI_COMPOSITE_DESC_T |
Description of Composite Device. More... | |
#define | UDI_COMPOSITE_DESC_FS |
USB Interfaces descriptor value for Full Speed. More... | |
#define | UDI_COMPOSITE_DESC_HS |
USB Interfaces descriptor value for High Speed. More... | |
#define | UDI_COMPOSITE_API |
USB Interface APIs. More... | |
#define UDC_GET_EXTRA_STRING | ( | ) | main_extra_string() |
Mandatory when USB_DEVICE_ATTR authorizes remote wakeup feature.
When a extra string descriptor must be supported other than manufacturer, product and serial string
Referenced by udc_req_std_dev_get_str_desc().
#define UDC_RESUME_EVENT | ( | ) | main_resume_action() |
#define UDC_SOF_EVENT | ( | ) | main_sof_action() |
#define UDC_SUSPEND_EVENT | ( | ) | main_suspend_action() |
#define UDC_VBUS_EVENT | ( | b_vbus_high | ) |
USB Device Callbacks definitions (Optional)
Referenced by uhd_vbus_handler().
#define UDD_BULK_NB_BANK | ( | ep | ) | ((ep == 5 || ep== 6) ? 1 : 2) |
#define UDI_CDC_COMM_EP_0 (3 | USB_EP_DIR_IN) |
USB CDC low level configuration In standalone these configurations are defined by the CDC module.
For composite device, these configuration must be defined hereEndpoint numbers definition
Referenced by udi_cdc_ctrl_state_change().
#define UDI_CDC_COMM_IFACE_NUMBER_0 0 |
Interface numbers.
Referenced by udi_cdc_comm_enable().
#define UDI_CDC_DATA_EP_IN_0 (6 | USB_EP_DIR_IN) |
Referenced by udi_cdc_tx_send().
#define UDI_CDC_DATA_EP_OUT_0 (5 | USB_EP_DIR_OUT) |
Referenced by udi_cdc_rx_start().
#define UDI_CDC_DATA_IFACE_NUMBER_0 1 |
#define UDI_CDC_DEFAULT_DATABITS 8 |
Referenced by udi_cdc_comm_enable().
#define UDI_CDC_DEFAULT_PARITY CDC_PAR_NONE |
Referenced by udi_cdc_comm_enable().
#define UDI_CDC_DEFAULT_RATE 115200 |
Define it when the transfer CDC Device to Host is a low rate (<512000 bauds) to reduce CDC buffers size.
Default configuration of communication port
Referenced by udi_cdc_comm_enable().
#define UDI_CDC_DEFAULT_STOPBITS CDC_STOP_BITS_1 |
Referenced by udi_cdc_comm_enable().
#define UDI_CDC_DISABLE_EXT | ( | port | ) | main_cdc_disable(port) |
Referenced by udi_cdc_data_disable().
#define UDI_CDC_ENABLE_EXT | ( | port | ) | main_cdc_enable(port) |
Interface callback definition.
Referenced by udi_cdc_comm_enable().
#define UDI_CDC_IAD_STRING_ID 4 |
Enable id string of interface to add an extra USB string.
Referenced by main_extra_string().
#define UDI_CDC_PORT_NB 1 |
USB Interface Configuration.
Configuration of CDC interfaceDefine two USB communication ports
Referenced by udi_cdc_comm_enable(), udi_cdc_ctrl_state_change(), udi_cdc_data_enable(), udi_cdc_data_received(), udi_cdc_data_sent(), udi_cdc_data_sof_notify(), udi_cdc_rx_start(), udi_cdc_serial_state_msg_sent(), udi_cdc_setup_to_port(), and udi_cdc_tx_send().
#define UDI_CDC_RX_NOTIFY | ( | port | ) | uart_rx_notify(port) |
Referenced by udi_cdc_rx_start().
#define UDI_CDC_SET_CODING_EXT | ( | port, | |
cfg | |||
) | uart_config(port,cfg) |
Referenced by udi_cdc_comm_enable(), and udi_cdc_line_coding_received().
#define UDI_CDC_SET_DTR_EXT | ( | port, | |
set | |||
) | main_cdc_set_dtr(port,set) |
Referenced by udi_cdc_comm_setup().
#define UDI_CDC_SET_RTS_EXT | ( | port, | |
set | |||
) |
Referenced by udi_cdc_comm_setup().
#define UDI_CDC_TX_EMPTY_NOTIFY | ( | port | ) |
Referenced by udi_cdc_data_sent().
#define UDI_COMPOSITE_API |
USB Interface APIs.
#define UDI_COMPOSITE_DESC_FS |
USB Interfaces descriptor value for Full Speed.
#define UDI_COMPOSITE_DESC_HS |
USB Interfaces descriptor value for High Speed.
#define UDI_COMPOSITE_DESC_T |
Description of Composite Device.
USB Interfaces descriptor structure
#define UDI_MSC_DISABLE_EXT | ( | ) | main_msc_disable() |
Referenced by udi_msc_disable().
#define UDI_MSC_ENABLE_EXT | ( | ) | main_msc_enable() |
Interface callback definition.
#define UDI_MSC_EP_IN (1 | USB_EP_DIR_IN) |
USB MSC low level configuration In standalone these configurations are defined by the MSC module.
For composite device, these configuration must be defined hereEndpoint numbers definition
Referenced by udi_msc_csw_invalid(), udi_msc_csw_process(), udi_msc_csw_send(), udi_msc_data_send(), udi_msc_setup(), and udi_msc_trans_block().
#define UDI_MSC_EP_OUT (2 | USB_EP_DIR_OUT) |
Referenced by udi_msc_cbw_invalid(), udi_msc_cbw_wait(), udi_msc_csw_process(), udi_msc_setup(), and udi_msc_trans_block().
#define UDI_MSC_GLOBAL_PRODUCT_VERSION '1', '.', '0', '0' |
Referenced by udi_msc_spc_inquiry().
#define UDI_MSC_GLOBAL_VENDOR_ID 'A', 'T', 'M', 'E', 'L', ' ', ' ', ' ' |
Configuration of MSC interface.
Vendor name and Product version of MSC interface
Referenced by udi_msc_spc_inquiry().
#define UDI_MSC_IFACE_NUMBER 2 |
Interface number.
#define UDI_MSC_STRING_ID 5 |
Enable id string of interface to add an extra USB string.
Referenced by main_extra_string().
#define USB_DEVICE_ATTR (USB_CONFIG_ATTR_SELF_POWERED) |
#define USB_DEVICE_EP_CTRL_SIZE 64 |
USB Device low level configuration When only one interface is used, these configurations are defined by the class module.
For composite device, these configuration must be defined hereControl endpoint size
Referenced by udd_ctrl_in_sent().
#define USB_DEVICE_HS_SUPPORT |
Device speeds support Low speed not supported by CDC and MSC.
To define a Low speed device To authorize the High speed
#define USB_DEVICE_MAJOR_VERSION 1 |
#define USB_DEVICE_MANUFACTURE_NAME "ATMEL ASF" |
USB Device string definitions (Optional)
#define USB_DEVICE_MAX_EP 6 |
5 endpoints used by CDC and MSC interfaces
Referenced by udd_enable(), and udd_ep_interrupt().
#define USB_DEVICE_MINOR_VERSION 0 |
#define USB_DEVICE_NB_INTERFACE 3 |
Two interfaces for this device (CDC COM + CDC DATA + MSC)
#define USB_DEVICE_POWER 100 |
#define USB_DEVICE_PRODUCT_ID USB_PID_ATMEL_ASF_MSC_CDC |
#define USB_DEVICE_PRODUCT_NAME "CDC and MSC" |
#define USB_DEVICE_SERIAL_NAME "123123123123" |
Referenced by udc_get_string_serial_name().
#define USB_DEVICE_VENDOR_ID USB_VID_ATMEL |
USB Device Configuration.
Device definition (mandatory)