Rename mouse and keyboard related callbacks and variables.

This commit is contained in:
László Monda
2016-02-25 18:47:36 +01:00
parent 9e52743ba0
commit 23ffb23bd2
8 changed files with 85 additions and 89 deletions

View File

@@ -19,21 +19,21 @@
#include "usb_keyboard_descriptors.h"
#include "usb_mouse_descriptors.h"
static usb_status_t USB_DeviceCallback(usb_device_handle handle, uint32_t event, void *param);
static usb_device_composite_struct_t UsbDeviceComposite;
static usb_status_t UsbDeviceCallback(usb_device_handle handle, uint32_t event, void *param);
static usb_device_composite_struct_t UsbCompositeDevice;
usb_device_class_config_struct_t UsbDeviceCompositeClassConfig[USB_COMPOSITE_INTERFACE_COUNT] = {
{USB_DeviceHidKeyboardCallback, (class_handle_t)NULL, &UsbKeyboardClass},
{USB_DeviceHidMouseCallback, (class_handle_t)NULL, &UsbDeviceMouseClass}
{UsbKeyboardCallback, (class_handle_t)NULL, &UsbKeyboardClass},
{UsbMouseCallback, (class_handle_t)NULL, &UsbMouseClass}
};
usb_device_class_config_list_struct_t g_UsbDeviceCompositeConfigList = {
usb_device_class_config_list_struct_t UsbDeviceCompositeConfigList = {
UsbDeviceCompositeClassConfig,
USB_DeviceCallback,
UsbDeviceCallback,
USB_COMPOSITE_INTERFACE_COUNT,
};
static usb_status_t USB_DeviceCallback(usb_device_handle handle, uint32_t event, void *param)
static usb_status_t UsbDeviceCallback(usb_device_handle handle, uint32_t event, void *param)
{
usb_status_t error = kStatus_USB_Error;
uint16_t *temp16 = (uint16_t *)param;
@@ -45,28 +45,28 @@ static usb_status_t USB_DeviceCallback(usb_device_handle handle, uint32_t event,
switch (event) {
case kUSB_DeviceEventBusReset:
UsbDeviceComposite.attach = 0U;
UsbCompositeDevice.attach = 0U;
error = kStatus_USB_Success;
break;
case kUSB_DeviceEventSetConfiguration:
UsbDeviceComposite.attach = 1U;
UsbDeviceComposite.currentConfiguration = *temp8;
USB_DeviceHidMouseSetConfigure(UsbDeviceComposite.hidMouseHandle, *temp8);
USB_DeviceHidKeyboardSetConfigure(UsbDeviceComposite.hidKeyboardHandle, *temp8);
UsbCompositeDevice.attach = 1U;
UsbCompositeDevice.currentConfiguration = *temp8;
UsbMouseSetConfigure(UsbCompositeDevice.hidMouseHandle, *temp8);
UsbKeyboardSetConfigure(UsbCompositeDevice.hidKeyboardHandle, *temp8);
error = kStatus_USB_Success;
break;
case kUSB_DeviceEventGetConfiguration:
*temp8 = UsbDeviceComposite.currentConfiguration;
*temp8 = UsbCompositeDevice.currentConfiguration;
error = kStatus_USB_Success;
break;
case kUSB_DeviceEventSetInterface:
if (UsbDeviceComposite.attach) {
if (UsbCompositeDevice.attach) {
uint8_t interface = (uint8_t)((*temp16 & 0xFF00U) >> 0x08U);
uint8_t alternateSetting = (uint8_t)(*temp16 & 0x00FFU);
if (interface < USB_COMPOSITE_INTERFACE_COUNT) {
UsbDeviceComposite.currentInterfaceAlternateSetting[interface] = alternateSetting;
USB_DeviceHidMouseSetInterface(UsbDeviceComposite.hidMouseHandle, interface, alternateSetting);
USB_DeviceHidKeyboardSetInterface(UsbDeviceComposite.hidKeyboardHandle, interface,
UsbCompositeDevice.currentInterfaceAlternateSetting[interface] = alternateSetting;
UsbMouseSetInterface(UsbCompositeDevice.hidMouseHandle, interface, alternateSetting);
UsbKeyboardSetInterface(UsbCompositeDevice.hidKeyboardHandle, interface,
alternateSetting);
error = kStatus_USB_Success;
}
@@ -75,7 +75,7 @@ static usb_status_t USB_DeviceCallback(usb_device_handle handle, uint32_t event,
case kUSB_DeviceEventGetInterface: ;
uint8_t interface = (uint8_t)((*temp16 & 0xFF00U) >> 0x08U);
if (interface < USB_COMPOSITE_INTERFACE_COUNT) {
*temp16 = (*temp16 & 0xFF00U) | UsbDeviceComposite.currentInterfaceAlternateSetting[interface];
*temp16 = (*temp16 & 0xFF00U) | UsbCompositeDevice.currentInterfaceAlternateSetting[interface];
error = kStatus_USB_Success;
} else {
error = kStatus_USB_InvalidRequest;
@@ -106,7 +106,7 @@ static usb_status_t USB_DeviceCallback(usb_device_handle handle, uint32_t event,
void USB0_IRQHandler(void)
{
USB_DeviceKhciIsrFunction(UsbDeviceComposite.deviceHandle);
USB_DeviceKhciIsrFunction(UsbCompositeDevice.deviceHandle);
}
static void USB_DeviceApplicationInit(void)
@@ -119,24 +119,24 @@ static void USB_DeviceApplicationInit(void)
CLOCK_EnableUsbfs0Clock(kCLOCK_UsbSrcIrc48M, 48000000U);
// Set composite device to default state.
UsbDeviceComposite.speed = USB_SPEED_FULL;
UsbDeviceComposite.attach = 0U;
UsbDeviceComposite.hidMouseHandle = (class_handle_t)NULL;
UsbDeviceComposite.hidKeyboardHandle = (class_handle_t)NULL;
UsbDeviceComposite.deviceHandle = NULL;
UsbCompositeDevice.speed = USB_SPEED_FULL;
UsbCompositeDevice.attach = 0U;
UsbCompositeDevice.hidMouseHandle = (class_handle_t)NULL;
UsbCompositeDevice.hidKeyboardHandle = (class_handle_t)NULL;
UsbCompositeDevice.deviceHandle = NULL;
usb_status_t deviceStatus = USB_DeviceClassInit(
CONTROLLER_ID, &g_UsbDeviceCompositeConfigList, &UsbDeviceComposite.deviceHandle);
CONTROLLER_ID, &UsbDeviceCompositeConfigList, &UsbCompositeDevice.deviceHandle);
if (kStatus_USB_Success != deviceStatus) {
usb_echo("USB device composite demo init failed\r\n");
return;
} else {
usb_echo("USB device composite demo\r\n");
UsbDeviceComposite.hidKeyboardHandle = g_UsbDeviceCompositeConfigList.config[0].classHandle;
UsbDeviceComposite.hidMouseHandle = g_UsbDeviceCompositeConfigList.config[1].classHandle;
USB_DeviceHidKeyboardInit(&UsbDeviceComposite);
USB_DeviceHidMouseInit(&UsbDeviceComposite);
UsbCompositeDevice.hidKeyboardHandle = UsbDeviceCompositeConfigList.config[0].classHandle;
UsbCompositeDevice.hidMouseHandle = UsbDeviceCompositeConfigList.config[1].classHandle;
UsbKeyboardInit(&UsbCompositeDevice);
UsbMouseInit(&UsbCompositeDevice);
}
// Install ISR, set priority, and enable IRQ.
@@ -144,7 +144,7 @@ static void USB_DeviceApplicationInit(void)
NVIC_EnableIRQ((IRQn_Type)irqNumber);
// Start the device function.
USB_DeviceRun(UsbDeviceComposite.deviceHandle);
USB_DeviceRun(UsbCompositeDevice.deviceHandle);
}
void main(void)

View File

@@ -8,12 +8,10 @@
#include "composite.h"
#include "hid_keyboard.h"
static usb_status_t USB_DeviceHidKeyboardAction(void);
static usb_device_composite_struct_t *UsbCompositeDevice;
static usb_device_hid_keyboard_struct_t UsbKeyboardDevice;
static usb_device_composite_struct_t *s_UsbDeviceComposite;
static usb_device_hid_keyboard_struct_t s_UsbDeviceHidKeyboard;
static usb_status_t USB_DeviceHidKeyboardAction(void)
static usb_status_t UsbKeyboardAction(void)
{
static int x = 0U;
enum {
@@ -22,37 +20,37 @@ static usb_status_t USB_DeviceHidKeyboardAction(void)
};
static uint8_t dir = DOWN;
s_UsbDeviceHidKeyboard.buffer[2] = 0x00U;
UsbKeyboardDevice.buffer[2] = 0x00U;
switch (dir) {
case DOWN:
x++;
if (x > 200U) {
dir++;
s_UsbDeviceHidKeyboard.buffer[2] = KEY_PAGEUP;
UsbKeyboardDevice.buffer[2] = KEY_PAGEUP;
}
break;
case UP:
x--;
if (x < 1U) {
dir = DOWN;
s_UsbDeviceHidKeyboard.buffer[2] = KEY_PAGEDOWN;
UsbKeyboardDevice.buffer[2] = KEY_PAGEDOWN;
}
break;
default:
break;
}
return USB_DeviceHidSend(s_UsbDeviceComposite->hidKeyboardHandle, USB_KEYBOARD_ENDPOINT_IN,
s_UsbDeviceHidKeyboard.buffer, USB_KEYBOARD_REPORT_LENGTH);
return USB_DeviceHidSend(UsbCompositeDevice->hidKeyboardHandle, USB_KEYBOARD_ENDPOINT_IN,
UsbKeyboardDevice.buffer, USB_KEYBOARD_REPORT_LENGTH);
}
usb_status_t USB_DeviceHidKeyboardCallback(class_handle_t handle, uint32_t event, void *param)
usb_status_t UsbKeyboardCallback(class_handle_t handle, uint32_t event, void *param)
{
usb_status_t error = kStatus_USB_Error;
switch (event) {
case kUSB_DeviceHidEventSendResponse:
if (s_UsbDeviceComposite->attach) {
return USB_DeviceHidKeyboardAction();
if (UsbCompositeDevice->attach) {
return UsbKeyboardAction();
}
break;
case kUSB_DeviceHidEventGetReport:
@@ -72,24 +70,24 @@ usb_status_t USB_DeviceHidKeyboardCallback(class_handle_t handle, uint32_t event
return error;
}
usb_status_t USB_DeviceHidKeyboardSetConfigure(class_handle_t handle, uint8_t configure)
usb_status_t UsbKeyboardSetConfigure(class_handle_t handle, uint8_t configure)
{
if (USB_COMPOSITE_CONFIGURE_INDEX == configure) {
return USB_DeviceHidKeyboardAction();
return UsbKeyboardAction();
}
return kStatus_USB_Error;
}
usb_status_t USB_DeviceHidKeyboardSetInterface(class_handle_t handle, uint8_t interface, uint8_t alternateSetting)
usb_status_t UsbKeyboardSetInterface(class_handle_t handle, uint8_t interface, uint8_t alternateSetting)
{
if (USB_KEYBOARD_INTERFACE_INDEX == interface) {
return USB_DeviceHidKeyboardAction();
return UsbKeyboardAction();
}
return kStatus_USB_Error;
}
usb_status_t USB_DeviceHidKeyboardInit(usb_device_composite_struct_t *deviceComposite)
usb_status_t UsbKeyboardInit(usb_device_composite_struct_t *compositeDevice)
{
s_UsbDeviceComposite = deviceComposite;
UsbCompositeDevice = compositeDevice;
return kStatus_USB_Success;
}

View File

@@ -240,9 +240,9 @@
// Functions:
extern usb_status_t USB_DeviceHidKeyboardInit(usb_device_composite_struct_t *deviceComposite);
extern usb_status_t USB_DeviceHidKeyboardCallback(class_handle_t handle, uint32_t event, void *param);
extern usb_status_t USB_DeviceHidKeyboardSetConfigure(class_handle_t handle, uint8_t configure);
extern usb_status_t USB_DeviceHidKeyboardSetInterface(class_handle_t handle, uint8_t interface, uint8_t alternateSetting);
extern usb_status_t UsbKeyboardInit(usb_device_composite_struct_t *deviceComposite);
extern usb_status_t UsbKeyboardCallback(class_handle_t handle, uint32_t event, void *param);
extern usb_status_t UsbKeyboardSetConfigure(class_handle_t handle, uint8_t configure);
extern usb_status_t UsbKeyboardSetInterface(class_handle_t handle, uint8_t interface, uint8_t alternateSetting);
#endif

View File

@@ -8,13 +8,11 @@
#include "composite.h"
#include "hid_mouse.h"
static usb_status_t USB_DeviceHidMouseAction(void);
static usb_device_composite_struct_t *s_UsbDeviceComposite;
static usb_device_hid_mouse_struct_t s_UsbDeviceHidMouse;
static usb_device_composite_struct_t *UsbCompositeDevice;
static usb_device_hid_mouse_struct_t UsbMouseDevice;
/* Update mouse pointer location: draw a rectangular rotation. */
static usb_status_t USB_DeviceHidMouseAction(void)
static usb_status_t UsbMouseAction(void)
{
static int8_t x = 0U;
static int8_t y = 0U;
@@ -29,8 +27,8 @@ static usb_status_t USB_DeviceHidMouseAction(void)
switch (dir) {
case RIGHT:
/* Move right. Increase X value. */
s_UsbDeviceHidMouse.buffer[1] = 1U;
s_UsbDeviceHidMouse.buffer[2] = 0U;
UsbMouseDevice.buffer[1] = 1U;
UsbMouseDevice.buffer[2] = 0U;
x++;
if (x > 99U) {
dir++;
@@ -38,8 +36,8 @@ static usb_status_t USB_DeviceHidMouseAction(void)
break;
case DOWN:
/* Move down. Increase Y value. */
s_UsbDeviceHidMouse.buffer[1] = 0U;
s_UsbDeviceHidMouse.buffer[2] = 1U;
UsbMouseDevice.buffer[1] = 0U;
UsbMouseDevice.buffer[2] = 1U;
y++;
if (y > 99U) {
dir++;
@@ -47,8 +45,8 @@ static usb_status_t USB_DeviceHidMouseAction(void)
break;
case LEFT:
/* Move left. Discrease X value. */
s_UsbDeviceHidMouse.buffer[1] = (uint8_t)(0xFFU);
s_UsbDeviceHidMouse.buffer[2] = 0U;
UsbMouseDevice.buffer[1] = (uint8_t)(0xFFU);
UsbMouseDevice.buffer[2] = 0U;
x--;
if (x < 1U) {
dir++;
@@ -56,8 +54,8 @@ static usb_status_t USB_DeviceHidMouseAction(void)
break;
case UP:
/* Move up. Discrease Y value. */
s_UsbDeviceHidMouse.buffer[1] = 0U;
s_UsbDeviceHidMouse.buffer[2] = (uint8_t)(0xFFU);
UsbMouseDevice.buffer[1] = 0U;
UsbMouseDevice.buffer[2] = (uint8_t)(0xFFU);
y--;
if (y < 1U) {
dir = RIGHT;
@@ -67,19 +65,19 @@ static usb_status_t USB_DeviceHidMouseAction(void)
break;
}
return USB_DeviceHidSend(s_UsbDeviceComposite->hidMouseHandle, USB_MOUSE_ENDPOINT_IN,
s_UsbDeviceHidMouse.buffer, USB_MOUSE_REPORT_LENGTH);
return USB_DeviceHidSend(UsbCompositeDevice->hidMouseHandle, USB_MOUSE_ENDPOINT_IN,
UsbMouseDevice.buffer, USB_MOUSE_REPORT_LENGTH);
}
usb_status_t USB_DeviceHidMouseCallback(class_handle_t handle, uint32_t event, void *param)
usb_status_t UsbMouseCallback(class_handle_t handle, uint32_t event, void *param)
{
usb_status_t error = kStatus_USB_Error;
switch (event)
{
case kUSB_DeviceHidEventSendResponse:
if (s_UsbDeviceComposite->attach) {
return USB_DeviceHidMouseAction();
if (UsbCompositeDevice->attach) {
return UsbMouseAction();
}
break;
case kUSB_DeviceHidEventGetReport:
@@ -99,24 +97,24 @@ usb_status_t USB_DeviceHidMouseCallback(class_handle_t handle, uint32_t event, v
return error;
}
usb_status_t USB_DeviceHidMouseSetConfigure(class_handle_t handle, uint8_t configure)
usb_status_t UsbMouseSetConfigure(class_handle_t handle, uint8_t configure)
{
if (USB_COMPOSITE_CONFIGURE_INDEX == configure) {
return USB_DeviceHidMouseAction();
return UsbMouseAction();
}
return kStatus_USB_Error;
}
usb_status_t USB_DeviceHidMouseSetInterface(class_handle_t handle, uint8_t interface, uint8_t alternateSetting)
usb_status_t UsbMouseSetInterface(class_handle_t handle, uint8_t interface, uint8_t alternateSetting)
{
if (USB_KEYBOARD_INTERFACE_INDEX == interface) {
return USB_DeviceHidMouseAction();
return UsbMouseAction();
}
return kStatus_USB_Error;
}
usb_status_t USB_DeviceHidMouseInit(usb_device_composite_struct_t *deviceComposite)
usb_status_t UsbMouseInit(usb_device_composite_struct_t *compositeDevice)
{
s_UsbDeviceComposite = deviceComposite;
UsbCompositeDevice = compositeDevice;
return kStatus_USB_Success;
}

View File

@@ -10,9 +10,9 @@
// Functions:
extern usb_status_t USB_DeviceHidMouseInit(usb_device_composite_struct_t *deviceComposite);
extern usb_status_t USB_DeviceHidMouseCallback(class_handle_t handle, uint32_t event, void *param);
extern usb_status_t USB_DeviceHidMouseSetConfigure(class_handle_t handle, uint8_t configure);
extern usb_status_t USB_DeviceHidMouseSetInterface(class_handle_t handle, uint8_t interface, uint8_t alternateSetting);
extern usb_status_t UsbMouseInit(usb_device_composite_struct_t *deviceComposite);
extern usb_status_t UsbMouseCallback(class_handle_t handle, uint32_t event, void *param);
extern usb_status_t UsbMouseSetConfigure(class_handle_t handle, uint8_t configure);
extern usb_status_t UsbMouseSetInterface(class_handle_t handle, uint8_t interface, uint8_t alternateSetting);
#endif

View File

@@ -44,22 +44,22 @@
// Functions:
usb_status_t USB_DeviceGetDeviceDescriptor(
extern usb_status_t USB_DeviceGetDeviceDescriptor(
usb_device_handle handle, usb_device_get_device_descriptor_struct_t *deviceDescriptor);
usb_status_t USB_DeviceGetConfigurationDescriptor(
extern usb_status_t USB_DeviceGetConfigurationDescriptor(
usb_device_handle handle, usb_device_get_configuration_descriptor_struct_t *configurationDescriptor);
usb_status_t USB_DeviceGetStringDescriptor(
extern usb_status_t USB_DeviceGetStringDescriptor(
usb_device_handle handle, usb_device_get_string_descriptor_struct_t *stringDescriptor);
usb_status_t USB_DeviceGetHidDescriptor(
extern usb_status_t USB_DeviceGetHidDescriptor(
usb_device_handle handle, usb_device_get_hid_descriptor_struct_t *hidDescriptor);
usb_status_t USB_DeviceGetHidReportDescriptor(
extern usb_status_t USB_DeviceGetHidReportDescriptor(
usb_device_handle handle, usb_device_get_hid_report_descriptor_struct_t *hidReportDescriptor);
usb_status_t USB_DeviceGetHidPhysicalDescriptor(
extern usb_status_t USB_DeviceGetHidPhysicalDescriptor(
usb_device_handle handle, usb_device_get_hid_physical_descriptor_struct_t *hidPhysicalDescriptor);
#endif

View File

@@ -34,7 +34,7 @@ static usb_device_interface_list_t UsbMouseInterfaceList[USB_DEVICE_CONFIGURATIO
UsbMouseInterfaces,
}};
usb_device_class_struct_t UsbDeviceMouseClass = {
usb_device_class_struct_t UsbMouseClass = {
UsbMouseInterfaceList,
kUSB_DeviceClassTypeHid,
USB_DEVICE_CONFIGURATION_COUNT,

View File

@@ -23,7 +23,7 @@
// Variables:
extern usb_device_class_struct_t UsbDeviceMouseClass;
extern usb_device_class_struct_t UsbMouseClass;
extern uint8_t UsbMouseReportDescriptor[USB_MOUSE_REPORT_DESCRIPTOR_LENGTH];
extern uint8_t UsbMouseString[USB_MOUSE_STRING_DESCRIPTOR_LENGTH];