takeda yuya / Mbed 2 deprecated NITKK2019WinterA

Dependencies:   mbed mdc_read

Committer:
takedayuya
Date:
Sat Dec 28 01:43:29 2019 +0000
Revision:
0:ed8bf5304fbb
Child:
1:9c7744271d72
edit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
takedayuya 0:ed8bf5304fbb 1 #include "mbed.h"
takedayuya 0:ed8bf5304fbb 2 #include "Control.h"
takedayuya 0:ed8bf5304fbb 3 #include "SBDBT.h"
takedayuya 0:ed8bf5304fbb 4 #include "pinmap.h"
takedayuya 0:ed8bf5304fbb 5
takedayuya 0:ed8bf5304fbb 6 void control::setup(){
takedayuya 0:ed8bf5304fbb 7 for(int i = 0; i <= 4; i++){
takedayuya 0:ed8bf5304fbb 8 bias[i]=0.0f;
takedayuya 0:ed8bf5304fbb 9 }
takedayuya 0:ed8bf5304fbb 10
takedayuya 0:ed8bf5304fbb 11 }
takedayuya 0:ed8bf5304fbb 12
takedayuya 0:ed8bf5304fbb 13 void control::run(){
takedayuya 0:ed8bf5304fbb 14
takedayuya 0:ed8bf5304fbb 15 sb.PS3_JOYSTICK();
takedayuya 0:ed8bf5304fbb 16 OmniControl();
takedayuya 0:ed8bf5304fbb 17
takedayuya 0:ed8bf5304fbb 18 }
takedayuya 0:ed8bf5304fbb 19
takedayuya 0:ed8bf5304fbb 20 void control::OmniControl()
takedayuya 0:ed8bf5304fbb 21 {
takedayuya 0:ed8bf5304fbb 22 Vx = sb.JoyStick_dt[0] * -1;
takedayuya 0:ed8bf5304fbb 23 Vy = sb.JoyStick_dt[1];
takedayuya 0:ed8bf5304fbb 24 wl = sb.JoyStick_dt[2];
takedayuya 0:ed8bf5304fbb 25
takedayuya 0:ed8bf5304fbb 26 pwm[0]=(Vx -Vy) * bias[0] + wl;
takedayuya 0:ed8bf5304fbb 27 pwm[1]=(-1)*(Vx -Vy) * bias[1] + wl;
takedayuya 0:ed8bf5304fbb 28 pwm[2]=(-1)*(Vx -Vy) * bias[2] + wl;
takedayuya 0:ed8bf5304fbb 29 pwm[3]=(Vx -Vy) * bias[3] + wl;
takedayuya 0:ed8bf5304fbb 30
takedayuya 0:ed8bf5304fbb 31 for(int i = 0; i < 4; i++){
takedayuya 0:ed8bf5304fbb 32 if(pwm[i] > 127){
takedayuya 0:ed8bf5304fbb 33 pwm[i] = 127;
takedayuya 0:ed8bf5304fbb 34 }else if(pwm[i] < -127){
takedayuya 0:ed8bf5304fbb 35 pwm[i] = -127;
takedayuya 0:ed8bf5304fbb 36 }
takedayuya 0:ed8bf5304fbb 37 }
takedayuya 0:ed8bf5304fbb 38
takedayuya 0:ed8bf5304fbb 39 mt1.move(pwm[0]/130.0f);
takedayuya 0:ed8bf5304fbb 40 mt2.move(pwm[1]/130.0f);
takedayuya 0:ed8bf5304fbb 41 mt3.move(pwm[2]/130.0f);
takedayuya 0:ed8bf5304fbb 42 mt4.move(pwm[3]/130.0f);
takedayuya 0:ed8bf5304fbb 43 }
takedayuya 0:ed8bf5304fbb 44
takedayuya 0:ed8bf5304fbb 45 void control::SolenoidControl()
takedayuya 0:ed8bf5304fbb 46 { if(sb.PS3_CIRCLE_bit() == 1){
takedayuya 0:ed8bf5304fbb 47 if(pre_button sircle[0]==0){
takedayuya 0:ed8bf5304fbb 48 sol.write(0,1);
takedayuya 0:ed8bf5304fbb 49 }else{
takedayuya 0:ed8bf5304fbb 50 pre_button sircle==1;
takedayuya 0:ed8bf5304fbb 51 sol.write(0,0);
takedayuya 0:ed8bf5304fbb 52
takedayuya 0:ed8bf5304fbb 53 }
takedayuya 0:ed8bf5304fbb 54 }
takedayuya 0:ed8bf5304fbb 55 if(sb.PS3_Triangle_bit() == 1){
takedayuya 0:ed8bf5304fbb 56 if(pre_button triangle[0]==0){
takedayuya 0:ed8bf5304fbb 57 sol.write(1,1);
takedayuya 0:ed8bf5304fbb 58 }else{
takedayuya 0:ed8bf5304fbb 59 pre_button triangle==1;
takedayuya 0:ed8bf5304fbb 60 sol.write(1,0);
takedayuya 0:ed8bf5304fbb 61
takedayuya 0:ed8bf5304fbb 62 }
takedayuya 0:ed8bf5304fbb 63 }
takedayuya 0:ed8bf5304fbb 64 if(sb.PS3_square_bit() == 1){
takedayuya 0:ed8bf5304fbb 65 if(pre_button square[0]==0){
takedayuya 0:ed8bf5304fbb 66 sol.write(2,1);
takedayuya 0:ed8bf5304fbb 67 }else{
takedayuya 0:ed8bf5304fbb 68 pre_button square==1;
takedayuya 0:ed8bf5304fbb 69 sol.write(2,0);
takedayuya 0:ed8bf5304fbb 70
takedayuya 0:ed8bf5304fbb 71 }
takedayuya 0:ed8bf5304fbb 72 }
takedayuya 0:ed8bf5304fbb 73 if(sb.PS3_cross_bit() == 1){
takedayuya 0:ed8bf5304fbb 74 if(pre_button cross[0]==0){
takedayuya 0:ed8bf5304fbb 75 sol.write(3,1);
takedayuya 0:ed8bf5304fbb 76 }else{
takedayuya 0:ed8bf5304fbb 77 pre_button cross==1;
takedayuya 0:ed8bf5304fbb 78 sol.write(3,0);
takedayuya 0:ed8bf5304fbb 79
takedayuya 0:ed8bf5304fbb 80 }
takedayuya 0:ed8bf5304fbb 81 }
takedayuya 0:ed8bf5304fbb 82 }
takedayuya 0:ed8bf5304fbb 83
takedayuya 0:ed8bf5304fbb 84