www.pudn.com > USB_HID.rar > usbuser.c


/*---------------------------------------------------------------------------- 
 *      U S B  -  K e r n e l 
 *---------------------------------------------------------------------------- 
 *      Name:    USBUSER.C 
 *      Purpose: USB Custom User Module 
 *      Version: V1.03 
 *---------------------------------------------------------------------------- 
 *      This file is part of the uVision/ARM development tools. 
 *      Copyright (c) 2005 Keil Software. All rights reserved. 
 *---------------------------------------------------------------------------*/ 
 
#include                         /* LPC214x definitions */ 
 
#include "type.h" 
 
#include "usb.h" 
#include "usbcfg.h" 
#include "usbhw.h" 
#include "usbcore.h" 
#include "usbuser.h" 
 
#include "demo.h" 
 
 
/* 
 *  USB Power Event Callback 
 *   Called automatically on USB Power Event 
 *    Parameter:       power: On(TRUE)/Off(FALSE) 
 */ 
 
#if USB_POWER_EVENT 
void USB_Power_Event (BOOL  power) { 
  power; 
} 
#endif 
 
 
/* 
 *  USB Reset Event Callback 
 *   Called automatically on USB Reset Event 
 */ 
 
#if USB_RESET_EVENT 
void USB_Reset_Event (void) { 
  USB_ResetCore(); 
} 
#endif 
 
 
/* 
 *  USB Suspend Event Callback 
 *   Called automatically on USB Suspend Event 
 */ 
 
#if USB_SUSPEND_EVENT 
void USB_Suspend_Event (void) { 
} 
#endif 
 
 
/* 
 *  USB Resume Event Callback 
 *   Called automatically on USB Resume Event 
 */ 
 
#if USB_RESUME_EVENT 
void USB_Resume_Event (void) { 
} 
#endif 
 
 
/* 
 *  USB Remote Wakeup Event Callback 
 *   Called automatically on USB Remote Wakeup Event 
 */ 
 
#if USB_WAKEUP_EVENT 
void USB_WakeUp_Event (void) { 
} 
#endif 
 
 
/* 
 *  USB Start of Frame Event Callback 
 *   Called automatically on USB Start of Frame Event 
 */ 
 
#if USB_SOF_EVENT 
void USB_SOF_Event (void) { 
} 
#endif 
 
 
/* 
 *  USB Error Event Callback 
 *   Called automatically on USB Error Event 
 *    Parameter:       error: Error Code 
 */ 
 
#if USB_ERROR_EVENT 
void USB_Error_Event (DWORD error) { 
  error; 
} 
#endif 
 
 
/* 
 *  USB Set Configuration Event Callback 
 *   Called automatically on USB Set Configuration Request 
 */ 
 
#if USB_CONFIGURE_EVENT 
void USB_Configure_Event (void) { 
 
  if (USB_Configuration) {                  /* Check if USB is configured */ 
    GetInReport(); 
    USB_WriteEP(0x81, &InReport, sizeof(InReport)); 
  } 
} 
#endif 
 
 
/* 
 *  USB Set Interface Event Callback 
 *   Called automatically on USB Set Interface Request 
 */ 
 
#if USB_INTERFACE_EVENT 
void USB_Interface_Event (void) { 
} 
#endif 
 
 
/* 
 *  USB Set/Clear Feature Event Callback 
 *   Called automatically on USB Set/Clear Feature Request 
 */ 
 
#if USB_FEATURE_EVENT 
void USB_Feature_Event (void) { 
} 
#endif 
 
 
#define P_EP(n) ((USB_EP_EVENT & (1 << (n))) ? USB_EndPoint##n : NULL) 
 
/* USB Endpoint Events Callback Pointers */ 
void (* const USB_P_EP[16]) (DWORD event) = { 
  P_EP(0), 
  P_EP(1), 
  P_EP(2), 
  P_EP(3), 
  P_EP(4), 
  P_EP(5), 
  P_EP(6), 
  P_EP(7), 
  P_EP(8), 
  P_EP(9), 
  P_EP(10), 
  P_EP(11), 
  P_EP(12), 
  P_EP(13), 
  P_EP(14), 
  P_EP(15), 
}; 
 
 
/* 
 *  USB Endpoint 1 Event Callback 
 *   Called automatically on USB Endpoint 1 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint1 (DWORD event) { 
 
  switch (event) { 
    case USB_EVT_IN: 
      GetInReport(); 
      USB_WriteEP(0x81, &InReport, sizeof(InReport)); 
      break; 
  } 
} 
 
 
/* 
 *  USB Endpoint 2 Event Callback 
 *   Called automatically on USB Endpoint 2 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint2 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 3 Event Callback 
 *   Called automatically on USB Endpoint 3 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint3 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 4 Event Callback 
 *   Called automatically on USB Endpoint 4 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint4 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 5 Event Callback 
 *   Called automatically on USB Endpoint 5 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint5 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 6 Event Callback 
 *   Called automatically on USB Endpoint 6 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint6 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 7 Event Callback 
 *   Called automatically on USB Endpoint 7 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint7 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 8 Event Callback 
 *   Called automatically on USB Endpoint 8 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint8 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 9 Event Callback 
 *   Called automatically on USB Endpoint 9 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint9 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 10 Event Callback 
 *   Called automatically on USB Endpoint 10 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint10 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 11 Event Callback 
 *   Called automatically on USB Endpoint 11 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint11 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 12 Event Callback 
 *   Called automatically on USB Endpoint 12 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint12 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 13 Event Callback 
 *   Called automatically on USB Endpoint 13 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint13 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 14 Event Callback 
 *   Called automatically on USB Endpoint 14 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint14 (DWORD event) { 
  event; 
} 
 
 
/* 
 *  USB Endpoint 15 Event Callback 
 *   Called automatically on USB Endpoint 15 Event 
 *    Parameter:       event 
 */ 
 
void USB_EndPoint15 (DWORD event) { 
  event; 
}