Explode GenericHidBuffer[2] as GenericHidInBuffer and GenericHidOutBuffer.
This commit is contained in:
@@ -43,16 +43,18 @@ usb_device_class_struct_t UsbGenericHidClass = {
|
|||||||
USB_DEVICE_CONFIGURATION_COUNT,
|
USB_DEVICE_CONFIGURATION_COUNT,
|
||||||
};
|
};
|
||||||
|
|
||||||
static uint8_t GenericHidBuffer[2][USB_GENERIC_HID_IN_BUFFER_LENGTH];
|
static uint8_t GenericHidInBuffer[USB_GENERIC_HID_IN_BUFFER_LENGTH];
|
||||||
static uint8_t GenericHidBufferIndex;
|
static uint8_t GenericHidOutBuffer[USB_GENERIC_HID_OUT_BUFFER_LENGTH];
|
||||||
|
|
||||||
static usb_status_t UsbReceiveData()
|
static usb_status_t UsbReceiveData()
|
||||||
{
|
{
|
||||||
return USB_DeviceHidRecv(UsbCompositeDevice.genericHidHandle, USB_GENERIC_HID_ENDPOINT_OUT_INDEX,
|
return USB_DeviceHidRecv(UsbCompositeDevice.genericHidHandle,
|
||||||
&GenericHidBuffer[GenericHidBufferIndex][0],
|
USB_GENERIC_HID_ENDPOINT_OUT_INDEX,
|
||||||
|
GenericHidInBuffer,
|
||||||
USB_GENERIC_HID_OUT_BUFFER_LENGTH);
|
USB_GENERIC_HID_OUT_BUFFER_LENGTH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t x=0;
|
||||||
usb_status_t UsbGenericHidCallback(class_handle_t handle, uint32_t event, void *param)
|
usb_status_t UsbGenericHidCallback(class_handle_t handle, uint32_t event, void *param)
|
||||||
{
|
{
|
||||||
usb_status_t error = kStatus_USB_Error;
|
usb_status_t error = kStatus_USB_Error;
|
||||||
@@ -63,13 +65,13 @@ usb_status_t UsbGenericHidCallback(class_handle_t handle, uint32_t event, void *
|
|||||||
break;
|
break;
|
||||||
case kUSB_DeviceHidEventRecvResponse:
|
case kUSB_DeviceHidEventRecvResponse:
|
||||||
|
|
||||||
command = GenericHidBuffer[GenericHidBufferIndex][0];
|
command = GenericHidInBuffer[0];
|
||||||
arg = GenericHidBuffer[GenericHidBufferIndex][1];
|
arg = GenericHidInBuffer[1];
|
||||||
|
|
||||||
switch (command) {
|
switch (command) {
|
||||||
case USB_COMMAND_JUMP_TO_BOOTLOADER:
|
case USB_COMMAND_JUMP_TO_BOOTLOADER:
|
||||||
break;
|
break;
|
||||||
case USB_COMMAND_TEST_LED:
|
case USB_COMMAND_TEST_LED:
|
||||||
switch (arg) {
|
switch (arg) {
|
||||||
case 0:
|
case 0:
|
||||||
TEST_RED_ON();
|
TEST_RED_ON();
|
||||||
@@ -77,19 +79,20 @@ usb_status_t UsbGenericHidCallback(class_handle_t handle, uint32_t event, void *
|
|||||||
case 1:
|
case 1:
|
||||||
TEST_RED_OFF();
|
TEST_RED_OFF();
|
||||||
break;
|
break;
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
GenericHidOutBuffer[0]=arg;
|
||||||
|
GenericHidOutBuffer[1]=arg;
|
||||||
|
GenericHidOutBuffer[2]=0x66+x++;
|
||||||
case USB_COMMAND_LED_DRIVER:
|
case USB_COMMAND_LED_DRIVER:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
USB_DeviceHidSend(UsbCompositeDevice.genericHidHandle, USB_GENERIC_HID_ENDPOINT_IN_INDEX,
|
USB_DeviceHidSend(UsbCompositeDevice.genericHidHandle,
|
||||||
&GenericHidBuffer[GenericHidBufferIndex][0],
|
USB_GENERIC_HID_ENDPOINT_IN_INDEX,
|
||||||
|
GenericHidOutBuffer,
|
||||||
USB_GENERIC_HID_OUT_BUFFER_LENGTH);
|
USB_GENERIC_HID_OUT_BUFFER_LENGTH);
|
||||||
GenericHidBufferIndex ^= 1U;
|
|
||||||
return UsbReceiveData();
|
return UsbReceiveData();
|
||||||
break;
|
break;
|
||||||
case kUSB_DeviceHidEventGetReport:
|
case kUSB_DeviceHidEventGetReport:
|
||||||
|
|||||||
Reference in New Issue
Block a user