42 #ifndef _DESCRIPTORS_H_ 43 #define _DESCRIPTORS_H_ 46 #include <avr/pgmspace.h> 55 #define CDC_NOTIFICATION_EPADDR (ENDPOINT_DIR_IN | 2) 58 #define CDC_TX_EPADDR (ENDPOINT_DIR_IN | 3) 61 #define CDC_RX_EPADDR (ENDPOINT_DIR_OUT | 4) 64 #define CDC_NOTIFICATION_EPSIZE 8 67 #define CDC_TXRX_EPSIZE 64 75 #define CDC_CONTROL_LINE_OUT_DTR (1 << 0) 80 #define CDC_CONTROL_LINE_OUT_RTS (1 << 1) 85 #define CDC_CONTROL_LINE_IN_DCD (1 << 0) 90 #define CDC_CONTROL_LINE_IN_DSR (1 << 1) 95 #define CDC_CONTROL_LINE_IN_BREAK (1 << 2) 100 #define CDC_CONTROL_LINE_IN_RING (1 << 3) 105 #define CDC_CONTROL_LINE_IN_FRAMEERROR (1 << 4) 110 #define CDC_CONTROL_LINE_IN_PARITYERROR (1 << 5) 115 #define CDC_CONTROL_LINE_IN_OVERRUNERROR (1 << 6) 127 #define CDC_FUNCTIONAL_DESCRIPTOR(DataSize) \ 130 USB_Descriptor_Header_t Header; \ 132 uint8_t Data[DataSize]; \ 255 }
ATTR_PACKED USB_CDC_Descriptor_FunctionalHeader_t;
278 }
ATTR_PACKED USB_CDC_StdDescriptor_FunctionalHeader_t;
291 USB_Descriptor_Header_t Header;
313 uint8_t bFunctionLength;
314 uint8_t bDescriptorType;
317 uint8_t bDescriptorSubType;
324 }
ATTR_PACKED USB_CDC_StdDescriptor_FunctionalACM_t;
337 USB_Descriptor_Header_t Header;
357 uint8_t bFunctionLength;
358 uint8_t bDescriptorType;
361 uint8_t bDescriptorSubType;
366 }
ATTR_PACKED USB_CDC_StdDescriptor_FunctionalUnion_t;
394 USB_Descriptor_Configuration_Header_t Config;
397 USB_Descriptor_Interface_t CDC_CCI_Interface;
398 USB_CDC_Descriptor_FunctionalHeader_t CDC_Functional_Header;
399 USB_CDC_Descriptor_FunctionalACM_t CDC_Functional_ACM;
400 USB_CDC_Descriptor_FunctionalUnion_t CDC_Functional_Union;
401 USB_Descriptor_Endpoint_t CDC_NotificationEndpoint;
404 USB_Descriptor_Interface_t CDC_DCI_Interface;
405 USB_Descriptor_Endpoint_t CDC_DataOutEndpoint;
406 USB_Descriptor_Endpoint_t CDC_DataInEndpoint;
414 const uint8_t wIndex,
const void**
const DescriptorAddress ) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3);
Bibliothek zur USB-Kommunikation von Jürgen W.
uint8_t bDescriptorSubType
CDC_Descriptor_ClassSubclassProtocol_t
uint16_t CDCSpecification
CDC_LineEncodingFormats_t
uint8_t SlaveInterfaceNumber
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, const void **const DescriptorAddress) ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3)
USB_Descriptor_Header_t Header
uint8_t MasterInterfaceNumber