PS3の移動ライブラリ(バグあり動作不可)です。 誠意製作中です。
Revision 2:9b3aeecc67d9, committed 2018-09-27
- Comitter:
- tektomo
- Date:
- Thu Sep 27 09:24:36 2018 +0000
- Parent:
- 1:5bb9feb40944
- Commit message:
- PID????????????
Changed in this revision
PS3_S.cpp | Show annotated file Show diff for this revision Revisions of this file |
PS3_S.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 5bb9feb40944 -r 9b3aeecc67d9 PS3_S.cpp --- a/PS3_S.cpp Sat Sep 22 11:09:22 2018 +0000 +++ b/PS3_S.cpp Thu Sep 27 09:24:36 2018 +0000 @@ -18,81 +18,59 @@ void PS3s::getdata() { - - if (Serial::readable() == true) { - databuffer = Serial::getc(); - if(databuffer == 128) { - endval = 1; - dataval = 0; - checkval = 1; - Rdata[dataval] = databuffer; - dataval++; - }else if(endval == 1){ - Rdata[dataval] = databuffer; - dataval++; - if(dataval == 7) { - endval = 0; - checkval = 0; - dataval = 0; - } + if (Serial::readable()) { + while(Serial::getc() != 128) {} + for (int i = 1;i < 8;i++){ + Rdata[i] = Serial::getc(); } } } void PS3s::checkdata() { - if (checkval == false) { - for (int i = 1; i < 7; i++) { - checksum_buffer += Rdata[i]; - } - checksum_buffer = checksum_buffer & 0x0000007F; - checkval = 1; - if(checksum_buffer == (Rdata[7] & 0x0000007F)) { - button1_buffer = Rdata[1]; - button2_buffer = Rdata[2]; - condata[14] = Rdata[3]; - condata[15] = Rdata[4]; - condata[16] = Rdata[5]; - condata[17] = Rdata[6]; + button1_buffer = Rdata[1]; + button2_buffer = Rdata[2]; + condata[14] = Rdata[3]; + condata[15] = Rdata[4]; + condata[16] = Rdata[5]; + condata[17] = Rdata[6]; - int num1 = 16; - int num2 = 64; - int value1 = 0; - int value2 = 0; + int num1 = 16; + int num2 = 64; + int value1 = 0; + int value2 = 0; - for(int i = 5; i >= 1; i--) { - value1 = i + 6; - if (button1_buffer >= num1) { - condata[value1] = 1; - button1_buffer -= num1; - } else { - condata[value1] = 0; - } - num1 /= 2; - } + for(int i = 5; i >= 1; i--) { + value1 = i + 6; + if (button1_buffer >= num1) { + condata[value1] = 1; + button1_buffer -= num1; + } else { + condata[value1] = 0; + } + num1 /= 2; + } - for(int j = 7; j >= 1; j--) { - value2 = j - 1; - if (button2_buffer - num2 >= 0) { - condata[value2] = 1; - button2_buffer -= num2; - } else { - condata[value2] = 0; - } - num2 /= 2; - } - if(condata[0]!=0 && condata[1]!=0) { - condata[0] = 0; - condata[1] = 0; - condata[13] = 1; - } else if(condata[2]!=0 && condata[3]!=0) { - condata[2] = 0; - condata[3] = 0; - condata[12] = 1; - } else { - condata[12] = 0; - condata[13] = 0; - } + for(int j = 7; j >= 1; j--) { + value2 = j - 1; + if (button2_buffer - num2 >= 0) { + condata[value2] = 1; + button2_buffer -= num2; + } else { + condata[value2] = 0; } + num2 /= 2; + } + if(condata[0]!=0 && condata[1]!=0) { + condata[0] = 0; + condata[1] = 0; + condata[13] = 1; + } else if(condata[2]!=0 && condata[3]!=0) { + condata[2] = 0; + condata[3] = 0; + condata[12] = 1; + } else { + condata[12] = 0; + condata[13] = 0; } } \ No newline at end of file
diff -r 5bb9feb40944 -r 9b3aeecc67d9 PS3_S.h --- a/PS3_S.h Sat Sep 22 11:09:22 2018 +0000 +++ b/PS3_S.h Thu Sep 27 09:24:36 2018 +0000 @@ -31,10 +31,6 @@ int button1_buffer; int button2_buffer; int dataval; - int endval; - int checkval; - int checksum_buffer; - int databuffer; void getdata(); void checkdata();