From 34fd228bf9158b0df47b4ec04b20db682963d5b0 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Wed, 29 Dec 2010 17:02:36 +0100 Subject: Move generic USB stuff to a subdir, dedupe .h files. Adapt examples and the lib code accordingly. --- examples/stm32-h103/usb_cdcacm/cdc.h | 128 ----------------------------------- 1 file changed, 128 deletions(-) delete mode 100644 examples/stm32-h103/usb_cdcacm/cdc.h (limited to 'examples/stm32-h103/usb_cdcacm/cdc.h') diff --git a/examples/stm32-h103/usb_cdcacm/cdc.h b/examples/stm32-h103/usb_cdcacm/cdc.h deleted file mode 100644 index db0f2bc..0000000 --- a/examples/stm32-h103/usb_cdcacm/cdc.h +++ /dev/null @@ -1,128 +0,0 @@ -/* - * This file is part of the libopenstm32 project. - * - * Copyright (C) 2010 Gareth McMullin - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef __CDC_H -#define __CDC_H - -/* Definitions of Communications Device Class from - * "Universal Serial Bus Class Definitions for Communications Devices - * Revision 1.2" - */ - -/* Table 2: Communications Device Class Code */ -#define USB_CLASS_CDC 0x02 - -/* Table 4: Class Subclass Code */ -#define USB_CDC_SUBCLASS_DLCM 0x01 -#define USB_CDC_SUBCLASS_ACM 0x02 -/* ... */ - -/* Table 5 Communications Interface Class Control Protocol Codes */ -#define USB_CDC_PROTOCOL_NONE 0x00 -#define USB_CDC_PROTOCOL_AT 0x01 -/* ... */ - -/* Table 6: Data Interface Class Code */ -#define USB_CLASS_DATA 0x0A - -/* Table 12: Type Values for the bDescriptorType Field */ -#define CS_INTERFACE 0x24 -#define CS_ENDPOINT 0x25 - -/* Table 13: bDescriptor SubType in Communications Class Functional - * Descriptors */ -#define USB_CDC_TYPE_HEADER 0x00 -#define USB_CDC_TYPE_CALL_MANAGEMENT 0x01 -#define USB_CDC_TYPE_ACM 0x02 -/* ... */ -#define USB_CDC_TYPE_UNION 0x06 -/* ... */ - -/* Table 15: Class-Specific Descriptor Header Format */ -struct usb_cdc_header_descriptor { - uint8_t bFunctionLength; - uint8_t bDescriptorType; - uint8_t bDescriptorSubtype; - uint16_t bcdCDC; -} __attribute__((packed)); - -/* Table 16: Union Interface Functional Descriptor */ -struct usb_cdc_union_descriptor { - uint8_t bFunctionLength; - uint8_t bDescriptorType; - uint8_t bDescriptorSubtype; - uint8_t bControlInterface; - uint8_t bSubordinateInterface0; - /* ... */ -} __attribute__((packed)); - - -/* Definitions for Abstract Control Model devices from: - * "Universal Serial Bus Communications Class Subclass Specification for - * PSTN Devices" - */ - -/* Table 3: Call Management Functional Descriptor */ -struct usb_cdc_call_management_descriptor { - uint8_t bFunctionLength; - uint8_t bDescriptorType; - uint8_t bDescriptorSubtype; - uint8_t bmCapabilities; - uint8_t bDataInterface; -} __attribute__((packed)); - -/* Table 4: Abstract Control Management Functional Descriptor */ -struct usb_cdc_acm_descriptor { - uint8_t bFunctionLength; - uint8_t bDescriptorType; - uint8_t bDescriptorSubtype; - uint8_t bmCapabilities; -} __attribute__((packed)); - -/* Table 13: Class-Specific Request Codes for PSTN subclasses */ -/* ... */ -#define USB_CDC_REQ_SET_LINE_CODING 0x20 -/* ... */ -#define USB_CDC_REQ_SET_CONTROL_LINE_STATE 0x22 -/* ... */ - -/* Table 17: Line Coding Structure */ -struct usb_cdc_line_coding { - uint32_t dwDTERate; - uint8_t bCharFormat; - uint8_t bParityType; - uint8_t bDataBits; -} __attribute__((packed)); - -/* Table 30: Class-Specific Notification Codes for PSTN subclasses */ -/* ... */ -#define USB_CDC_NOTIFY_SERIAL_STATE 0x28 -/* ... */ - - -/* Notification Structure */ -struct usb_cdc_notification { - uint8_t bmRequestType; - uint8_t bNotification; - uint16_t wValue; - uint16_t wIndex; - uint16_t wLength; -} __attribute__((packed)); - -#endif -- cgit v1.2.3