ifndef _USBDEFS_INC_ define _USBDEFS_INC_ define USBDRV_VERSION 200805

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#ifndef _USBDEFS_INC_
#define _USBDEFS_INC_
#define USBDRV_VERSION 20080513
#if USB_CFG_LONG_TRANSFERS
#define usbMsgLen_t 16
#else
#define usbMsgLen_t 8
#endif
#define USB_NO_MSG ((usbMsgLen_t)-1)
#ifdef USB_CFG_PULLUP_IOPORTNAME
usbDeviceConnect:
sbi USB_PULLUP_DDR,USB_CFG_PULLUP_BIT
sbi USB_PULLUP_OUT,USB_CFG_PULLUP_BIT
usbDeviceDisconnect:
cbi USB_PULLUP_DDR,USB_CFG_PULLUP_BIT
cbi USB_PULLUP_OUT,USB_CFG_PULLUP_BIT
#else
usbDeviceConnect:
cbi USBDDR,USBMINUS
usbDeviceDisconnect:
sbi USBDDR,USBMINUS
#endif
/*--- Definitions for Descriptor Properties ---*/
#define USB_PROP_IS_DYNAMIC (1 << 14)
#define USB_PROP_IS_RAM (1 << 15)
#define USB_PROP_LENGTH(len) ((len) & 0x3fff)
#ifndef USB_CFG_DESCR_PROPS_DEVICE
#define USB_CFG_DESCR_PROPS_DEVICE 0
#endif
#ifndef USB_CFG_DESCR_PROPS_CONFIGURATION
#define USB_CFG_DESCR_PROPS_CONFIGURATION 0
#endif
#ifndef USB_CFG_DESCR_PROPS_STRINGS
#define USB_CFG_DESCR_PROPS_STRINGS 0
#endif
#ifndef USB_CFG_DESCR_PROPS_STRING_0
#define USB_CFG_DESCR_PROPS_STRING_0 0
#endif
#ifndef USB_CFG_DESCR_PROPS_STRING_VENDOR
#define USB_CFG_DESCR_PROPS_STRING_VENDOR 0
#endif
#ifndef USB_CFG_DESCR_PROPS_STRING_PRODUCT
#define USB_CFG_DESCR_PROPS_STRING_PRODUCT 0
#endif
#ifndef USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER
#define USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER 0
#endif
#ifndef USB_CFG_DESCR_PROPS_HID
#define USB_CFG_DESCR_PROPS_HID 0
#endif
#if !(USB_CFG_DESCR_PROPS_HID_REPORT)
#undef USB_CFG_DESCR_PROPS_HID_REPORT
#if USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH /* do some backward compatibility tricks */
#define USB_CFG_DESCR_PROPS_HID_REPORT USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH
#else
#define USB_CFG_DESCR_PROPS_HID_REPORT 0
#endif
#endif
#ifndef USB_CFG_DESCR_PROPS_UNKNOWN
#define USB_CFG_DESCR_PROPS_UNKNOWN 0
#endif
/*--- General purpose macros ---*/
/*--- USB Specification Constants and Types ---*/
#define USB_BUFSIZE 0x0B
#define USBPID_SETUP 0x2D
#define USBPID_OUT 0xE1
#define USBPID_IN 0x69
#define USBPID_DATA0 0xC3
#define USBPID_DATA1 0x4B
#define USBPID_ACK 0xD2
#define USBPID_NAK 0x5A
#define USBPID_STALL 0x1E
/* Cia?aiey iieo?aoaey USB setup */
#define USBRQ_RCPT_MASK 0x1f
#define USBRQ_RCPT_DEVICE 0
#define USBRQ_RCPT_INTERFACE 1
#define USBRQ_RCPT_ENDPOINT 2
/* Cia?aiey oeia cai?ina USB */
#define USBRQ_TYPE_MASK 0x60
#define USBRQ_TYPE_STANDARD (0<<5)
#define USBRQ_TYPE_CLASS (1<<5)
#define USBRQ_TYPE_VENDOR (2<<5)
/* Cia?aiey iai?aaeaiey USB: */
#define USBRQ_DIR_MASK 0x80
#define USBRQ_DIR_HOST_TO_DEVICE (0<<7)
#define USBRQ_DIR_DEVICE_TO_HOST (1<<7)
/* Noaiaa?oiua cai?inu USB */
#define USBRQ_GET_STATUS 0
#define USBRQ_CLEAR_FEATURE 1
#define USBRQ_SET_FEATURE 3
#define USBRQ_SET_ADDRESS 5
#define USBRQ_GET_DESCRIPTOR 6
#define USBRQ_SET_DESCRIPTOR 7
#define USBRQ_GET_CONFIGURATION 8
#define USBRQ_SET_CONFIGURATION 9
#define USBRQ_GET_INTERFACE 10
#define USBRQ_SET_INTERFACE 11
#define USBRQ_SYNCH_FRAME 12
/* Eiinoaiou aane?eioi?a USB */
#define USBDESCR_DEVICE 1
#define USBDESCR_CONFIG 2
#define USBDESCR_STRING 3
#define USBDESCR_INTERFACE 4
#define USBDESCR_ENDPOINT 5
#define USBDESCR_HID 0x21
#define USBDESCR_HID_REPORT 0x22
#define USBDESCR_HID_PHYS 0x23
#define USBATTR_BUSPOWER 0x80
#define USBATTR_SELFPOWER 0x40
#define USBATTR_REMOTEWAKE 0x20
/* Cai?inu USB HID */
#define USBRQ_HID_GET_REPORT 0x01
#define USBRQ_HID_GET_IDLE 0x02
#define USBRQ_HID_GET_PROTOCOL 0x03
#define USBRQ_HID_SET_REPORT 0x09
#define USBRQ_HID_SET_IDLE 0x0a
#define USBRQ_HID_SET_PROTOCOL 0x0b
#endif /* _USBDEF_INC_ */