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:f7c587f0f8b8
- Parent:
- 17:348c660ea6f6
--- 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