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
Revision 20:3acaf78485fa, committed 2020-03-02
- Comitter:
- o2132613
- Date:
- Mon Mar 02 07:39:54 2020 +0000
- Parent:
- 19:4058485b5bb3
- Commit message:
- ver.1 for spring; check pin of CAN;
Changed in this revision
| User.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/User.cpp Thu Oct 31 06:16:05 2019 +0000
+++ b/User.cpp Mon Mar 02 07:39:54 2020 +0000
@@ -7,18 +7,14 @@
#include "math.h"
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;
+int move,shoot,speed;
+Can controller(,);//CANpin_name
void UserLoopSetting()
{
- spi.format(8,3);
- spi.frequency(1000000);
- servo.pulsewidth_us(1450);
+
}
void UserLoop(char n,const u8* data)
{
@@ -43,47 +39,69 @@
ButtonState = ((ps3report*)(data + 1))->ButtonState;
}
//ここより下にプログラムを書く
- //spi通信用プログラム
- send = 0;
+ //CAN通信用プログラム
+ move = controller_move();
+ shoot = controller_shoot();
+ speed = controller_speed();
+ controller.write(CANMessage(1,move,1);
+ controller.write(CANMessage(2,shoot,1);
+ controller.write(CANMessgae(3,speed,1);
+}
+
+int controller_move(){
if((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//UPL1
{
- send = 84;
+ return 9;
}else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//DownR1
{
- send = 168;
+ return 3;
}else if ((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//UPR1
{
- send = 148;
+ return 7;
}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;
+ return 1;
+ }else if((ButtonState >> BUTTONUP)&1 == 1) //up
+ {
+ return 8;
+ }else if((ButtonState >> BUTTONDOWN)&1 == 1)//down
+ {
+ return 2;
+ }else if((ButtonState >> BUTTONRIGHT)&1 == 1)//right
+ {
+ return 6;
+ }else if((ButtonState >> BUTTONLEFT)&1 == 1)//left
+ {
+ return 4;
+ }else if((ButtonState >> BUTTONL1)&1 == 1) //L1
+ {
+ return 10;
+ }else if((ButtonState >> BUTTONR1)&1 == 1) //R1
+ {
+ return 11;
}else{
- send = 0;
+ return 0;
}
+}
+int controller_speed(){
if((ButtonState >> BUTTONL2)&1 == 1&&Speed_Mode>1) {//対応するボタンを書く(今回L2ボタン
- Speed_Mode-=1;
- wait(0.1);
+ return 1;
}else if((ButtonState >> BUTTONR2)&1 == 1&&Speed_Mode<3) {//対応するボタンを書く(今回R2ボタン
- Speed_Mode+=1;
- wait(0.1);
- }
- if((ButtonState >> BUTTONTRIANGEL)&1 == 1) {//対応するボタンを書く(今回△ボタン
- servo.pulsewidth_us(1450);
- } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//対応するボタンを書く(今回×ボタン
- servo.pulsewidth_us(2400);
+ return 2;
+ }else{
+ return 0;
}
- send += Speed_Mode;
- spi. write(send);
+}
+int controller_shoot(){
+ if((ButtonState >> BUTTONCIRCLE)&1 == 1) {//O
+ return 1;
+ } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//X
+ return 2;
+ }else if((ButtonState >> BUTTONTRIANGLE)&1 == 1) {//△
+ return 3;
+ }else if((ButtonState >> BUTTONSQUARE)&1 == 1) {//□
+ return 4;
+ }else{
+ return 0;
+ }
}
\ No newline at end of file