1, // bNumConfigurations }; #pragma data_alignment=4 const Int8U UsbFS_Cfg0[] = { // Configuration Descriptor // bLength sizeof(UsbStandardConfigurationDescriptor_t), // bDescriptorType UsbDescriptorConfiguration, // wTotalLength _2BL(sizeof(UsbStandardConfigurationDescriptor_t)+ (2 * sizeof(UsbStandardInterfaceDescriptor_t))+ sizeof(CDC_HeaderFuncDescriptor_t)+ sizeof(CDC_CallManagementFuncDescriptor_t)+ sizeof(CDC_AbstrCtrlFuncDescriptor_t)+ (sizeof(CDC_UnionFuncDescriptor_t)+1)+ (3 * sizeof(UsbStandardEpDescriptor_t))), // bNumInterfaces 2, // bConfigurationValue 1, // iConfiguration 0, // bmAttributes UsbConfigurationCommmonAttr, // bMaxPower UsbConfigPower_mA(100), // Interface Descriptors AbstractControlModel
0x26,0xff,0x00, // Logical Maximum (255) 0x09,0x01, // Usage 1 0x75,0x08, // Report Size 8-bits 0x95,70, // Report Count 70-bytes 0xB1,0x02, // Feature (Data,Var,Abs) 0xC0 // End collection }; #pragma data_alignment=4 const Int8U UsbHidDescriptor[] = { sizeof(UsbHidDescriptor_t), Hid, _2BL(0x0111), 0, // country code 1, // num of RepDiscriptors HidReport, // type of RepDiscriptors _2BL(sizeof(HidReportDescriptor)) // len of RepDiscriptor }; #pragma data_alignment=4 const UsbStandardInterfaceDescriptor_t UsbStandardInterfaceDescriptor[] = { sizeof(UsbStandardInterfaceDescriptor_t), UsbDescriptorInterface, 0, 0, 0, // num end points UsbDeviceClassHumanInterface,