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.
Dependencies: mbed
Diff: User.cpp
- Revision:
- 18:065d88f01f2b
- Parent:
- 17:348c660ea6f6
- Child:
- 19:812c3572622a
--- a/User.cpp Wed Sep 11 07:33:59 2019 +0000 +++ b/User.cpp Thu Sep 12 09:51:42 2019 +0000 @@ -8,24 +8,19 @@ int RSX,RSY,LSX,LSY,BSU,BSL; //これより下に関数外に書く要素を記入する -PwmOut servo(p21); //check survo pin -SPI spi(p5,p6,p7); -DigitalOut cs(p8); -int Speed_Mode = 2 ; -int send; - +PwmOut led1(LED1); +PwmOut led2(LED2); +DigitalOut led3(LED3); +DigitalOut led4(LED4); -void UserLoopSetting() -{ - spi.format(8,3); - spi.frequency(1000000); - servo.pulsewidth_us(1450); +void UserLoopSetting(){ + //一度だけ行いたい初期設定をここに書く + led1.period_ms(20); } -void UserLoop(char n,const u8* data) -{ - printf("start"); + +void UserLoop(char n,const u8* data){ u16 ButtonState; - if(n==0) { //有線Ps3USB.cpp + if(n==0){//有線Ps3USB.cpp RSX = ((ps3report*)data)->RightStickX; RSY = ((ps3report*)data)->RightStickY; LSX = ((ps3report*)data)->LeftStickX; @@ -34,7 +29,7 @@ BSL = (u8)(((ps3report*)data)->ButtonState >> 8); //ボタンの処理 ButtonState = ((ps3report*)data)->ButtonState; - } else {//無線TestShell.cpp + }else {//無線TestShell.cpp RSX = ((ps3report*)(data + 1))->RightStickX; RSY = ((ps3report*)(data + 1))->RightStickY; LSX = ((ps3report*)(data + 1))->LeftStickX; @@ -45,50 +40,24 @@ ButtonState = ((ps3report*)(data + 1))->ButtonState; } //ここより下にプログラムを書く - //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) - {//対応するボタンを書く(今回上ボタン - send = 20; - }else if((ButtonState >> BUTTONDOWN)&1 == 1) - {//対応するボタンを書く(今回下ボタン - send = 40; - }else if((ButtonState >> BUTTONL1)&1 == 1) - {//対応するボタンを書く(今回L1ボタン - send = 100; - }else if((ButtonState >> BUTTONR1)&1 == 1) - {//対応するボタンを書く(今回R1ボタン - send = 152; + + + //データ取得例 + if(((ButtonState >> BUTTONCIRCLE)&1) == 1) { + led1 = 1; + //○が押されたとき }else{ - send = 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 >> BUTTONTRIANGEL)&1 == 1) {//対応するボタンを書く(今回△ボタン - servo.pulsewidth_us(1450); - } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//対応するボタンを書く(今回×ボタン - servo.pulsewidth_us(2400); - } - send += Speed_Mode; - spi. write(send); - printf("%a\r\n",send); + led1 = 0; + //○を押してないとき + } + + led1=LSX/256.0f; + led2=LSY/256.0f; + led3=ButtonState & 0x0400; //L1の状態 + led4=ButtonState & 0x0800; //R1の状態 + //値の取得はps3.hを参照 + //ここまでプログラム例 実機に乗せるときは消して大丈夫です + + + } \ No newline at end of file