0x01,0x00, // Device release number (0001)\r
0x01, // iManufacturer // 0x01\r
0x00, // iProduct\r
- 0x00, // SerialNumber\r
+ 0xFD, // SerialNumber\r
0x01 // bNumConfigs\r
};\r
\r
0x01, // CbConfigurationValue\r
0x00, // CiConfiguration\r
0xC0, // CbmAttributes 0xA0\r
- 0x00, // CMaxPower\r
+ 0xFA, // CMaxPower\r
\r
/* Communication Class Interface Descriptor Requirement */\r
0x09, // bLength\r
0x01, // bNumEndpoints\r
0x02, // bInterfaceClass\r
0x02, // bInterfaceSubclass\r
- 0x00, // bInterfaceProtocol\r
+ 0x01, // bInterfaceProtocol\r
0x00, // iInterface\r
\r
/* Header Functional Descriptor */\r
0x04, // bFunctionLength\r
0x24, // bDescriptor Type: CS_INTERFACE\r
0x02, // bDescriptor Subtype: ACM Func Desc\r
- 0x00, // bmCapabilities\r
+ 0x02, // bmCapabilities\r
\r
/* Union Functional Descriptor */\r
0x05, // bFunctionLength\r
// Clear flags in the UDP_CSR register and waits for synchronization\r
#define UDP_CLEAR_EP_FLAGS(endpoint, flags) { \\r
volatile unsigned int reg; \\r
- reg = pUdp->UDP_CSR[endpoint]; \\r
+ reg = pUdp->UDP_CSR[(endpoint)]; \\r
reg |= REG_NO_EFFECT_1_ALL; \\r
reg &= ~(flags); \\r
- pUdp->UDP_CSR[endpoint] = reg; \\r
- while ( (pUdp->UDP_CSR[endpoint] & (flags)) == (flags)); \\r
-}\r
+ pUdp->UDP_CSR[(endpoint)] = reg; \\r
+ while ( (pUdp->UDP_CSR[(endpoint)] & (flags)) == (flags)); \\r
+} \\r
\r
// reset flags in the UDP_CSR register and waits for synchronization\r
#define UDP_SET_EP_FLAGS(endpoint, flags) { \\r
volatile unsigned int reg; \\r
- reg = pUdp->UDP_CSR[endpoint]; \\r
+ reg = pUdp->UDP_CSR[(endpoint)]; \\r
reg |= REG_NO_EFFECT_1_ALL; \\r
reg |= (flags); \\r
- pUdp->UDP_CSR[endpoint] = reg; \\r
- while ( ( pUdp->UDP_CSR[endpoint] & (flags)) != (flags)); \\r
-}\r
+ pUdp->UDP_CSR[(endpoint)] = reg; \\r
+ while ( ( pUdp->UDP_CSR[(endpoint)] & (flags)) != (flags)); \\r
+} \\r
\r
\r
/* USB standard request code */\r