太郎 九大 / pspad
Committer:
kurt
Date:
Mon Sep 09 06:36:52 2013 +0000
Revision:
0:11eb5da263e2
Child:
4:64efd8803fa9
for publish as library

Who changed what in which revision?

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