From b3867fe6de429660c34dbe68d22f4514ea0556a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Wed, 2 Mar 2016 20:26:06 +0100 Subject: [PATCH] Remove usb_device_generic_hid_struct_t in favor of a local buffer and buffer index variable. --- right/usb_interface_generic_hid.c | 11 ++++++----- right/usb_interface_generic_hid.h | 7 ------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/right/usb_interface_generic_hid.c b/right/usb_interface_generic_hid.c index b83dba0..c6c38bc 100644 --- a/right/usb_interface_generic_hid.c +++ b/right/usb_interface_generic_hid.c @@ -11,12 +11,13 @@ #include "usb_descriptor_configuration.h" #include "composite.h" -static usb_device_generic_hid_struct_t UsbGenericHidDevice; +static uint8_t GenericHidBuffer[2][USB_GENERIC_HID_IN_BUFFER_LENGTH]; +static uint8_t GenericHidBufferIndex; static usb_status_t UsbReceiveData() { return USB_DeviceHidRecv(UsbCompositeDevice.genericHidHandle, USB_GENERIC_HID_ENDPOINT_OUT_ID, - (uint8_t *)&UsbGenericHidDevice.buffer[UsbGenericHidDevice.bufferIndex][0], + &GenericHidBuffer[GenericHidBufferIndex][0], USB_GENERIC_HID_OUT_BUFFER_LENGTH); } @@ -32,7 +33,7 @@ usb_status_t UsbGenericHidCallback(class_handle_t handle, uint32_t event, void * GPIO_SetPinsOutput(BOARD_LED_GREEN_GPIO, 1U << BOARD_LED_GREEN_GPIO_PIN); GPIO_SetPinsOutput(BOARD_LED_BLUE_GPIO, 1U << BOARD_LED_BLUE_GPIO_PIN); - uint8_t command = (uint8_t)UsbGenericHidDevice.buffer[UsbGenericHidDevice.bufferIndex][0]; + uint8_t command = GenericHidBuffer[GenericHidBufferIndex][0]; switch (command) { case 'r': @@ -47,9 +48,9 @@ usb_status_t UsbGenericHidCallback(class_handle_t handle, uint32_t event, void * } USB_DeviceHidSend(UsbCompositeDevice.genericHidHandle, USB_GENERIC_HID_ENDPOINT_IN_ID, - (uint8_t *)&UsbGenericHidDevice.buffer[UsbGenericHidDevice.bufferIndex][0], + &GenericHidBuffer[GenericHidBufferIndex][0], USB_GENERIC_HID_OUT_BUFFER_LENGTH); - UsbGenericHidDevice.bufferIndex ^= 1U; + GenericHidBufferIndex ^= 1U; return UsbReceiveData(); break; case kUSB_DeviceHidEventGetReport: diff --git a/right/usb_interface_generic_hid.h b/right/usb_interface_generic_hid.h index bad747a..5ce5bfe 100644 --- a/right/usb_interface_generic_hid.h +++ b/right/usb_interface_generic_hid.h @@ -6,13 +6,6 @@ #define USB_GENERIC_HID_IN_BUFFER_LENGTH (64U) #define USB_GENERIC_HID_OUT_BUFFER_LENGTH (64U) -// Typedefs: - - typedef struct _usb_device_generic_hid_struct { - uint32_t buffer[2][USB_GENERIC_HID_IN_BUFFER_LENGTH >> 2]; - uint8_t bufferIndex; - } usb_device_generic_hid_struct_t; - // Functions: extern usb_status_t UsbGenericHidCallback(class_handle_t handle, uint32_t event, void *param);