A fully-Android-compatible two joysticks USB driver for LPC1768. The joysticks have 1 hat, 6 buttons, and there are 1P, 2P buttons.

Dependencies:   mbed

Fork of app-board-Joystick by Chris Styles

Revision:
3:f1a8ec4659f8
Parent:
1:76c47d2ba442
--- a/usbdc.h	Sat Dec 17 13:13:59 2016 +0000
+++ b/usbdc.h	Sat Dec 17 15:10:12 2016 +0000
@@ -2,25 +2,24 @@
 /* USB device controller */
 /* Copyright (c) Phil Wright 2008 */
 
-#ifndef USBDC_H
-#define USBDC_H
+#pragma once
 
 /* Endpoints */
 #define EP0OUT  (0) /* Control */
 #define EP0IN   (1) /* Control */
-#define EP1OUT  (2) /* Interrupt */
-#define EP1IN   (3) /* Interrupt */
-#define EP2OUT  (4) /* Bulk */
-#define EP2IN   (5) /* Bulk */
+#define EP1OUT  (2)
+#define EP1IN   (3)
+#define EP2OUT  (4)
+#define EP2IN   (5)
 
 #include "mbed.h"
 
-class usbdc //: public Base
+class usbdc
 {
 public:
     usbdc();
-    void connect(void);
-    void disconnect(void);
+    void connect();
+    void disconnect();
 protected:
     void setAddress(unsigned char address);
     void realiseEndpoint(unsigned char endpoint, unsigned long maxPacket);
@@ -29,36 +28,34 @@
     void stallEndpoint(unsigned char endpoint);
     void unstallEndpoint(unsigned char endpoint);
     bool getEndpointStallState(unsigned char endpoint);
-    void configureDevice(void);
-    void unconfigureDevice(void);
+    void configureDevice();
+    void unconfigureDevice();
     unsigned long endpointRead(unsigned char endpoint, unsigned char *buffer);
     void endpointWrite(unsigned char endpoint, unsigned char *buffer, unsigned long size);
-    void enableEvents(void);
-    void disableEvents(void);
-    virtual void deviceEventReset(void);
-    virtual void deviceEventFrame(void);
-    virtual void endpointEventEP0Setup(void);
-    virtual void endpointEventEP0In(void);
-    virtual void endpointEventEP0Out(void);
-    virtual void endpointEventEP1In(void);
-    virtual void endpointEventEP1Out(void);
-    virtual void endpointEventEP2In(void);
-    virtual void endpointEventEP2Out(void);
+    void enableEvents();
+    void disableEvents();
+    virtual void deviceEventReset();
+    virtual void deviceEventFrame();
+    virtual void endpointEventEP0Setup();
+    virtual void endpointEventEP0In();
+    virtual void endpointEventEP0Out();
+    virtual void endpointEventEP1In();
+    virtual void endpointEventEP1Out();
+    virtual void endpointEventEP2In();
+    virtual void endpointEventEP2Out();
 private:
     void SIECommand(unsigned long command);
     void SIEWriteData(unsigned char data);
     unsigned char SIEReadData(unsigned long command);
     void setDeviceStatus(unsigned char status);
     void setEndpointStatus(unsigned char endpoint, unsigned char status);
-    unsigned char getDeviceStatus(void);
+    unsigned char getDeviceStatus();
     unsigned char selectEndpoint(unsigned char endpoint);
     unsigned char selectEndpointClearInterrupt(unsigned char endpoint);
-    unsigned char clearBuffer(void);
-    void validateBuffer(void);
-    void usbisr(void);
+    unsigned char clearBuffer();
+    void validateBuffer();
+    void usbisr();
     unsigned long endpointStallState;
-    static void _usbisr(void);
+    static void _usbisr();
     static usbdc *instance;
 };
-
-#endif
\ No newline at end of file