/** * @brief Configures the board hardware and chip peripherals for the demo's functionality * @return Nothing */ static void SetupHardware(void) { Board_Init(); Board_Buttons_Init(); Board_Joystick_Init(); USB_Init(Mouse_HID_Interface.Config.PortNumber, USB_MODE_Device); #if defined(USB_DEVICE_ROM_DRIVER) UsbdHid_Init(); #endif }
/* Configures the board hardware and chip peripherals for the demo's functionality */ static void SetupHardware(void) { SystemCoreClockUpdate(); Board_Init(); Board_Buttons_Init(); Board_Joystick_Init(); USB_Init(Generic_HID_Interface.Config.PortNumber, USB_MODE_Device); #if defined(USB_DEVICE_ROM_DRIVER) UsbdHid_Init(); #endif }
/* HID mouse interface init routine */ ErrorCode_t Mouse_Init(USBD_HANDLE_T hUsb, USB_INTERFACE_DESCRIPTOR *pIntfDesc, uint32_t *mem_base, uint32_t *mem_size) { USBD_HID_INIT_PARAM_T hid_param; USB_HID_REPORT_T reports_data[1]; ErrorCode_t ret = LPC_OK; /* Do a quick check of if the interface descriptor passed is the right one. */ if ((pIntfDesc == 0) || (pIntfDesc->bInterfaceClass != USB_DEVICE_CLASS_HUMAN_INTERFACE)) { return ERR_FAILED; } /* init joystick control */ Board_Buttons_Init(); Board_Joystick_Init(); /* Init HID params */ memset((void *) &hid_param, 0, sizeof(USBD_HID_INIT_PARAM_T)); hid_param.max_reports = 1; hid_param.mem_base = *mem_base; hid_param.mem_size = *mem_size; hid_param.intf_desc = (uint8_t *) pIntfDesc; /* user defined functions */ hid_param.HID_GetReport = Mouse_GetReport; hid_param.HID_SetReport = Mouse_SetReport; hid_param.HID_EpIn_Hdlr = Mouse_EpIN_Hdlr; /* Init reports_data */ reports_data[0].len = Mouse_ReportDescSize; reports_data[0].idle_time = 0; reports_data[0].desc = (uint8_t *) &Mouse_ReportDescriptor[0]; hid_param.report_data = reports_data; ret = USBD_API->hid->init(hUsb, &hid_param); /* update memory variables */ *mem_base = hid_param.mem_base; *mem_size = hid_param.mem_size; /* store stack handle for later use. */ g_mouse.hUsb = hUsb; g_mouse.tx_busy = 0; return ret; }