From c39eb69e4d923c9c5fa8be53252ee0ffd15dffb9 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Wed, 29 Dec 2010 17:28:06 +0100 Subject: Replace uint8_t with u8 et al, fix whitespace. --- examples/lisa-m/usb_hid/usbhid.c | 6 +- examples/mb525/pwmleds/pwmleds.c | 2 +- examples/other/usb_hid/usbhid.c | 6 +- examples/stm32-h103/usb_hid/usbhid.c | 6 +- include/usb/cdc.h | 81 ++++++------- include/usb/dfu.h | 14 +-- include/usb/hid.h | 10 +- include/usb/usbd.h | 31 ++--- include/usb/usbstd.h | 228 ++++++++++++++++++----------------- lib/usb/usb.c | 4 +- lib/usb/usb_control.c | 16 +-- lib/usb/usb_f103.c | 16 +-- lib/usb/usb_private.h | 28 ++--- lib/usb/usb_standard.c | 68 +++++------ 14 files changed, 256 insertions(+), 260 deletions(-) diff --git a/examples/lisa-m/usb_hid/usbhid.c b/examples/lisa-m/usb_hid/usbhid.c index 6adef1e..1628503 100644 --- a/examples/lisa-m/usb_hid/usbhid.c +++ b/examples/lisa-m/usb_hid/usbhid.c @@ -66,8 +66,8 @@ static const u8 hid_report_descriptor[] = { static const struct { struct usb_hid_descriptor hid_descriptor; struct { - uint8_t bReportDescriptorType; - uint16_t wDescriptorLength; + u8 bReportDescriptorType; + u16 wDescriptorLength; } __attribute__((packed)) hid_report; } __attribute__((packed)) hid_function = { .hid_descriptor = { @@ -281,7 +281,7 @@ void sys_tick_handler(void) { static int x = 0; static int dir = 1; - uint8_t buf[4] = {0, 0, 0, 0}; + u8 buf[4] = {0, 0, 0, 0}; buf[1] = dir; x += dir; diff --git a/examples/mb525/pwmleds/pwmleds.c b/examples/mb525/pwmleds/pwmleds.c index ca707ac..78932cb 100644 --- a/examples/mb525/pwmleds/pwmleds.c +++ b/examples/mb525/pwmleds/pwmleds.c @@ -124,7 +124,7 @@ static const u16 gamma_table_1_3[] = { #endif #ifdef GAMMA_2_2 -static const uint16_t gamma_table_2_2[] = { +static const u16 gamma_table_2_2[] = { 0, 0, 2, 4, 7, 11, 17, 24, 32, 42, 53, 65, 79, 94, 111, 129, 148, 169, 192, 216, 242, 270, 299, 330, diff --git a/examples/other/usb_hid/usbhid.c b/examples/other/usb_hid/usbhid.c index d87265f..02c653d 100644 --- a/examples/other/usb_hid/usbhid.c +++ b/examples/other/usb_hid/usbhid.c @@ -66,8 +66,8 @@ static const u8 hid_report_descriptor[] = { static const struct { struct usb_hid_descriptor hid_descriptor; struct { - uint8_t bReportDescriptorType; - uint16_t wDescriptorLength; + u8 bReportDescriptorType; + u16 wDescriptorLength; } __attribute__((packed)) hid_report; } __attribute__((packed)) hid_function = { .hid_descriptor = { @@ -262,7 +262,7 @@ void sys_tick_handler(void) { static int x = 0; static int dir = 1; - uint8_t buf[4] = {0, 0, 0, 0}; + u8 buf[4] = {0, 0, 0, 0}; buf[1] = dir; x += dir; diff --git a/examples/stm32-h103/usb_hid/usbhid.c b/examples/stm32-h103/usb_hid/usbhid.c index 457bb04..e326dd0 100644 --- a/examples/stm32-h103/usb_hid/usbhid.c +++ b/examples/stm32-h103/usb_hid/usbhid.c @@ -66,8 +66,8 @@ static const u8 hid_report_descriptor[] = { static const struct { struct usb_hid_descriptor hid_descriptor; struct { - uint8_t bReportDescriptorType; - uint16_t wDescriptorLength; + u8 bReportDescriptorType; + u16 wDescriptorLength; } __attribute__((packed)) hid_report; } __attribute__((packed)) hid_function = { .hid_descriptor = { @@ -262,7 +262,7 @@ void sys_tick_handler(void) { static int x = 0; static int dir = 1; - uint8_t buf[4] = {0, 0, 0, 0}; + u8 buf[4] = {0, 0, 0, 0}; buf[1] = dir; x += dir; diff --git a/include/usb/cdc.h b/include/usb/cdc.h index db0f2bc..07be0ca 100644 --- a/include/usb/cdc.h +++ b/include/usb/cdc.h @@ -21,54 +21,54 @@ #define __CDC_H /* Definitions of Communications Device Class from - * "Universal Serial Bus Class Definitions for Communications Devices + * "Universal Serial Bus Class Definitions for Communications Devices * Revision 1.2" */ /* Table 2: Communications Device Class Code */ -#define USB_CLASS_CDC 0x02 +#define USB_CLASS_CDC 0x02 /* Table 4: Class Subclass Code */ -#define USB_CDC_SUBCLASS_DLCM 0x01 -#define USB_CDC_SUBCLASS_ACM 0x02 +#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 +#define USB_CDC_PROTOCOL_NONE 0x00 +#define USB_CDC_PROTOCOL_AT 0x01 /* ... */ /* Table 6: Data Interface Class Code */ -#define USB_CLASS_DATA 0x0A +#define USB_CLASS_DATA 0x0A /* Table 12: Type Values for the bDescriptorType Field */ -#define CS_INTERFACE 0x24 -#define CS_ENDPOINT 0x25 +#define CS_INTERFACE 0x24 +#define CS_ENDPOINT 0x25 -/* Table 13: bDescriptor SubType in Communications Class Functional +/* Table 13: bDescriptor SubType in Communications Class Functional * Descriptors */ -#define USB_CDC_TYPE_HEADER 0x00 +#define USB_CDC_TYPE_HEADER 0x00 #define USB_CDC_TYPE_CALL_MANAGEMENT 0x01 -#define USB_CDC_TYPE_ACM 0x02 +#define USB_CDC_TYPE_ACM 0x02 /* ... */ -#define USB_CDC_TYPE_UNION 0x06 +#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; + u8 bFunctionLength; + u8 bDescriptorType; + u8 bDescriptorSubtype; + u16 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; + u8 bFunctionLength; + u8 bDescriptorType; + u8 bDescriptorSubtype; + u8 bControlInterface; + u8 bSubordinateInterface0; /* ... */ } __attribute__((packed)); @@ -80,19 +80,19 @@ struct usb_cdc_union_descriptor { /* 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; + u8 bFunctionLength; + u8 bDescriptorType; + u8 bDescriptorSubtype; + u8 bmCapabilities; + u8 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; + u8 bFunctionLength; + u8 bDescriptorType; + u8 bDescriptorSubtype; + u8 bmCapabilities; } __attribute__((packed)); /* Table 13: Class-Specific Request Codes for PSTN subclasses */ @@ -104,10 +104,10 @@ struct usb_cdc_acm_descriptor { /* Table 17: Line Coding Structure */ struct usb_cdc_line_coding { - uint32_t dwDTERate; - uint8_t bCharFormat; - uint8_t bParityType; - uint8_t bDataBits; + u32 dwDTERate; + u8 bCharFormat; + u8 bParityType; + u8 bDataBits; } __attribute__((packed)); /* Table 30: Class-Specific Notification Codes for PSTN subclasses */ @@ -115,14 +115,13 @@ struct usb_cdc_line_coding { #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; + u8 bmRequestType; + u8 bNotification; + u16 wValue; + u16 wIndex; + u16 wLength; } __attribute__((packed)); #endif diff --git a/include/usb/dfu.h b/include/usb/dfu.h index cca07cb..2abd230 100644 --- a/include/usb/dfu.h +++ b/include/usb/dfu.h @@ -27,7 +27,7 @@ enum dfu_req { DFU_GETSTATUS, DFU_CLRSTATUS, DFU_GETSTATE, - DFU_ABORT + DFU_ABORT, }; enum dfu_status { @@ -65,17 +65,17 @@ enum dfu_state { #define DFU_FUNCTIONAL 0x21 struct usb_dfu_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bmAttributes; + u8 bLength; + u8 bDescriptorType; + u8 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; + u16 wDetachTimeout; + u16 wTransferSize; + u16 bcdDFUVersion; } __attribute__((packed)); #endif diff --git a/include/usb/hid.h b/include/usb/hid.h index 6804cab..1807a51 100644 --- a/include/usb/hid.h +++ b/include/usb/hid.h @@ -28,11 +28,11 @@ #define USB_DT_REPORT 0x22 struct usb_hid_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t bcdHID; - uint8_t bCountryCode; - uint8_t bNumDescriptors; + u8 bLength; + u8 bDescriptorType; + u16 bcdHID; + u8 bCountryCode; + u8 bNumDescriptors; } __attribute__((packed)); #endif diff --git a/include/usb/usbd.h b/include/usb/usbd.h index c9fac7f..f330c1d 100644 --- a/include/usb/usbd.h +++ b/include/usb/usbd.h @@ -25,47 +25,42 @@ /* Static buffer for control transactions: * This is defined as weak in the library, applicaiton * may provide if a larger buffer is requred. */ -extern uint8_t usbd_control_buffer[]; +extern u8 usbd_control_buffer[]; /* */ extern int usbd_init(const struct usb_device_descriptor *dev, const struct usb_config_descriptor *conf, const char **strings); -extern void usbd_set_control_buffer_size(uint16_t size); +extern void usbd_set_control_buffer_size(u16 size); extern void usbd_register_reset_callback(void (*callback)(void)); extern void usbd_register_suspend_callback(void (*callback)(void)); extern void usbd_register_resume_callback(void (*callback)(void)); -typedef int (*usbd_control_callback)(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len, - void (**complete)(struct usb_setup_data *req)); +typedef int (*usbd_control_callback)(struct usb_setup_data *req, u8 **buf, + u16 *len, void (**complete)(struct usb_setup_data *req)); /* */ -extern int usbd_register_control_callback(uint8_t type, uint8_t type_mask, +extern int usbd_register_control_callback(u8 type, u8 type_mask, usbd_control_callback callback); /* */ -extern void -usbd_register_set_config_callback(void (*callback)(uint16_t wValue)); - +extern void usbd_register_set_config_callback(void (*callback)(u16 wValue)); /* Functions to be provided by the hardware abstraction layer */ extern void usbd_poll(void); -extern void usbd_ep_setup(uint8_t addr, uint8_t type, uint16_t max_size, - void (*callback)(uint8_t ep)); +extern void usbd_ep_setup(u8 addr, u8 type, u16 max_size, + void (*callback)(u8 ep)); -extern uint16_t -usbd_ep_write_packet(uint8_t addr, const void *buf, uint16_t len); +extern u16 usbd_ep_write_packet(u8 addr, const void *buf, u16 len); -extern uint16_t -usbd_ep_read_packet(uint8_t addr, void *buf, uint16_t len); +extern u16 usbd_ep_read_packet(u8 addr, void *buf, u16 len); -extern void usbd_ep_stall_set(uint8_t addr, uint8_t stall); -extern uint8_t usbd_ep_stall_get(uint8_t addr); +extern void usbd_ep_stall_set(u8 addr, u8 stall); +extern u8 usbd_ep_stall_get(u8 addr); /* Optional */ -extern void usbd_cable_connect(uint8_t on); +extern void usbd_cable_connect(u8 on); #endif diff --git a/include/usb/usbstd.h b/include/usb/usbstd.h index ee969d5..a055a43 100644 --- a/include/usb/usbstd.h +++ b/include/usb/usbstd.h @@ -20,183 +20,185 @@ #ifndef __USBSTD_H #define __USBSTD_H -/* +#include +#include /* TODO: Move elsewhere? */ + +/* * This file contains structure definitions for the USB control structures * defined in chapter 9 of the "Univeral Serial Bus Specification Revision 2.0" * Available from the USB Implementers Forum - http://www.usb.org/ */ -#include - /* USB Setup Data structure - Table 9-2 */ struct usb_setup_data { - uint8_t bmRequestType; - uint8_t bRequest; - uint16_t wValue; - uint16_t wIndex; - uint16_t wLength; + u8 bmRequestType; + u8 bRequest; + u16 wValue; + u16 wIndex; + u16 wLength; } __attribute__((packed)); /* bmRequestType bit definitions */ -#define USB_REQ_TYPE_IN 0x80 -#define USB_REQ_TYPE_STANDARD 0x00 -#define USB_REQ_TYPE_CLASS 0x20 -#define USB_REQ_TYPE_VENDOR 0x40 -#define USB_REQ_TYPE_DEVICE 0x00 -#define USB_REQ_TYPE_INTERFACE 0x01 -#define USB_REQ_TYPE_ENDPOINT 0x02 - -#define USB_REQ_TYPE_DIRECTION 0x80 -#define USB_REQ_TYPE_TYPE 0x60 -#define USB_REQ_TYPE_RECIPIENT 0x1F +#define USB_REQ_TYPE_IN 0x80 +#define USB_REQ_TYPE_STANDARD 0x00 +#define USB_REQ_TYPE_CLASS 0x20 +#define USB_REQ_TYPE_VENDOR 0x40 +#define USB_REQ_TYPE_DEVICE 0x00 +#define USB_REQ_TYPE_INTERFACE 0x01 +#define USB_REQ_TYPE_ENDPOINT 0x02 + +#define USB_REQ_TYPE_DIRECTION 0x80 +#define USB_REQ_TYPE_TYPE 0x60 +#define USB_REQ_TYPE_RECIPIENT 0x1F /* USB Standard Request Codes - Table 9-4 */ -#define USB_REQ_GET_STATUS 0 -#define USB_REQ_CLEAR_FEATURE 1 +#define USB_REQ_GET_STATUS 0 +#define USB_REQ_CLEAR_FEATURE 1 /* Reserved for future use: 2 */ -#define USB_REQ_SET_FEATURE 3 +#define USB_REQ_SET_FEATURE 3 /* Reserved for future use: 3 */ -#define USB_REQ_SET_ADDRESS 5 -#define USB_REQ_GET_DESCRIPTOR 6 -#define USB_REQ_SET_DESCRIPTOR 7 -#define USB_REQ_GET_CONFIGURATION 8 -#define USB_REQ_SET_CONFIGURATION 9 -#define USB_REQ_GET_INTERFACE 10 -#define USB_REQ_SET_INTERFACE 11 -#define USB_REQ_SET_SYNCH_FRAME 12 +#define USB_REQ_SET_ADDRESS 5 +#define USB_REQ_GET_DESCRIPTOR 6 +#define USB_REQ_SET_DESCRIPTOR 7 +#define USB_REQ_GET_CONFIGURATION 8 +#define USB_REQ_SET_CONFIGURATION 9 +#define USB_REQ_GET_INTERFACE 10 +#define USB_REQ_SET_INTERFACE 11 +#define USB_REQ_SET_SYNCH_FRAME 12 /* USB Descriptor Types - Table 9-5 */ -#define USB_DT_DEVICE 1 -#define USB_DT_CONFIGURATION 2 -#define USB_DT_STRING 3 -#define USB_DT_INTERFACE 4 -#define USB_DT_ENDPOINT 5 -#define USB_DT_DEVICE_QUALIFIER 6 +#define USB_DT_DEVICE 1 +#define USB_DT_CONFIGURATION 2 +#define USB_DT_STRING 3 +#define USB_DT_INTERFACE 4 +#define USB_DT_ENDPOINT 5 +#define USB_DT_DEVICE_QUALIFIER 6 #define USB_DT_OTHER_SPEED_CONFIGURATION 7 -#define USB_DT_INTERFACE_POWER 8 +#define USB_DT_INTERFACE_POWER 8 /* USB Standard Feature Selectors - Table 9-6 */ -#define USB_FEAT_ENDPOINT_HALT 0 -#define USB_FEAT_DEVICE_REMOTE_WAKEUP 1 -#define USB_FEAT_TEST_MODE 2 +#define USB_FEAT_ENDPOINT_HALT 0 +#define USB_FEAT_DEVICE_REMOTE_WAKEUP 1 +#define USB_FEAT_TEST_MODE 2 /* Information Returned by a GetStatus() Request to a Device - Figure 9-4 */ -#define USB_DEV_STATUS_SELF_POWERED 0x01 -#define USB_DEV_STATUS_REMOTE_WAKEUP 0x02 +#define USB_DEV_STATUS_SELF_POWERED 0x01 +#define USB_DEV_STATUS_REMOTE_WAKEUP 0x02 /* USB Standard Device Descriptor - Table 9-8 */ struct usb_device_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t bcdUSB; - uint8_t bDeviceClass; - uint8_t bDeviceSubClass; - uint8_t bDeviceProtocol; - uint8_t bMaxPacketSize0; - uint16_t idVendor; - uint16_t idProduct; - uint16_t bcdDevice; - uint8_t iManufacturer; - uint8_t iProduct; - uint8_t iSerialNumber; - uint8_t bNumConfigurations; + u8 bLength; + u8 bDescriptorType; + u16 bcdUSB; + u8 bDeviceClass; + u8 bDeviceSubClass; + u8 bDeviceProtocol; + u8 bMaxPacketSize0; + u16 idVendor; + u16 idProduct; + u16 bcdDevice; + u8 iManufacturer; + u8 iProduct; + u8 iSerialNumber; + u8 bNumConfigurations; } __attribute__((packed)); -#define USB_DT_DEVICE_SIZE sizeof(struct usb_device_descriptor) -/* USB Device_Qualifier Descriptor - Table 9-9 - * Not used in this implementation. +#define USB_DT_DEVICE_SIZE sizeof(struct usb_device_descriptor) + +/* USB Device_Qualifier Descriptor - Table 9-9 + * Not used in this implementation. */ struct usb_device_qualifier_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t bcdUSB; - uint8_t bDeviceClass; - uint8_t bDeviceSubClass; - uint8_t bDeviceProtocol; - uint8_t bMaxPacketSize0; - uint8_t bNumConfigurations; - uint8_t bReserved; + u8 bLength; + u8 bDescriptorType; + u16 bcdUSB; + u8 bDeviceClass; + u8 bDeviceSubClass; + u8 bDeviceProtocol; + u8 bMaxPacketSize0; + u8 bNumConfigurations; + u8 bReserved; } __attribute__((packed)); /* USB Standard Configuration Descriptor - Table 9-10 */ struct usb_config_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t wTotalLength; - uint8_t bNumInterfaces; - uint8_t bConfigurationValue; - uint8_t iConfiguration; - uint8_t bmAttributes; - uint8_t bMaxPower; - + u8 bLength; + u8 bDescriptorType; + u16 wTotalLength; + u8 bNumInterfaces; + u8 bConfigurationValue; + u8 iConfiguration; + u8 bmAttributes; + u8 bMaxPower; + /* Descriptor ends here. The following are used internally: */ const struct usb_interface { int num_altsetting; const struct usb_interface_descriptor *altsetting; } *interface; } __attribute__((packed)); -#define USB_DT_CONFIGURATION_SIZE 9 +#define USB_DT_CONFIGURATION_SIZE 9 /* USB Configuration Descriptor bmAttributes bit definitions */ -#define USB_CONFIG_ATTR_SELF_POWERED 0x40 -#define USB_CONFIG_ATTR_REMOTE_WAKEUP 0x20 +#define USB_CONFIG_ATTR_SELF_POWERED 0x40 +#define USB_CONFIG_ATTR_REMOTE_WAKEUP 0x20 /* Other Speed Configuration is the same as Configuration Descriptor. - * - Table 9-11 + * - Table 9-11 */ /* USB Standard Interface Descriptor - Table 9-12 */ struct usb_interface_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bInterfaceNumber; - uint8_t bAlternateSetting; - uint8_t bNumEndpoints; - uint8_t bInterfaceClass; - uint8_t bInterfaceSubClass; - uint8_t bInterfaceProtocol; - uint8_t iInterface; + u8 bLength; + u8 bDescriptorType; + u8 bInterfaceNumber; + u8 bAlternateSetting; + u8 bNumEndpoints; + u8 bInterfaceClass; + u8 bInterfaceSubClass; + u8 bInterfaceProtocol; + u8 iInterface; /* Descriptor ends here. The following are used internally: */ const struct usb_endpoint_descriptor *endpoint; const void *extra; int extralen; } __attribute__((packed)); -#define USB_DT_INTERFACE_SIZE 9 +#define USB_DT_INTERFACE_SIZE 9 /* USB Standard Endpoint Descriptor - Table 9-13 */ struct usb_endpoint_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint8_t bEndpointAddress; - uint8_t bmAttributes; - uint16_t wMaxPacketSize; - uint8_t bInterval; + u8 bLength; + u8 bDescriptorType; + u8 bEndpointAddress; + u8 bmAttributes; + u16 wMaxPacketSize; + u8 bInterval; } __attribute__((packed)); #define USB_DT_ENDPOINT_SIZE sizeof(struct usb_endpoint_descriptor) /* USB Endpoint Descriptor bmAttributes bit definitions */ -#define USB_ENDPOINT_ATTR_CONTROL 0x00 -#define USB_ENDPOINT_ATTR_ISOCHRONOUS 0x01 -#define USB_ENDPOINT_ATTR_BULK 0x02 -#define USB_ENDPOINT_ATTR_INTERRUPT 0x03 - -#define USB_ENDPOINT_ATTR_NOSYNC 0x00 -#define USB_ENDPOINT_ATTR_ASYNC 0x04 -#define USB_ENDPOINT_ATTR_ADAPTIVE 0x08 -#define USB_ENDPOINT_ATTR_SYNC 0x0C - -#define USB_ENDPOINT_ATTR_DATA 0x00 -#define USB_ENDPOINT_ATTR_FEEDBACK 0x10 +#define USB_ENDPOINT_ATTR_CONTROL 0x00 +#define USB_ENDPOINT_ATTR_ISOCHRONOUS 0x01 +#define USB_ENDPOINT_ATTR_BULK 0x02 +#define USB_ENDPOINT_ATTR_INTERRUPT 0x03 + +#define USB_ENDPOINT_ATTR_NOSYNC 0x00 +#define USB_ENDPOINT_ATTR_ASYNC 0x04 +#define USB_ENDPOINT_ATTR_ADAPTIVE 0x08 +#define USB_ENDPOINT_ATTR_SYNC 0x0C + +#define USB_ENDPOINT_ATTR_DATA 0x00 +#define USB_ENDPOINT_ATTR_FEEDBACK 0x10 #define USB_ENDPOINT_ATTR_IMPLICIT_FEEDBACK_DATA 0x20 -/* Table 9-15 specifies String Descriptor Zero. +/* Table 9-15 specifies String Descriptor Zero. * Table 9-16 specified UNICODE String Descriptor. */ struct usb_string_descriptor { - uint8_t bLength; - uint8_t bDescriptorType; - uint16_t wData[]; + u8 bLength; + u8 bDescriptorType; + u16 wData[]; } __attribute__((packed)); #endif diff --git a/lib/usb/usb.c b/lib/usb/usb.c index c201b3e..410b30c 100644 --- a/lib/usb/usb.c +++ b/lib/usb/usb.c @@ -23,7 +23,7 @@ struct _usbd_device _usbd_device; -uint8_t usbd_control_buffer[128] __attribute__((weak)); +u8 usbd_control_buffer[128] __attribute__((weak)); /** Main initialization entry point. * @@ -77,7 +77,7 @@ void usbd_register_resume_callback(void (*callback)(void)) _usbd_device.user_callback_resume = callback; } -void usbd_set_control_buffer_size(uint16_t size) +void usbd_set_control_buffer_size(u16 size) { _usbd_device.ctrl_buf_len = size; } diff --git a/lib/usb/usb_control.c b/lib/usb/usb_control.c index d1796d9..f410dfa 100644 --- a/lib/usb/usb_control.c +++ b/lib/usb/usb_control.c @@ -29,15 +29,15 @@ static struct usb_control_state { struct usb_setup_data req; - uint8_t *ctrl_buf; - uint16_t ctrl_len; + u8 *ctrl_buf; + u16 ctrl_len; void (*complete)(struct usb_setup_data *req); } control_state; /** Register application callback function for handling of usb control * request. */ -int usbd_register_control_callback(uint8_t type, uint8_t type_mask, +int usbd_register_control_callback(u8 type, u8 type_mask, usbd_control_callback callback) { int i; @@ -76,10 +76,10 @@ static void usb_control_send_chunk(void) static int usb_control_recv_chunk(void) { - uint16_t packetsize = MIN(_usbd_device.desc->bMaxPacketSize0, + u16 packetsize = MIN(_usbd_device.desc->bMaxPacketSize0, control_state.req.wLength - control_state.ctrl_len); - uint16_t size = usbd_ep_read_packet(0, + u16 size = usbd_ep_read_packet(0, control_state.ctrl_buf + control_state.ctrl_len, packetsize); @@ -156,7 +156,7 @@ static void usb_control_setup_write(struct usb_setup_data *req) else control_state.state = LAST_DATA_OUT; } -void _usbd_control_setup(uint8_t ea) +void _usbd_control_setup(u8 ea) { struct usb_setup_data *req = &control_state.req; (void)ea; @@ -177,7 +177,7 @@ void _usbd_control_setup(uint8_t ea) } } -void _usbd_control_out(uint8_t ea) +void _usbd_control_out(u8 ea) { (void)ea; @@ -221,7 +221,7 @@ void _usbd_control_out(uint8_t ea) } } -void _usbd_control_in(uint8_t ea) +void _usbd_control_in(u8 ea) { (void)ea; switch(control_state.state) { diff --git a/lib/usb/usb_f103.c b/lib/usb/usb_f103.c index a23a8e3..82724cf 100644 --- a/lib/usb/usb_f103.c +++ b/lib/usb/usb_f103.c @@ -153,10 +153,10 @@ u8 usbd_ep_stall_get(u8 addr) * @param len Number of bytes to copy. */ static inline void -usb_copy_to_pm(volatile void *vPM, const void *buf, uint16_t len) +usb_copy_to_pm(volatile void *vPM, const void *buf, u16 len) { - const uint16_t *lbuf = buf; - volatile uint16_t *PM = vPM; + const u16 *lbuf = buf; + volatile u16 *PM = vPM; for(len = (len + 1) >> 1; len; PM += 2, lbuf++, len--) *PM = *lbuf; @@ -182,16 +182,16 @@ u16 usbd_ep_write_packet(u8 addr, const void *buf, u16 len) * @param len Number of bytes to copy. */ static inline void -usb_copy_from_pm(void *buf, const volatile void *vPM, uint16_t len) +usb_copy_from_pm(void *buf, const volatile void *vPM, u16 len) { - uint16_t *lbuf = buf; - const volatile uint16_t *PM = vPM; - uint8_t odd = len & 1; + u16 *lbuf = buf; + const volatile u16 *PM = vPM; + u8 odd = len & 1; for(len >>= 1; len; PM += 2, lbuf++, len--) *lbuf = *PM; - if(odd) *(uint8_t*)lbuf = *(uint8_t*)PM; + if(odd) *(u8*)lbuf = *(u8*)PM; } u16 usbd_ep_read_packet(u8 addr, void *buf, u16 len) diff --git a/lib/usb/usb_private.h b/lib/usb/usb_private.h index 453ed77..0780003 100644 --- a/lib/usb/usb_private.h +++ b/lib/usb/usb_private.h @@ -30,13 +30,13 @@ extern struct _usbd_device { const struct usb_config_descriptor *config; const char **strings; - uint8_t *ctrl_buf; /**< Internal buffer used for control transfers */ - uint16_t ctrl_buf_len; + u8 *ctrl_buf; /**< Internal buffer used for control transfers */ + u16 ctrl_buf_len; - uint8_t current_address; - uint8_t current_config; + u8 current_address; + u8 current_config; - uint16_t pm_top; /**< Top of allocated endpoint buffer memory */ + u16 pm_top; /**< Top of allocated endpoint buffer memory */ /* User callback functions for various USB events */ void (*user_callback_reset)(void); @@ -45,14 +45,14 @@ extern struct _usbd_device { struct user_control_callback { usbd_control_callback cb; - uint8_t type; - uint8_t type_mask; + u8 type; + u8 type_mask; } user_control_callback[MAX_USER_CONTROL_CALLBACK]; - void (*user_callback_ctr[8][3])(uint8_t ea); + void (*user_callback_ctr[8][3])(u8 ea); /* User callback function for some standard USB function hooks */ - void (*user_callback_set_config)(uint16_t wValue); + void (*user_callback_set_config)(u16 wValue); } _usbd_device; enum _usbd_transaction { @@ -61,18 +61,18 @@ enum _usbd_transaction { USB_TRANSACTION_SETUP, }; -void _usbd_control_in(uint8_t ea); -void _usbd_control_out(uint8_t ea); -void _usbd_control_setup(uint8_t ea); +void _usbd_control_in(u8 ea); +void _usbd_control_out(u8 ea); +void _usbd_control_setup(u8 ea); int _usbd_standard_request(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len); + u8 **buf, u16 *len); void _usbd_reset(void); /* Functions provided by the hardware abstraction */ void _usbd_hw_init(void); -void _usbd_hw_set_address(uint8_t addr); +void _usbd_hw_set_address(u8 addr); void _usbd_hw_endpoints_reset(void); #endif diff --git a/lib/usb/usb_standard.c b/lib/usb/usb_standard.c index 3e1ff99..0a0981a 100644 --- a/lib/usb/usb_standard.c +++ b/lib/usb/usb_standard.c @@ -21,18 +21,18 @@ #include #include "usb_private.h" -void usbd_register_set_config_callback(void (*callback)(uint16_t wValue)) +void usbd_register_set_config_callback(void (*callback)(u16 wValue)) { _usbd_device.user_callback_set_config = callback; } -static uint16_t -build_config_descriptor(uint8_t index, uint8_t *buf, uint16_t len) +static u16 +build_config_descriptor(u8 index, u8 *buf, u16 len) { - uint8_t *tmpbuf = buf; + u8 *tmpbuf = buf; const struct usb_config_descriptor *cfg = &_usbd_device.config[index]; - uint16_t count, total = 0, totallen = 0; - uint16_t i, j, k; + u16 count, total = 0, totallen = 0; + u16 i, j, k; memcpy(buf, cfg, count = MIN(len, cfg->bLength)); buf += count; len -= count; total += count; totallen += cfg->bLength; @@ -64,19 +64,19 @@ build_config_descriptor(uint8_t index, uint8_t *buf, uint16_t len) } /* Fill in wTotalLength */ - *(uint16_t*)(tmpbuf+2) = totallen; + *(u16*)(tmpbuf+2) = totallen; return total; } static int usb_standard_get_descriptor(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { int i; switch(req->wValue >> 8) { case USB_DT_DEVICE: - *buf = (uint8_t *)_usbd_device.desc; + *buf = (u8 *)_usbd_device.desc; *len = MIN(*len, _usbd_device.desc->bLength); return 1; @@ -97,7 +97,7 @@ static int usb_standard_get_descriptor(struct usb_setup_data *req, * 2 + 2; sd->bDescriptorType = USB_DT_STRING; - *buf = (uint8_t *)sd; + *buf = (u8 *)sd; *len = MIN(*len, sd->bLength); for(i = 0; i < (*len / 2) - 1; i++) @@ -115,7 +115,7 @@ static int usb_standard_get_descriptor(struct usb_setup_data *req, } static int usb_standard_set_address(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { (void)req; (void)buf; @@ -130,7 +130,7 @@ static int usb_standard_set_address(struct usb_setup_data *req, } static int usb_standard_set_configuration(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { (void)req; (void)buf; @@ -151,7 +151,7 @@ static int usb_standard_set_configuration(struct usb_setup_data *req, } static int usb_standard_get_configuration(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { (void)req; @@ -162,7 +162,7 @@ static int usb_standard_get_configuration(struct usb_setup_data *req, } static int usb_standard_set_interface(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { (void)req; (void)buf; @@ -175,7 +175,7 @@ static int usb_standard_set_interface(struct usb_setup_data *req, } static int usb_standard_get_interface(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { (void)req; (void)buf; @@ -188,7 +188,7 @@ static int usb_standard_get_interface(struct usb_setup_data *req, } static int usb_standard_device_get_status(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { (void)req; /* bit 0: self powered */ @@ -201,7 +201,7 @@ static int usb_standard_device_get_status(struct usb_setup_data *req, } static int usb_standard_interface_get_status(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { (void)req; /* not defined */ @@ -214,7 +214,7 @@ static int usb_standard_interface_get_status(struct usb_setup_data *req, } static int usb_standard_endpoint_get_status(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { (void)req; @@ -226,7 +226,7 @@ static int usb_standard_endpoint_get_status(struct usb_setup_data *req, } static int usb_standard_endpoint_stall(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { (void)buf; (void)len; @@ -237,7 +237,7 @@ static int usb_standard_endpoint_stall(struct usb_setup_data *req, } static int usb_standard_endpoint_unstall(struct usb_setup_data *req, - uint8_t **buf, uint16_t *len) + u8 **buf, u16 *len) { (void)buf; (void)len; @@ -247,11 +247,11 @@ static int usb_standard_endpoint_unstall(struct usb_setup_data *req, return 1; } -int _usbd_standard_request_device(struct usb_setup_data *req, uint8_t **buf, - uint16_t *len) +int _usbd_standard_request_device(struct usb_setup_data *req, u8 **buf, + u16 *len) { - int (*command)(struct usb_setup_data *req, uint8_t **buf, - uint16_t *len) = NULL; + int (*command)(struct usb_setup_data *req, u8 **buf, + u16 *len) = NULL; switch(req->bRequest) { case USB_REQ_CLEAR_FEATURE: @@ -292,11 +292,11 @@ int _usbd_standard_request_device(struct usb_setup_data *req, uint8_t **buf, return command(req, buf, len); } -int _usbd_standard_request_interface(struct usb_setup_data *req, uint8_t **buf, - uint16_t *len) +int _usbd_standard_request_interface(struct usb_setup_data *req, u8 **buf, + u16 *len) { - int (*command)(struct usb_setup_data *req, uint8_t **buf, - uint16_t *len) = NULL; + int (*command)(struct usb_setup_data *req, u8 **buf, + u16 *len) = NULL; switch(req->bRequest) { case USB_REQ_CLEAR_FEATURE: @@ -319,11 +319,11 @@ int _usbd_standard_request_interface(struct usb_setup_data *req, uint8_t **buf, return command(req, buf, len); } -int _usbd_standard_request_endpoint(struct usb_setup_data *req, uint8_t **buf, - uint16_t *len) +int _usbd_standard_request_endpoint(struct usb_setup_data *req, u8 **buf, + u16 *len) { - int (*command)(struct usb_setup_data *req, uint8_t **buf, - uint16_t *len) = NULL; + int (*command)(struct usb_setup_data *req, u8 **buf, + u16 *len) = NULL; switch(req->bRequest) { case USB_REQ_CLEAR_FEATURE: @@ -351,8 +351,8 @@ int _usbd_standard_request_endpoint(struct usb_setup_data *req, uint8_t **buf, return command(req, buf, len); } -int _usbd_standard_request(struct usb_setup_data *req, uint8_t **buf, - uint16_t *len) +int _usbd_standard_request(struct usb_setup_data *req, u8 **buf, + u16 *len) { /* FIXME: have class/vendor requests as well */ if((req->bmRequestType & USB_REQ_TYPE_TYPE) != USB_REQ_TYPE_STANDARD) -- cgit v1.2.3