2022_Ateam_MOTORprogramをscrp_slaveでメインマイコンからコントローラー状況を読み取れるように改良。 また、モータに0以外のpwmが送られている場合に基盤付属のledが点灯するようにした。
Dependencies: SBDBT arrc_mbed BNO055
Diff: DUALSHOCKco.cpp
- Revision:
- 11:264f992664b0
- Parent:
- 7:a0375e6dc8ca
diff -r ad8fced7d6b6 -r 264f992664b0 DUALSHOCKco.cpp --- a/DUALSHOCKco.cpp Fri Mar 11 04:24:27 2022 +0000 +++ b/DUALSHOCKco.cpp Tue Mar 22 00:35:37 2022 +0000 @@ -1,28 +1,39 @@ #include "DUALSHOCKco.hpp" -void DUALSHOCKco::pass_val(double RSX,double RSY,double R2AN,double L2AN){ +void DUALSHOCKco::pass_val(double RSX,double RSY,double R2AN,double L2AN) +{ rsx = RSX; rsy = RSY; r2an = R2AN; l2an = L2AN; } -bool DUALSHOCKco::cal_input(){ - if(r2an == 0&&l2an == 0){ - Xval = (rsx - RS_normal) * 450 / RS_normal; - Yval = ((RS_MAX - rsy) - RS_normal + 1) * 450 / RS_normal; - return true; - }else{ - if(r2an != 0){ - Xval = r2an * 400 / RL_MAX; - } - else{ - Xval = -l2an * 400 / RL_MAX; - } - return false; +bool DUALSHOCKco::cal_input() +{ + Xval = (rsx - RS_normal) * 450 / RS_normal; + Yval = ((RS_MAX - rsy) - RS_normal + 1) * 450 / RS_normal; + if(r2an != 0) { + rotate_val = r2an * 400 / RL_MAX; + } else { + rotate_val = -l2an * 400 / RL_MAX; } + if(r2an == 0 && l2an == 0){ + rotate_val = 0; + } + return false; } -double DUALSHOCKco::obt_X(){ return Xval; } +double DUALSHOCKco::obt_X() +{ + return Xval; +} -double DUALSHOCKco::obt_Y(){ return Yval; } \ No newline at end of file +double DUALSHOCKco::obt_Y() +{ + return Yval; +} + +double DUALSHOCKco::obt_rotate() +{ + return rotate_val; +} \ No newline at end of file