test
Dependencies: mbed KondoServoLibrary Encoder
Diff: User.cpp
- Revision:
- 18:f7c587f0f8b8
- Parent:
- 17:348c660ea6f6
- Child:
- 19:510b87211851
--- a/User.cpp Wed Sep 11 07:33:59 2019 +0000 +++ b/User.cpp Fri Nov 01 01:39:57 2019 +0000 @@ -3,15 +3,18 @@ #include "hci.h" #include "ps3.h" #include "User.h" - +#define speed 0.2 #include "mbed.h" int RSX,RSY,LSX,LSY,BSU,BSL; //これより下に関数外に書く要素を記入する -PwmOut servo(p21); //check survo pin +DigitalOut air(p24); +PwmOut motorRB(p22); +PwmOut motorRF(p21); +PwmOut motorLB(p25); +PwmOut motorLF(p26); SPI spi(p5,p6,p7); DigitalOut cs(p8); -int Speed_Mode = 2 ; int send; @@ -19,11 +22,13 @@ { spi.format(8,3); spi.frequency(1000000); - servo.pulsewidth_us(1450); + motorRF.period_ms(1); + motorRB.period_ms(1); + motorLF.period_ms(1); + motorLB.period_ms(1); } void UserLoop(char n,const u8* data) { - printf("start"); u16 ButtonState; if(n==0) { //有線Ps3USB.cpp RSX = ((ps3report*)data)->RightStickX; @@ -47,48 +52,66 @@ //ここより下にプログラムを書く //spi通信用プログラム send = 0; - if((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//UPL1 - { - send = 84; - }else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//DownR1 - { - send = 168; - }else if ((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//UPR1 - { - send = 148; - }else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//DownL1 - { - send = 104; - }else if((ButtonState >> BUTTONUP)&1 == 1) + if((ButtonState >> BUTTONUP)&1 == 1) {//対応するボタンを書く(今回上ボタン - send = 20; + motorRF = 0.2; + motorRB = 0; + motorLF = 0.2; + motorLB = 0; + send = 0; }else if((ButtonState >> BUTTONDOWN)&1 == 1) {//対応するボタンを書く(今回下ボタン - send = 40; + motorRF = 0; + motorRB = 0.2; + motorLF = 0; + motorLB = 0.2; + send = 0; }else if((ButtonState >> BUTTONL1)&1 == 1) {//対応するボタンを書く(今回L1ボタン - send = 100; + motorRF = 0.2; + motorRB = 0; + motorLF = 0; + motorLB = 0.2; + send = 0; }else if((ButtonState >> BUTTONR1)&1 == 1) {//対応するボタンを書く(今回R1ボタン - send = 152; + send = 0; + motorRF = 0; + motorRB = 0.2; + motorLF = 0.2; + motorLB = 0; + }else if((ButtonState >> BUTTONRIGHT)&1 == 1)//Right + { + send = 4; + motorRF = 0; + motorRB = 0.2; + motorLF = 0.2; + motorLB = 0; + }else if((ButtonState >> BUTTONLEFT)&1 == 1)//Left + { + send = 3; + motorRF = 0.2; + motorRB = 0; + motorLF = 0; + motorLB = 0.2; }else{ send = 0; + motorRF = 0; + motorRB = 0; + motorLF = 0; + motorLB = 0; } - if((ButtonState >> BUTTONL2)&1 == 1&&Speed_Mode>1) {//対応するボタンを書く(今回L2ボタン - Speed_Mode-=1; - wait(0.1); - }else if((ButtonState >> BUTTONR2)&1 == 1&&Speed_Mode<3) {//対応するボタンを書く(今回R2ボタン - Speed_Mode+=1; - wait(0.1); - }else{ - break; + if((ButtonState >> BUTTONCIRCLE)&1 == 1) {//対応するボタンを書く(今回Oボタン + air=1; + } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//対応するボタンを書く(今回×ボタン + air=0; } - if((ButtonState >> BUTTONTRIANGEL)&1 == 1) {//対応するボタンを書く(今回△ボタン - servo.pulsewidth_us(1450); - } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//対応するボタンを書く(今回×ボタン - servo.pulsewidth_us(2400); + if((ButtonState >> BUTTONR2&1) == 1 )//R2 down + { + send = 1; + }else if((ButtonState >> BUTTONL2)&1 == 1)//L2 up + { + send = 2; } - send += Speed_Mode; spi. write(send); - printf("%a\r\n",send); } \ No newline at end of file