48 lines
1.5 KiB
C
48 lines
1.5 KiB
C
#include "usb_device_config.h"
|
|
#include "usb.h"
|
|
#include "usb_device.h"
|
|
#include "include/usb/usb_device_class.h"
|
|
#include "include/usb/usb_device_hid.h"
|
|
#include "usb_descriptor_device.h"
|
|
#include "usb_class_generic_hid.h"
|
|
|
|
static usb_device_endpoint_struct_t UsbGenericHidEndpoints[USB_GENERIC_HID_ENDPOINT_COUNT] =
|
|
{
|
|
{
|
|
USB_GENERIC_HID_ENDPOINT_IN_ID | (USB_IN << USB_DESCRIPTOR_ENDPOINT_ADDRESS_DIRECTION_SHIFT),
|
|
USB_ENDPOINT_INTERRUPT,
|
|
USB_GENERIC_HID_INTERRUPT_IN_PACKET_SIZE,
|
|
},
|
|
{
|
|
USB_GENERIC_HID_ENDPOINT_OUT_ID | (USB_OUT << USB_DESCRIPTOR_ENDPOINT_ADDRESS_DIRECTION_SHIFT),
|
|
USB_ENDPOINT_INTERRUPT,
|
|
USB_GENERIC_HID_INTERRUPT_OUT_PACKET_SIZE,
|
|
}
|
|
};
|
|
|
|
static usb_device_interface_struct_t UsbGenericHidInterface[] = {{
|
|
USB_GENERIC_HID_INTERFACE_ALTERNATE_SETTING,
|
|
{USB_GENERIC_HID_ENDPOINT_COUNT, UsbGenericHidEndpoints},
|
|
NULL,
|
|
}};
|
|
|
|
static usb_device_interfaces_struct_t UsbGenericHidInterfaces[USB_GENERIC_HID_INTERFACE_COUNT] = {{
|
|
USB_GENERIC_HID_CLASS,
|
|
USB_GENERIC_HID_SUBCLASS,
|
|
USB_GENERIC_HID_PROTOCOL,
|
|
USB_GENERIC_HID_INTERFACE_INDEX,
|
|
UsbGenericHidInterface,
|
|
sizeof(UsbGenericHidInterface) / sizeof(usb_device_interfaces_struct_t),
|
|
}};
|
|
|
|
static usb_device_interface_list_t UsbGenericHidInterfaceList[USB_DEVICE_CONFIGURATION_COUNT] = {{
|
|
USB_GENERIC_HID_INTERFACE_COUNT,
|
|
UsbGenericHidInterfaces,
|
|
}};
|
|
|
|
usb_device_class_struct_t UsbGenericHidClass = {
|
|
UsbGenericHidInterfaceList,
|
|
kUSB_DeviceClassTypeHid,
|
|
USB_DEVICE_CONFIGURATION_COUNT,
|
|
};
|