プレステ1アナログコントローラ用ライブラリのサンプル

Dependencies:   mbed-src

Committer:
kurt
Date:
Mon Sep 09 06:33:08 2013 +0000
Revision:
1:38674ebae5dc
Parent:
0:ab4722670dd8
Child:
3:3a33f8294a84
for publish as lib

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kurt 0:ab4722670dd8 1 /*
kurt 0:ab4722670dd8 2 * pspad.h
kurt 0:ab4722670dd8 3 *
kurt 0:ab4722670dd8 4 * Created on: 2012/12/21
kurt 0:ab4722670dd8 5 * Author: USER
kurt 0:ab4722670dd8 6 */
kurt 0:ab4722670dd8 7
kurt 0:ab4722670dd8 8 #ifndef PSPAD_H_
kurt 0:ab4722670dd8 9 #define PSPAD_H_
kurt 0:ab4722670dd8 10
kurt 0:ab4722670dd8 11 /*--------PSPADのアクセスの構造体-------
kurt 0:ab4722670dd8 12 PS--.PsRead()
kurt 0:ab4722670dd8 13 |---.right_x
kurt 0:ab4722670dd8 14 |---.right_y
kurt 0:ab4722670dd8 15 |---.left_x
kurt 0:ab4722670dd8 16 |---.left_y;
kurt 0:ab4722670dd8 17 |---.VIBRATE;
kurt 0:ab4722670dd8 18 |---.ANALOG_MODE;
kurt 0:ab4722670dd8 19 |---.BUTTON .WORD
kurt 0:ab4722670dd8 20 | |---.BIT.L2
kurt 0:ab4722670dd8 21 | |-.R2
kurt 0:ab4722670dd8 22 | |-.L1
kurt 0:ab4722670dd8 23 | |-.R1
kurt 0:ab4722670dd8 24 | |-.SANKAKU
kurt 0:ab4722670dd8 25 | |-.MARU
kurt 0:ab4722670dd8 26 | |-.BATU
kurt 0:ab4722670dd8 27 | |-.SIKAKU
kurt 0:ab4722670dd8 28 | |-.SELECT
kurt 0:ab4722670dd8 29 | |-.L3
kurt 0:ab4722670dd8 30 | |-.R3
kurt 0:ab4722670dd8 31 | |-.START
kurt 0:ab4722670dd8 32 | |-.UP
kurt 0:ab4722670dd8 33 | |-.RIGHT
kurt 0:ab4722670dd8 34 | |-.DOWN
kurt 0:ab4722670dd8 35 | --.LEFT
kurt 0:ab4722670dd8 36 ----.PERV--.right_x
kurt 0:ab4722670dd8 37 |---.right_y
kurt 0:ab4722670dd8 38 |---.left_x
kurt 0:ab4722670dd8 39 |---.left_y;
kurt 0:ab4722670dd8 40 ----.BUTTON .WORD
kurt 0:ab4722670dd8 41 |---.BIT.L2
kurt 0:ab4722670dd8 42 |-.R2
kurt 0:ab4722670dd8 43 |-.L1
kurt 0:ab4722670dd8 44 |-.R1
kurt 0:ab4722670dd8 45 |-.SANKAKU
kurt 0:ab4722670dd8 46 |-.MARU
kurt 0:ab4722670dd8 47 |-.BATU
kurt 0:ab4722670dd8 48 |-.SIKAKU
kurt 0:ab4722670dd8 49 |-.SELECT
kurt 0:ab4722670dd8 50 |-.L3
kurt 0:ab4722670dd8 51 |-.R3
kurt 0:ab4722670dd8 52 |-.START
kurt 0:ab4722670dd8 53 |-.UP
kurt 0:ab4722670dd8 54 |-.RIGHT
kurt 0:ab4722670dd8 55 |-.DOWN
kurt 0:ab4722670dd8 56 --.LEFT
kurt 0:ab4722670dd8 57 ---------------------------------------*/
kurt 0:ab4722670dd8 58
kurt 0:ab4722670dd8 59 //-------------------------------------------------------------------------
kurt 0:ab4722670dd8 60 // Class
kurt 0:ab4722670dd8 61 //-------------------------------------------------------------------------
kurt 0:ab4722670dd8 62 class Pspad
kurt 0:ab4722670dd8 63 {
kurt 0:ab4722670dd8 64 public:
kurt 0:ab4722670dd8 65 Pspad(PinName dat, PinName cmd, PinName sel, PinName clk);
kurt 0:ab4722670dd8 66 void PsRead(void);
kurt 0:ab4722670dd8 67
kurt 0:ab4722670dd8 68 union {
kurt 0:ab4722670dd8 69 uint32_t WORD;
kurt 0:ab4722670dd8 70 struct {
kurt 0:ab4722670dd8 71 unsigned char L2 :1;
kurt 0:ab4722670dd8 72 unsigned char R2 :1;
kurt 0:ab4722670dd8 73 unsigned char L1 :1;
kurt 0:ab4722670dd8 74 unsigned char R1 :1;
kurt 0:ab4722670dd8 75
kurt 0:ab4722670dd8 76 unsigned char SANKAKU :1;
kurt 0:ab4722670dd8 77 unsigned char MARU :1;
kurt 0:ab4722670dd8 78 unsigned char BATU :1;
kurt 0:ab4722670dd8 79 unsigned char SIKAKU :1;
kurt 0:ab4722670dd8 80
kurt 0:ab4722670dd8 81 unsigned char SELECT :1;
kurt 0:ab4722670dd8 82 unsigned char L3 :1;
kurt 0:ab4722670dd8 83 unsigned char R3 :1;
kurt 0:ab4722670dd8 84 unsigned char START :1;
kurt 0:ab4722670dd8 85
kurt 0:ab4722670dd8 86 unsigned char UP :1;
kurt 0:ab4722670dd8 87 unsigned char RIGHT :1;
kurt 0:ab4722670dd8 88 unsigned char DOWN :1;
kurt 0:ab4722670dd8 89 unsigned char LEFT :1;
kurt 0:ab4722670dd8 90 } BIT;
kurt 0:ab4722670dd8 91 } BUTTON;
kurt 0:ab4722670dd8 92 int8_t right_x, right_y, left_x, left_y;
kurt 0:ab4722670dd8 93 unsigned char VIBRATE;
kurt 0:ab4722670dd8 94 unsigned char ANALOG_MODE;
kurt 0:ab4722670dd8 95 struct {
kurt 0:ab4722670dd8 96 union {
kurt 0:ab4722670dd8 97 uint32_t WORD;
kurt 0:ab4722670dd8 98 struct {
kurt 0:ab4722670dd8 99 unsigned char L2 :1;
kurt 0:ab4722670dd8 100 unsigned char R2 :1;
kurt 0:ab4722670dd8 101 unsigned char L1 :1;
kurt 0:ab4722670dd8 102 unsigned char R1 :1;
kurt 0:ab4722670dd8 103
kurt 0:ab4722670dd8 104 unsigned char SANKAKU :1;
kurt 0:ab4722670dd8 105 unsigned char MARU :1;
kurt 0:ab4722670dd8 106 unsigned char BATU :1;
kurt 0:ab4722670dd8 107 unsigned char SIKAKU :1;
kurt 0:ab4722670dd8 108
kurt 0:ab4722670dd8 109 unsigned char SELECT :1;
kurt 0:ab4722670dd8 110 unsigned char L3 :1;
kurt 0:ab4722670dd8 111 unsigned char R3 :1;
kurt 0:ab4722670dd8 112 unsigned char START :1;
kurt 0:ab4722670dd8 113
kurt 0:ab4722670dd8 114 unsigned char UP :1;
kurt 0:ab4722670dd8 115 unsigned char RIGHT :1;
kurt 0:ab4722670dd8 116 unsigned char DOWN :1;
kurt 0:ab4722670dd8 117 unsigned char LEFT :1;
kurt 0:ab4722670dd8 118 } BIT;
kurt 0:ab4722670dd8 119 } BUTTON;
kurt 0:ab4722670dd8 120 int8_t right_x, right_y, left_x, left_y;
kurt 0:ab4722670dd8 121 } PREV;
kurt 0:ab4722670dd8 122
kurt 0:ab4722670dd8 123 private:
kurt 0:ab4722670dd8 124 uint8_t PsComm(uint8_t send_data);
kurt 0:ab4722670dd8 125 Timer tm;
kurt 0:ab4722670dd8 126 DigitalIn datpin;
kurt 0:ab4722670dd8 127 DigitalOut cmdpin;
kurt 0:ab4722670dd8 128 DigitalOut selpin;
kurt 0:ab4722670dd8 129 DigitalOut clkpin;
kurt 0:ab4722670dd8 130 };
kurt 0:ab4722670dd8 131
kurt 0:ab4722670dd8 132 #endif /* PSPAD_H_ */