PS3の移動ライブラリ(バグあり動作不可)です。 誠意製作中です。
PS3_S.cpp@2:9b3aeecc67d9, 2018-09-27 (annotated)
- Committer:
- tektomo
- Date:
- Thu Sep 27 09:24:36 2018 +0000
- Revision:
- 2:9b3aeecc67d9
- Parent:
- 1:5bb9feb40944
PID????????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tektomo | 0:1e79ec3fb922 | 1 | #include "PS3_S.h" |
tektomo | 0:1e79ec3fb922 | 2 | |
tektomo | 0:1e79ec3fb922 | 3 | PS3s::PS3s(PinName TX, PinName RX) : Serial(TX, RX) |
tektomo | 0:1e79ec3fb922 | 4 | { |
tektomo | 0:1e79ec3fb922 | 5 | baud(2400); |
tektomo | 1:5bb9feb40944 | 6 | Rdata[0] = 128; |
tektomo | 0:1e79ec3fb922 | 7 | Rdata[1] = 0; |
tektomo | 0:1e79ec3fb922 | 8 | Rdata[2] = 0; |
tektomo | 1:5bb9feb40944 | 9 | Rdata[3] = 64; |
tektomo | 1:5bb9feb40944 | 10 | Rdata[4] = 64; |
tektomo | 1:5bb9feb40944 | 11 | Rdata[5] = 64; |
tektomo | 1:5bb9feb40944 | 12 | Rdata[6] = 64; |
tektomo | 0:1e79ec3fb922 | 13 | Rdata[7] = 0; |
tektomo | 0:1e79ec3fb922 | 14 | for(int i = 0; i < 18; i++) { |
tektomo | 0:1e79ec3fb922 | 15 | condata[i] = 0; |
tektomo | 0:1e79ec3fb922 | 16 | } |
tektomo | 0:1e79ec3fb922 | 17 | } |
tektomo | 0:1e79ec3fb922 | 18 | |
tektomo | 0:1e79ec3fb922 | 19 | void PS3s::getdata() |
tektomo | 0:1e79ec3fb922 | 20 | { |
tektomo | 2:9b3aeecc67d9 | 21 | if (Serial::readable()) { |
tektomo | 2:9b3aeecc67d9 | 22 | while(Serial::getc() != 128) {} |
tektomo | 2:9b3aeecc67d9 | 23 | for (int i = 1;i < 8;i++){ |
tektomo | 2:9b3aeecc67d9 | 24 | Rdata[i] = Serial::getc(); |
tektomo | 0:1e79ec3fb922 | 25 | } |
tektomo | 0:1e79ec3fb922 | 26 | } |
tektomo | 0:1e79ec3fb922 | 27 | } |
tektomo | 0:1e79ec3fb922 | 28 | |
tektomo | 0:1e79ec3fb922 | 29 | void PS3s::checkdata() |
tektomo | 0:1e79ec3fb922 | 30 | { |
tektomo | 2:9b3aeecc67d9 | 31 | button1_buffer = Rdata[1]; |
tektomo | 2:9b3aeecc67d9 | 32 | button2_buffer = Rdata[2]; |
tektomo | 2:9b3aeecc67d9 | 33 | condata[14] = Rdata[3]; |
tektomo | 2:9b3aeecc67d9 | 34 | condata[15] = Rdata[4]; |
tektomo | 2:9b3aeecc67d9 | 35 | condata[16] = Rdata[5]; |
tektomo | 2:9b3aeecc67d9 | 36 | condata[17] = Rdata[6]; |
tektomo | 0:1e79ec3fb922 | 37 | |
tektomo | 2:9b3aeecc67d9 | 38 | int num1 = 16; |
tektomo | 2:9b3aeecc67d9 | 39 | int num2 = 64; |
tektomo | 2:9b3aeecc67d9 | 40 | int value1 = 0; |
tektomo | 2:9b3aeecc67d9 | 41 | int value2 = 0; |
tektomo | 0:1e79ec3fb922 | 42 | |
tektomo | 2:9b3aeecc67d9 | 43 | for(int i = 5; i >= 1; i--) { |
tektomo | 2:9b3aeecc67d9 | 44 | value1 = i + 6; |
tektomo | 2:9b3aeecc67d9 | 45 | if (button1_buffer >= num1) { |
tektomo | 2:9b3aeecc67d9 | 46 | condata[value1] = 1; |
tektomo | 2:9b3aeecc67d9 | 47 | button1_buffer -= num1; |
tektomo | 2:9b3aeecc67d9 | 48 | } else { |
tektomo | 2:9b3aeecc67d9 | 49 | condata[value1] = 0; |
tektomo | 2:9b3aeecc67d9 | 50 | } |
tektomo | 2:9b3aeecc67d9 | 51 | num1 /= 2; |
tektomo | 2:9b3aeecc67d9 | 52 | } |
tektomo | 0:1e79ec3fb922 | 53 | |
tektomo | 2:9b3aeecc67d9 | 54 | for(int j = 7; j >= 1; j--) { |
tektomo | 2:9b3aeecc67d9 | 55 | value2 = j - 1; |
tektomo | 2:9b3aeecc67d9 | 56 | if (button2_buffer - num2 >= 0) { |
tektomo | 2:9b3aeecc67d9 | 57 | condata[value2] = 1; |
tektomo | 2:9b3aeecc67d9 | 58 | button2_buffer -= num2; |
tektomo | 2:9b3aeecc67d9 | 59 | } else { |
tektomo | 2:9b3aeecc67d9 | 60 | condata[value2] = 0; |
tektomo | 0:1e79ec3fb922 | 61 | } |
tektomo | 2:9b3aeecc67d9 | 62 | num2 /= 2; |
tektomo | 2:9b3aeecc67d9 | 63 | } |
tektomo | 2:9b3aeecc67d9 | 64 | if(condata[0]!=0 && condata[1]!=0) { |
tektomo | 2:9b3aeecc67d9 | 65 | condata[0] = 0; |
tektomo | 2:9b3aeecc67d9 | 66 | condata[1] = 0; |
tektomo | 2:9b3aeecc67d9 | 67 | condata[13] = 1; |
tektomo | 2:9b3aeecc67d9 | 68 | } else if(condata[2]!=0 && condata[3]!=0) { |
tektomo | 2:9b3aeecc67d9 | 69 | condata[2] = 0; |
tektomo | 2:9b3aeecc67d9 | 70 | condata[3] = 0; |
tektomo | 2:9b3aeecc67d9 | 71 | condata[12] = 1; |
tektomo | 2:9b3aeecc67d9 | 72 | } else { |
tektomo | 2:9b3aeecc67d9 | 73 | condata[12] = 0; |
tektomo | 2:9b3aeecc67d9 | 74 | condata[13] = 0; |
tektomo | 0:1e79ec3fb922 | 75 | } |
tektomo | 0:1e79ec3fb922 | 76 | } |