Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: Arduino_PRO.txt
- Revision:
- 2:422d5d7602cc
- Parent:
- 1:b7d47b40707d
- Child:
- 3:378f57911f5d
--- a/Arduino_PRO.txt Fri Mar 01 08:33:43 2019 +0000
+++ b/Arduino_PRO.txt Sat Apr 06 06:37:13 2019 +0000
@@ -1,22 +1,22 @@
#include <PS3BT.h>
#include <usbhub.h>
-
+
#ifdef dobogusinclude
#include <spi4teensy3.h>
#endif
#include <SPI.h>
-
+
USB Usb;
BTD Btd(&Usb); // You have to create the Bluetooth Dongle instance like so
PS3BT PS3(&Btd); // This will just create the instance
//PS3BT PS3(&Btd, 0x00, 0x15, 0x83, 0x3D, 0x0A, 0x57); // This will also store the bluetooth address - this can be obtained from the dongle when running the sketch
-
+
unsigned long botton_val = 0;
-
+
int sthick[6] = { 0, 0, 0, 0, 0, 0 };//アナログ値格納用:左スティック,右スティック,L2,R2
int check = 0;
uint8_t str[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };//送信データ格納用
-
+
void setup() {
Serial.begin(57600);
//Serial.begin(115200);
@@ -28,52 +28,85 @@
}
}
void loop() {
- Usb.Task();
- if (PS3.PS3Connected || PS3.PS3NavigationConnected) {
- sthick[0] = PS3.getAnalogHat(LeftHatX);
- sthick[1] = PS3.getAnalogHat(LeftHatY);
- sthick[2] = PS3.getAnalogHat(RightHatX);
- sthick[3] = PS3.getAnalogHat(RightHatY);
- sthick[4] = PS3.getAnalogButton(L2);
- sthick[5] = PS3.getAnalogButton(R2);
+ Usb.Task();
+ if (PS3.PS3Connected || PS3.PS3NavigationConnected) {
+ sthick[0] = PS3.getAnalogHat(LeftHatX);
+ sthick[1] = PS3.getAnalogHat(LeftHatY);
+ sthick[2] = PS3.getAnalogHat(RightHatX);
+ sthick[3] = PS3.getAnalogHat(RightHatY);
+ sthick[4] = PS3.getAnalogButton(L2);
+ sthick[5] = PS3.getAnalogButton(R2);
+
+ check = Serial.read();
- if (PS3.getButtonClick(PS)) bitSet(botton_val, 0); //PS3.disconnect();
- if (PS3.getButtonClick(TRIANGLE)) bitSet(botton_val, 1);
- if (PS3.getButtonClick(CIRCLE)) bitSet(botton_val, 2);
- if (PS3.getButtonClick(CROSS)) bitSet(botton_val, 3);
- if (PS3.getButtonClick(SQUARE)) bitSet(botton_val, 4);
-
- if (PS3.getButtonClick(UP)) bitSet(botton_val, 5);
- if (PS3.getButtonClick(RIGHT)) bitSet(botton_val, 6);
- if (PS3.getButtonClick(DOWN)) bitSet(botton_val, 7);
- if (PS3.getButtonClick(LEFT)) bitSet(botton_val, 8);
-
- if (PS3.getButtonClick(L1)) bitSet(botton_val, 9);
- if (PS3.getButtonClick(L3)) bitSet(botton_val, 10);
- if (PS3.getButtonClick(R1)) bitSet(botton_val, 11);
- if (PS3.getButtonClick(R3)) bitSet(botton_val, 12);
+ switch(check){
+ case 1:
+ if (PS3.getButtonPress(PS)) bitSet(botton_val, 0); //PS3.disconnect();
+ if (PS3.getButtonPress(TRIANGLE)) bitSet(botton_val, 1);
+ if (PS3.getButtonPress(CIRCLE)) bitSet(botton_val, 2);
+ if (PS3.getButtonPress(CROSS)) bitSet(botton_val, 3);
+ if (PS3.getButtonPress(SQUARE)) bitSet(botton_val, 4);
+
+ if (PS3.getButtonPress(UP)) bitSet(botton_val, 5);
+ if (PS3.getButtonPress(RIGHT)) bitSet(botton_val, 6);
+ if (PS3.getButtonPress(DOWN)) bitSet(botton_val, 7);
+ if (PS3.getButtonPress(LEFT)) bitSet(botton_val, 8);
+
+ if (PS3.getButtonPress(L1)) bitSet(botton_val, 9);
+ if (PS3.getButtonPress(L3)) bitSet(botton_val, 10);
+ if (PS3.getButtonPress(R1)) bitSet(botton_val, 11);
+ if (PS3.getButtonPress(R3)) bitSet(botton_val, 12);
+
+ if (PS3.getButtonPress(SELECT)) bitSet(botton_val, 13);
+ if (PS3.getButtonPress(START)) bitSet(botton_val, 14);
+ break;
- if (PS3.getButtonClick(SELECT)) bitSet(botton_val, 13);
- if (PS3.getButtonClick(START)) bitSet(botton_val, 14);
-
- /***********************************************/
- str[0] = botton_val & 0x00ff;
- str[1] = botton_val >> 8;
- botton_val = 0;
-
- for (int i = 2; i < 8; i++) {
- str[i] = sthick[i - 2];
+ case 2:
+ if (PS3.getButtonClick(PS)) bitSet(botton_val, 0); //PS3.disconnect();
+ if (PS3.getButtonClick(TRIANGLE)) bitSet(botton_val, 1);
+ if (PS3.getButtonClick(CIRCLE)) bitSet(botton_val, 2);
+ if (PS3.getButtonClick(CROSS)) bitSet(botton_val, 3);
+ if (PS3.getButtonClick(SQUARE)) bitSet(botton_val, 4);
+
+ if (PS3.getButtonClick(UP)) bitSet(botton_val, 5);
+ if (PS3.getButtonClick(RIGHT)) bitSet(botton_val, 6);
+ if (PS3.getButtonClick(DOWN)) bitSet(botton_val, 7);
+ if (PS3.getButtonClick(LEFT)) bitSet(botton_val, 8);
+
+ if (PS3.getButtonClick(L1)) bitSet(botton_val, 9);
+ if (PS3.getButtonClick(L3)) bitSet(botton_val, 10);
+ if (PS3.getButtonClick(R1)) bitSet(botton_val, 11);
+ if (PS3.getButtonClick(R3)) bitSet(botton_val, 12);
+
+ if (PS3.getButtonClick(SELECT)) bitSet(botton_val, 13);
+ if (PS3.getButtonClick(START)) bitSet(botton_val, 14);
+ break;
}
-
- //str[8] = 0;
- str[8] = PS3.PS3Connected;//コントローラが接続されているか確認
- /***********************************************/
- check = Serial.read();//nucleoからの受信データ確認
-
- if (check == 1) Serial.write(str, 9);
- else{}
-
- Serial.flush();
- check = 0;
- }
+ /***********************************************/
+ str[0] = botton_val & 0x00ff;
+ str[1] = botton_val >> 8;
+ botton_val = 0;
+
+ for (int i = 2; i < 8; i++) {
+ str[i] = sthick[i - 2];
+ }
+
+ //str[8] = 0;
+ str[8] = PS3.PS3Connected;//コントローラが接続されているか確認
+ /***********************************************/
+// check = Serial.read();//nucleoからの受信データ確認
+
+ if (check > 0) Serial.write(str, 9);
+ else{}
+
+ Serial.flush();
+ check = 0;
+ }
+ else{
+ check = Serial.read();//nucleoからの受信データ確認
+ memset(str,0,9);
+ if (check > 0) Serial.write(str, 9);
+ Serial.flush();
+ check = 0;
+ }
}
\ No newline at end of file