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 #pragma once
sankichi 0:e1265f6b3565 2 /** Class: In_CyberStick
sankichi 0:e1265f6b3565 3 *
sankichi 0:e1265f6b3565 4 * Use CyberStick(CZ-8NJ2) as fake XE-1AP(Kabutogani) MD mode
sankichi 0:e1265f6b3565 5 * Use CyberStick(CZ-8NJ2) as SS Multi Controller
sankichi 0:e1265f6b3565 6 * Use CyberStick(CZ-8NJ2) as PC-Engine Analog Controller
sankichi 0:e1265f6b3565 7 * Use CyberStick(CZ-8NJ2) Digital mode as Famicom controller
sankichi 0:e1265f6b3565 8 * Use CyberStick(CZ-8NJ2) as PlayStation3 USB Joystick
sankichi 0:e1265f6b3565 9 *
sankichi 0:e1265f6b3565 10 * Example:
sankichi 0:e1265f6b3565 11 *
sankichi 0:e1265f6b3565 12 */
sankichi 0:e1265f6b3565 13 #include "In_CyberStick.h"
sankichi 0:e1265f6b3565 14 #include "In_MD6B.h"
sankichi 0:e1265f6b3565 15 #include "Out_MD.h"
sankichi 0:e1265f6b3565 16 #include "Out_SSMulCon.h"
sankichi 0:e1265f6b3565 17 #include "Out_PCE.h"
sankichi 0:e1265f6b3565 18 #include "Out_FC.h"
sankichi 0:e1265f6b3565 19 #include "Out_PS3USB.h"
sankichi 0:e1265f6b3565 20 #include "InputStatus.h"
sankichi 0:e1265f6b3565 21
sankichi 0:e1265f6b3565 22 static volatile int _Timer0Counter;
sankichi 0:e1265f6b3565 23
sankichi 0:e1265f6b3565 24 class NiseKabuto
sankichi 0:e1265f6b3565 25 {
sankichi 0:e1265f6b3565 26 public:
sankichi 0:e1265f6b3565 27 // Public constants
sankichi 0:e1265f6b3565 28 static const char CONFIG_INMODE_CYBERSTICK_ANALOG = 0;
sankichi 0:e1265f6b3565 29 static const char CONFIG_INMODE_CYBERSTICK_DIGITAL = 1;
sankichi 0:e1265f6b3565 30 static const char CONFIG_INMODE_MD6B = 2;
sankichi 0:e1265f6b3565 31
sankichi 0:e1265f6b3565 32 static const char CONFIGPIN_OUTMODE_PS3USB = 0;
sankichi 0:e1265f6b3565 33 static const char CONFIGPIN_OUTMODE_SSMULCON = 1;
sankichi 0:e1265f6b3565 34 static const char CONFIGPIN_OUTMODE_PCE = 2;
sankichi 0:e1265f6b3565 35 static const char CONFIGPIN_OUTMODE_MD = 3; // changed!!
sankichi 0:e1265f6b3565 36 static const char CONFIGPIN_OUTMODE_FC = 4;
sankichi 0:e1265f6b3565 37
sankichi 0:e1265f6b3565 38 // Public Method/Constructor
sankichi 0:e1265f6b3565 39 NiseKabuto(PinName inputPins[], PinName outputPins[], PinName configurePins[]);
sankichi 0:e1265f6b3565 40 void Show(void);
sankichi 0:e1265f6b3565 41
sankichi 0:e1265f6b3565 42 private:
sankichi 0:e1265f6b3565 43 // Variables
sankichi 0:e1265f6b3565 44 char _InputType;
sankichi 0:e1265f6b3565 45 char _OutputType;
sankichi 0:e1265f6b3565 46 In_CyberStick *_In_CyberStick;
sankichi 0:e1265f6b3565 47 In_MD6B *_In_MD6B;
sankichi 0:e1265f6b3565 48 Out_MD *_Out_MD;
sankichi 0:e1265f6b3565 49 Out_SSMulCon *_Out_SSMulCon;
sankichi 0:e1265f6b3565 50 Out_PCE *_Out_PCE;
sankichi 0:e1265f6b3565 51 Out_FC *_Out_FC;
sankichi 0:e1265f6b3565 52 Out_PS3USB *_Out_PS3USB;
sankichi 0:e1265f6b3565 53 InputStatus _InputStatus;
sankichi 0:e1265f6b3565 54 BusInOut _ConfigSwitch;
sankichi 0:e1265f6b3565 55
sankichi 0:e1265f6b3565 56 // Private Method
sankichi 0:e1265f6b3565 57 void InitInterruptPriority(void);
sankichi 0:e1265f6b3565 58
sankichi 0:e1265f6b3565 59 void InitInput_CyberStick (PinName inputPins[]);
sankichi 0:e1265f6b3565 60 void InitInput_MD6B (PinName inputPins[]);
sankichi 0:e1265f6b3565 61 void InitOutput_MD (PinName outputPins[]);
sankichi 0:e1265f6b3565 62 void InitOutput_SSMulCon (PinName outputPins[]);
sankichi 0:e1265f6b3565 63 void InitOutput_PCE (PinName outputPins[]);
sankichi 0:e1265f6b3565 64 void InitOutput_FC (PinName outputPins[]);
sankichi 0:e1265f6b3565 65 void InitOutput_PS3USB (void);
sankichi 0:e1265f6b3565 66
sankichi 0:e1265f6b3565 67 public:
sankichi 0:e1265f6b3565 68 static void WaitUs(uint32_t us);
sankichi 0:e1265f6b3565 69 };
sankichi 0:e1265f6b3565 70