initial usb
[rapper.git] / new_cmsis / usb / usbuser.c
diff --git a/new_cmsis/usb/usbuser.c b/new_cmsis/usb/usbuser.c
new file mode 100755 (executable)
index 0000000..03ade78
--- /dev/null
@@ -0,0 +1,336 @@
+/*----------------------------------------------------------------------------\r
+ *      U S B  -  K e r n e l\r
+ *----------------------------------------------------------------------------\r
+ * Name:    usbuser.c\r
+ * Purpose: USB Custom User Module\r
+ * Version: V1.20\r
+ *----------------------------------------------------------------------------\r
+ *      This software is supplied "AS IS" without any warranties, express,\r
+ *      implied or statutory, including but not limited to the implied\r
+ *      warranties of fitness for purpose, satisfactory quality and\r
+ *      noninfringement. Keil extends you a royalty-free right to reproduce\r
+ *      and distribute executable files created using this software for use\r
+ *      on NXP Semiconductors LPC family microcontroller devices only. Nothing\r
+ *      else gives you the right to use this software.\r
+ *\r
+ * Copyright (c) 2009 Keil - An ARM Company. All rights reserved.\r
+ *---------------------------------------------------------------------------*/\r
+#include "lpc_types.h"\r
+\r
+#include "usb.h"\r
+#include "usbcfg.h"\r
+#include "usbhw.h"\r
+#include "usbcore.h"\r
+#include "usbuser.h"\r
+#include "cdcuser.h"\r
+\r
+\r
+/*\r
+ *  USB Power Event Callback\r
+ *   Called automatically on USB Power Event\r
+ *    Parameter:       power: On(TRUE)/Off(FALSE)\r
+ */\r
+\r
+#if USB_POWER_EVENT\r
+void USB_Power_Event (uint32_t  power) {\r
+}\r
+#endif\r
+\r
+\r
+/*\r
+ *  USB Reset Event Callback\r
+ *   Called automatically on USB Reset Event\r
+ */\r
+\r
+#if USB_RESET_EVENT\r
+void USB_Reset_Event (void) {\r
+  USB_ResetCore();\r
+}\r
+#endif\r
+\r
+\r
+/*\r
+ *  USB Suspend Event Callback\r
+ *   Called automatically on USB Suspend Event\r
+ */\r
+\r
+#if USB_SUSPEND_EVENT\r
+void USB_Suspend_Event (void) {\r
+}\r
+#endif\r
+\r
+\r
+/*\r
+ *  USB Resume Event Callback\r
+ *   Called automatically on USB Resume Event\r
+ */\r
+\r
+#if USB_RESUME_EVENT\r
+void USB_Resume_Event (void) {\r
+}\r
+#endif\r
+\r
+\r
+/*\r
+ *  USB Remote Wakeup Event Callback\r
+ *   Called automatically on USB Remote Wakeup Event\r
+ */\r
+\r
+#if USB_WAKEUP_EVENT\r
+void USB_WakeUp_Event (void) {\r
+}\r
+#endif\r
+\r
+\r
+/*\r
+ *  USB Start of Frame Event Callback\r
+ *   Called automatically on USB Start of Frame Event\r
+ */\r
+\r
+#if USB_SOF_EVENT\r
+void USB_SOF_Event (void) {\r
+}\r
+#endif\r
+\r
+\r
+/*\r
+ *  USB Error Event Callback\r
+ *   Called automatically on USB Error Event\r
+ *    Parameter:       error: Error Code\r
+ */\r
+\r
+#if USB_ERROR_EVENT\r
+void USB_Error_Event (uint32_t error) {\r
+}\r
+#endif\r
+\r
+\r
+/*\r
+ *  USB Set Configuration Event Callback\r
+ *   Called automatically on USB Set Configuration Request\r
+ */\r
+\r
+#if USB_CONFIGURE_EVENT\r
+void USB_Configure_Event (void) {\r
+\r
+  if (USB_Configuration) {                  /* Check if USB is configured */\r
+    /* add your code here */\r
+  }\r
+}\r
+#endif\r
+\r
+\r
+/*\r
+ *  USB Set Interface Event Callback\r
+ *   Called automatically on USB Set Interface Request\r
+ */\r
+\r
+#if USB_INTERFACE_EVENT\r
+void USB_Interface_Event (void) {\r
+}\r
+#endif\r
+\r
+\r
+/*\r
+ *  USB Set/Clear Feature Event Callback\r
+ *   Called automatically on USB Set/Clear Feature Request\r
+ */\r
+\r
+#if USB_FEATURE_EVENT\r
+void USB_Feature_Event (void) {\r
+}\r
+#endif\r
+\r
+\r
+#define P_EP(n) ((USB_EP_EVENT & (1 << (n))) ? USB_EndPoint##n : NULL)\r
+\r
+/* USB Endpoint Events Callback Pointers */\r
+void (* const USB_P_EP[16]) (uint32_t event) = {\r
+  P_EP(0),\r
+  P_EP(1),\r
+  P_EP(2),\r
+  P_EP(3),\r
+  P_EP(4),\r
+  P_EP(5),\r
+  P_EP(6),\r
+  P_EP(7),\r
+  P_EP(8),\r
+  P_EP(9),\r
+  P_EP(10),\r
+  P_EP(11),\r
+  P_EP(12),\r
+  P_EP(13),\r
+  P_EP(14),\r
+  P_EP(15),\r
+};\r
+\r
+\r
+/*\r
+ *  USB Endpoint 1 Event Callback\r
+ *   Called automatically on USB Endpoint 1 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint1 (uint32_t event) {\r
+  uint16_t temp;\r
+  static uint16_t serialState;\r
+\r
+  switch (event) {\r
+    case USB_EVT_IN:\r
+      temp = CDC_GetSerialState();\r
+      if (serialState != temp) {\r
+         serialState = temp;\r
+         CDC_NotificationIn();            /* send SERIAL_STATE notification */\r
+      }\r
+      break;\r
+  }\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 2 Event Callback\r
+ *   Called automatically on USB Endpoint 2 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint2 (uint32_t event) {\r
+\r
+  switch (event) {\r
+    case USB_EVT_OUT:\r
+      CDC_BulkOut ();                /* data received from Host */\r
+      break;\r
+    case USB_EVT_IN:\r
+      CDC_BulkIn ();                 /* data expected from Host */\r
+      break;\r
+  }\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 3 Event Callback\r
+ *   Called automatically on USB Endpoint 3 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint3 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 4 Event Callback\r
+ *   Called automatically on USB Endpoint 4 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint4 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 5 Event Callback\r
+ *   Called automatically on USB Endpoint 5 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint5 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 6 Event Callback\r
+ *   Called automatically on USB Endpoint 6 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint6 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 7 Event Callback\r
+ *   Called automatically on USB Endpoint 7 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint7 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 8 Event Callback\r
+ *   Called automatically on USB Endpoint 8 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint8 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 9 Event Callback\r
+ *   Called automatically on USB Endpoint 9 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint9 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 10 Event Callback\r
+ *   Called automatically on USB Endpoint 10 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint10 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 11 Event Callback\r
+ *   Called automatically on USB Endpoint 11 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint11 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 12 Event Callback\r
+ *   Called automatically on USB Endpoint 12 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint12 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 13 Event Callback\r
+ *   Called automatically on USB Endpoint 13 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint13 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 14 Event Callback\r
+ *   Called automatically on USB Endpoint 14 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint14 (uint32_t event) {\r
+}\r
+\r
+\r
+/*\r
+ *  USB Endpoint 15 Event Callback\r
+ *   Called automatically on USB Endpoint 15 Event\r
+ *    Parameter:       event\r
+ */\r
+\r
+void USB_EndPoint15 (uint32_t event) {\r
+}\r