First Release

Dependencies:   USBDevice

Committer:
sankichi
Date:
Sat Jul 27 14:19:33 2013 +0000
Revision:
1:6c392ebcd4d4
Parent:
0:e1265f6b3565
First release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sankichi 0:e1265f6b3565 1 /** Class: Out_PS3USB
sankichi 0:e1265f6b3565 2 *
sankichi 0:e1265f6b3565 3 * Output class for PlayStation3 USB Joystick
sankichi 0:e1265f6b3565 4 *
sankichi 0:e1265f6b3565 5 */
sankichi 0:e1265f6b3565 6
sankichi 0:e1265f6b3565 7 #include "mbed.h"
sankichi 0:e1265f6b3565 8 #include "InputStatus.h"
sankichi 0:e1265f6b3565 9 #include "USBJoystick.h"
sankichi 0:e1265f6b3565 10
sankichi 0:e1265f6b3565 11 class Out_PS3USB
sankichi 0:e1265f6b3565 12 {
sankichi 0:e1265f6b3565 13 public:
sankichi 0:e1265f6b3565 14 /** Constructor: Out_PS3USB
sankichi 0:e1265f6b3565 15 *
sankichi 0:e1265f6b3565 16 * Parameters:
sankichi 0:e1265f6b3565 17 * inputStatus - Input status
sankichi 0:e1265f6b3565 18 */
sankichi 0:e1265f6b3565 19
sankichi 0:e1265f6b3565 20 Out_PS3USB(InputStatus *inputStatus);
sankichi 0:e1265f6b3565 21
sankichi 0:e1265f6b3565 22 private:
sankichi 0:e1265f6b3565 23 // Private constants
sankichi 0:e1265f6b3565 24 static const int USBUPDATEINTERVAL__MSEC = 10;
sankichi 0:e1265f6b3565 25
sankichi 0:e1265f6b3565 26 // mbed pins
sankichi 0:e1265f6b3565 27
sankichi 0:e1265f6b3565 28 // Variable
sankichi 0:e1265f6b3565 29 InputStatus *_InputStatus;
sankichi 0:e1265f6b3565 30 USBJoystick *_MyJS;
sankichi 0:e1265f6b3565 31 Ticker _USBUpdateTicker;
sankichi 0:e1265f6b3565 32
sankichi 0:e1265f6b3565 33 // Private Method
sankichi 0:e1265f6b3565 34 void Initialize(void);
sankichi 0:e1265f6b3565 35 void USBUpdate(void);
sankichi 0:e1265f6b3565 36 // void InitInterruptPriority(void);
sankichi 0:e1265f6b3565 37
sankichi 0:e1265f6b3565 38
sankichi 0:e1265f6b3565 39
sankichi 0:e1265f6b3565 40 // for InputControll
sankichi 0:e1265f6b3565 41 public:
sankichi 0:e1265f6b3565 42 void SetupInputControll(void (*startInputFunction)(void), void (*stopInputFunction)(void));
sankichi 0:e1265f6b3565 43 class CDummy;
sankichi 0:e1265f6b3565 44 template<class T>
sankichi 0:e1265f6b3565 45 void SetupInputControll(T* inputInstance, void (T::*startInputMethod)(void), void (T::*stopInputMethod)(void))
sankichi 0:e1265f6b3565 46 {
sankichi 0:e1265f6b3565 47 _InputInstance = (CDummy*) inputInstance;
sankichi 0:e1265f6b3565 48 StartInputMethod = (void (CDummy::*)(void)) startInputMethod;
sankichi 0:e1265f6b3565 49 StopInputMethod = (void (CDummy::*)(void)) stopInputMethod;
sankichi 0:e1265f6b3565 50 }
sankichi 0:e1265f6b3565 51
sankichi 0:e1265f6b3565 52 private:
sankichi 0:e1265f6b3565 53 CDummy* _InputInstance;
sankichi 0:e1265f6b3565 54 void (CDummy::*StartInputMethod)(void);
sankichi 0:e1265f6b3565 55 void (CDummy::*StopInputMethod)(void);
sankichi 0:e1265f6b3565 56 void (*StartInputFunction)(void);
sankichi 0:e1265f6b3565 57 void (*StopInputFunction)(void);
sankichi 0:e1265f6b3565 58 void EnableInput(void);
sankichi 0:e1265f6b3565 59 void DisableInput(void);
sankichi 0:e1265f6b3565 60
sankichi 0:e1265f6b3565 61 };
sankichi 0:e1265f6b3565 62
sankichi 0:e1265f6b3565 63