diff --git a/examples/lisa-m/usb_dfu/usbdfu.c b/examples/lisa-m/usb_dfu/usbdfu.c index 7f17ec8a..0a6789df 100644 --- a/examples/lisa-m/usb_dfu/usbdfu.c +++ b/examples/lisa-m/usb_dfu/usbdfu.c @@ -17,15 +17,13 @@ * along with this program. If not, see . */ +#include #include #include #include #include -#include - -#include - -#include "dfu.h" +#include +#include #define APP_ADDRESS 0x08002000 diff --git a/examples/lisa-m/usb_hid/usbhid.c b/examples/lisa-m/usb_hid/usbhid.c index cf3b5430..6adef1e1 100644 --- a/examples/lisa-m/usb_hid/usbhid.c +++ b/examples/lisa-m/usb_hid/usbhid.c @@ -17,21 +17,19 @@ * along with this program. If not, see . */ +#include #include #include #include -#include - -#include - -#include "hid.h" +#include +#include /* Define this to include the DFU APP interface. */ #define INCLUDE_DFU_INTERFACE #ifdef INCLUDE_DFU_INTERFACE -# include -# include "../usb_dfu/dfu.h" +#include +#include #endif const struct usb_device_descriptor dev = { diff --git a/examples/other/usb_cdcacm/cdcacm.c b/examples/other/usb_cdcacm/cdcacm.c index b911a612..8305dc2e 100644 --- a/examples/other/usb_cdcacm/cdcacm.c +++ b/examples/other/usb_cdcacm/cdcacm.c @@ -17,12 +17,11 @@ * along with this program. If not, see . */ +#include #include #include -#include -#include - -#include "cdc.h" +#include +#include static const struct usb_device_descriptor dev = { .bLength = USB_DT_DEVICE_SIZE, diff --git a/examples/other/usb_dfu/dfu.h b/examples/other/usb_dfu/dfu.h deleted file mode 100644 index cca07cbb..00000000 --- a/examples/other/usb_dfu/dfu.h +++ /dev/null @@ -1,81 +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 __DFU_H -#define __DFU_H - -enum dfu_req { - DFU_DETACH, - DFU_DNLOAD, - DFU_UPLOAD, - DFU_GETSTATUS, - DFU_CLRSTATUS, - DFU_GETSTATE, - DFU_ABORT -}; - -enum dfu_status { - DFU_STATUS_OK, - DFU_STATUS_ERR_TARGET, - DFU_STATUS_ERR_FILE, - DFU_STATUS_ERR_WRITE, - DFU_STATUS_ERR_ERASE, - DFU_STATUS_ERR_CHECK_ERASED, - DFU_STATUS_ERR_PROG, - DFU_STATUS_ERR_VERIFY, - DFU_STATUS_ERR_ADDRESS, - DFU_STATUS_ERR_NOTDONE, - DFU_STATUS_ERR_FIRMWARE, - DFU_STATUS_ERR_VENDOR, - DFU_STATUS_ERR_USBR, - DFU_STATUS_ERR_POR, - DFU_STATUS_ERR_UNKNOWN, - DFU_STATUS_ERR_STALLEDPKT, -}; - -enum dfu_state { - STATE_APP_IDLE, - STATE_APP_DETACH, - STATE_DFU_IDLE, - STATE_DFU_DNLOAD_SYNC, - STATE_DFU_DNBUSY, - STATE_DFU_DNLOAD_IDLE, - STATE_DFU_MANIFEST_SYNC, - STATE_DFU_MANIFEST, - STATE_DFU_MANIFEST_WAIT_RESET, - STATE_DFU_UPLOAD_IDLE, - STATE_DFU_ERROR, -}; - -#define DFU_FUNCTIONAL 0x21 -struct usb_dfu_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bmAttributes; -#define USB_DFU_CAN_DOWNLOAD 0x01 -#define USB_DFU_CAN_UPLOAD 0x02 -#define USB_DFU_MANIFEST_TOLERANT 0x04 -#define USB_DFU_WILL_DETACH 0x08 - - uint16_t wDetachTimeout; - uint16_t wTransferSize; - uint16_t bcdDFUVersion; -} __attribute__((packed)); - -#endif diff --git a/examples/other/usb_dfu/usbdfu.c b/examples/other/usb_dfu/usbdfu.c index cb05531a..9981585d 100644 --- a/examples/other/usb_dfu/usbdfu.c +++ b/examples/other/usb_dfu/usbdfu.c @@ -17,15 +17,13 @@ * along with this program. If not, see . */ +#include #include #include #include #include -#include - -#include - -#include "dfu.h" +#include +#include #define APP_ADDRESS 0x08002000 diff --git a/examples/other/usb_hid/hid.h b/examples/other/usb_hid/hid.h deleted file mode 100644 index 6804cabb..00000000 --- a/examples/other/usb_hid/hid.h +++ /dev/null @@ -1,38 +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 __HID_H -#define __HID_H - -#include - -#define USB_CLASS_HID 3 - -#define USB_DT_HID 0x21 -#define USB_DT_REPORT 0x22 - -struct usb_hid_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t bcdHID; - uint8_t bCountryCode; - uint8_t bNumDescriptors; -} __attribute__((packed)); - -#endif diff --git a/examples/other/usb_hid/usbhid.c b/examples/other/usb_hid/usbhid.c index fe3313cd..d87265f8 100644 --- a/examples/other/usb_hid/usbhid.c +++ b/examples/other/usb_hid/usbhid.c @@ -17,21 +17,19 @@ * along with this program. If not, see . */ +#include #include #include #include -#include - -#include - -#include "hid.h" +#include +#include /* Define this to include the DFU APP interface. */ #define INCLUDE_DFU_INTERFACE #ifdef INCLUDE_DFU_INTERFACE -# include -# include "../usb_dfu/dfu.h" +#include +#include #endif const struct usb_device_descriptor dev = { diff --git a/examples/stm32-h103/usb_cdcacm/cdc.h b/examples/stm32-h103/usb_cdcacm/cdc.h deleted file mode 100644 index db0f2bcf..00000000 --- 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 diff --git a/examples/stm32-h103/usb_cdcacm/cdcacm.c b/examples/stm32-h103/usb_cdcacm/cdcacm.c index d11d9a02..305ad43a 100644 --- a/examples/stm32-h103/usb_cdcacm/cdcacm.c +++ b/examples/stm32-h103/usb_cdcacm/cdcacm.c @@ -17,12 +17,11 @@ * along with this program. If not, see . */ +#include #include #include -#include -#include - -#include "cdc.h" +#include +#include static const struct usb_device_descriptor dev = { .bLength = USB_DT_DEVICE_SIZE, diff --git a/examples/stm32-h103/usb_dfu/dfu.h b/examples/stm32-h103/usb_dfu/dfu.h deleted file mode 100644 index cca07cbb..00000000 --- a/examples/stm32-h103/usb_dfu/dfu.h +++ /dev/null @@ -1,81 +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 __DFU_H -#define __DFU_H - -enum dfu_req { - DFU_DETACH, - DFU_DNLOAD, - DFU_UPLOAD, - DFU_GETSTATUS, - DFU_CLRSTATUS, - DFU_GETSTATE, - DFU_ABORT -}; - -enum dfu_status { - DFU_STATUS_OK, - DFU_STATUS_ERR_TARGET, - DFU_STATUS_ERR_FILE, - DFU_STATUS_ERR_WRITE, - DFU_STATUS_ERR_ERASE, - DFU_STATUS_ERR_CHECK_ERASED, - DFU_STATUS_ERR_PROG, - DFU_STATUS_ERR_VERIFY, - DFU_STATUS_ERR_ADDRESS, - DFU_STATUS_ERR_NOTDONE, - DFU_STATUS_ERR_FIRMWARE, - DFU_STATUS_ERR_VENDOR, - DFU_STATUS_ERR_USBR, - DFU_STATUS_ERR_POR, - DFU_STATUS_ERR_UNKNOWN, - DFU_STATUS_ERR_STALLEDPKT, -}; - -enum dfu_state { - STATE_APP_IDLE, - STATE_APP_DETACH, - STATE_DFU_IDLE, - STATE_DFU_DNLOAD_SYNC, - STATE_DFU_DNBUSY, - STATE_DFU_DNLOAD_IDLE, - STATE_DFU_MANIFEST_SYNC, - STATE_DFU_MANIFEST, - STATE_DFU_MANIFEST_WAIT_RESET, - STATE_DFU_UPLOAD_IDLE, - STATE_DFU_ERROR, -}; - -#define DFU_FUNCTIONAL 0x21 -struct usb_dfu_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bmAttributes; -#define USB_DFU_CAN_DOWNLOAD 0x01 -#define USB_DFU_CAN_UPLOAD 0x02 -#define USB_DFU_MANIFEST_TOLERANT 0x04 -#define USB_DFU_WILL_DETACH 0x08 - - uint16_t wDetachTimeout; - uint16_t wTransferSize; - uint16_t bcdDFUVersion; -} __attribute__((packed)); - -#endif diff --git a/examples/stm32-h103/usb_dfu/usbdfu.c b/examples/stm32-h103/usb_dfu/usbdfu.c index 7f17ec8a..0a6789df 100644 --- a/examples/stm32-h103/usb_dfu/usbdfu.c +++ b/examples/stm32-h103/usb_dfu/usbdfu.c @@ -17,15 +17,13 @@ * along with this program. If not, see . */ +#include #include #include #include #include -#include - -#include - -#include "dfu.h" +#include +#include #define APP_ADDRESS 0x08002000 diff --git a/examples/stm32-h103/usb_hid/hid.h b/examples/stm32-h103/usb_hid/hid.h deleted file mode 100644 index 6804cabb..00000000 --- a/examples/stm32-h103/usb_hid/hid.h +++ /dev/null @@ -1,38 +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 __HID_H -#define __HID_H - -#include - -#define USB_CLASS_HID 3 - -#define USB_DT_HID 0x21 -#define USB_DT_REPORT 0x22 - -struct usb_hid_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t bcdHID; - uint8_t bCountryCode; - uint8_t bNumDescriptors; -} __attribute__((packed)); - -#endif diff --git a/examples/stm32-h103/usb_hid/usbhid.c b/examples/stm32-h103/usb_hid/usbhid.c index f98448c9..457bb048 100644 --- a/examples/stm32-h103/usb_hid/usbhid.c +++ b/examples/stm32-h103/usb_hid/usbhid.c @@ -17,21 +17,19 @@ * along with this program. If not, see . */ +#include #include #include #include -#include - -#include - -#include "hid.h" +#include +#include /* Define this to include the DFU APP interface. */ #define INCLUDE_DFU_INTERFACE #ifdef INCLUDE_DFU_INTERFACE -# include -# include "../usb_dfu/dfu.h" +#include +#include #endif const struct usb_device_descriptor dev = { diff --git a/examples/stm32-h103/usb_iap/usbiap.c b/examples/stm32-h103/usb_iap/usbiap.c index 7f17ec8a..0a6789df 100644 --- a/examples/stm32-h103/usb_iap/usbiap.c +++ b/examples/stm32-h103/usb_iap/usbiap.c @@ -17,15 +17,13 @@ * along with this program. If not, see . */ +#include #include #include #include #include -#include - -#include - -#include "dfu.h" +#include +#include #define APP_ADDRESS 0x08002000 diff --git a/examples/other/usb_cdcacm/cdc.h b/include/usb/cdc.h similarity index 100% rename from examples/other/usb_cdcacm/cdc.h rename to include/usb/cdc.h diff --git a/examples/lisa-m/usb_dfu/dfu.h b/include/usb/dfu.h similarity index 100% rename from examples/lisa-m/usb_dfu/dfu.h rename to include/usb/dfu.h diff --git a/examples/lisa-m/usb_hid/hid.h b/include/usb/hid.h similarity index 100% rename from examples/lisa-m/usb_hid/hid.h rename to include/usb/hid.h diff --git a/include/usbd.h b/include/usb/usbd.h similarity index 98% rename from include/usbd.h rename to include/usb/usbd.h index f65f9435..c9fac7f8 100644 --- a/include/usbd.h +++ b/include/usb/usbd.h @@ -20,7 +20,7 @@ #ifndef __USBD_H #define __USBD_H -#include +#include /* Static buffer for control transactions: * This is defined as weak in the library, applicaiton diff --git a/include/usbstd.h b/include/usb/usbstd.h similarity index 100% rename from include/usbstd.h rename to include/usb/usbstd.h diff --git a/lib/usb/usb.c b/lib/usb/usb.c index dd9d00c3..c201b3e3 100644 --- a/lib/usb/usb.c +++ b/lib/usb/usb.c @@ -17,8 +17,8 @@ * along with this program. If not, see . */ -#include #include +#include #include "usb_private.h" struct _usbd_device _usbd_device; @@ -92,4 +92,3 @@ void _usbd_reset(void) if(_usbd_device.user_callback_reset) _usbd_device.user_callback_reset(); } - diff --git a/lib/usb/usb_control.c b/lib/usb/usb_control.c index 73e83729..d1796d97 100644 --- a/lib/usb/usb_control.c +++ b/lib/usb/usb_control.c @@ -17,8 +17,8 @@ * along with this program. If not, see . */ -#include #include +#include #include "usb_private.h" static struct usb_control_state { @@ -251,4 +251,3 @@ void _usbd_control_in(uint8_t ea) usbd_ep_stall_set(0, 1); } } - diff --git a/lib/usb/usb_f103.c b/lib/usb/usb_f103.c index 381ee797..a23a8e35 100644 --- a/lib/usb/usb_f103.c +++ b/lib/usb/usb_f103.c @@ -20,9 +20,7 @@ #include #include #include - -#include - +#include #include "usb_private.h" /** Initialize USB Device Controller. @@ -250,4 +248,3 @@ void usbd_poll(void) if(istr & USB_ISTR_SOF) USB_CLR_ISTR_SOF(); } - diff --git a/lib/usb/usb_private.h b/lib/usb/usb_private.h index 894771a6..453ed771 100644 --- a/lib/usb/usb_private.h +++ b/lib/usb/usb_private.h @@ -17,7 +17,6 @@ * along with this program. If not, see . */ - #ifndef __USB_PRIVATE_H #define __USB_PRIVATE_H @@ -77,4 +76,3 @@ void _usbd_hw_set_address(uint8_t addr); void _usbd_hw_endpoints_reset(void); #endif - diff --git a/lib/usb/usb_standard.c b/lib/usb/usb_standard.c index e6d07275..3e1ff99a 100644 --- a/lib/usb/usb_standard.c +++ b/lib/usb/usb_standard.c @@ -18,8 +18,7 @@ */ #include - -#include +#include #include "usb_private.h" void usbd_register_set_config_callback(void (*callback)(uint16_t wValue)) @@ -370,4 +369,3 @@ int _usbd_standard_request(struct usb_setup_data *req, uint8_t **buf, return 0; } } -