a
Dependencies: mbed SBDBT arrc_mbed air
main.cpp@0:01e14841369a, 2022-03-03 (annotated)
- Committer:
- asumamatsumura
- Date:
- Thu Mar 03 04:38:27 2022 +0000
- Revision:
- 0:01e14841369a
hassya_ras;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
asumamatsumura | 0:01e14841369a | 1 | #include "mbed.h" |
asumamatsumura | 0:01e14841369a | 2 | #include "scrp_slave.hpp" |
asumamatsumura | 0:01e14841369a | 3 | #include "air.hpp" |
asumamatsumura | 0:01e14841369a | 4 | #include "sbdbt.hpp" |
asumamatsumura | 0:01e14841369a | 5 | ScrpSlave slave(PC_12,PD_2,PH_1,SERIAL_TX,SERIAL_RX,0x0807ffff); |
asumamatsumura | 0:01e14841369a | 6 | Serial pc(SERIAL_TX,SERIAL_RX); |
asumamatsumura | 0:01e14841369a | 7 | DigitalIn limitA(PB_12,PullUp); |
asumamatsumura | 0:01e14841369a | 8 | DigitalIn limitB(PC_8,PullUp); |
asumamatsumura | 0:01e14841369a | 9 | Air catch_no(PA_0); |
asumamatsumura | 0:01e14841369a | 10 | DigitalOut Led1(PA_10); |
asumamatsumura | 0:01e14841369a | 11 | DigitalOut Led2(PB_15); |
asumamatsumura | 0:01e14841369a | 12 | //↓モーター |
asumamatsumura | 0:01e14841369a | 13 | void driveMotorS(double pwm){ |
asumamatsumura | 0:01e14841369a | 14 | PwmOut up_pin_A(PB_13); |
asumamatsumura | 0:01e14841369a | 15 | PwmOut up_pin_B(PB_14); |
asumamatsumura | 0:01e14841369a | 16 | up_pin_A.period_us(2048); |
asumamatsumura | 0:01e14841369a | 17 | up_pin_B.period_us(2048); |
asumamatsumura | 0:01e14841369a | 18 | if (!pwm) { |
asumamatsumura | 0:01e14841369a | 19 | up_pin_A = 0; |
asumamatsumura | 0:01e14841369a | 20 | up_pin_B = 0; |
asumamatsumura | 0:01e14841369a | 21 | } else if (0 < pwm) { |
asumamatsumura | 0:01e14841369a | 22 | up_pin_A = pwm; |
asumamatsumura | 0:01e14841369a | 23 | up_pin_B = 0; |
asumamatsumura | 0:01e14841369a | 24 | } else { |
asumamatsumura | 0:01e14841369a | 25 | up_pin_A = 0; |
asumamatsumura | 0:01e14841369a | 26 | up_pin_B= -pwm; |
asumamatsumura | 0:01e14841369a | 27 | } |
asumamatsumura | 0:01e14841369a | 28 | } |
asumamatsumura | 0:01e14841369a | 29 | //↓昇降 |
asumamatsumura | 0:01e14841369a | 30 | //速さはテキトー |
asumamatsumura | 0:01e14841369a | 31 | bool Up(int rx_data,int &tx_data){ |
asumamatsumura | 0:01e14841369a | 32 | if(rx_data==1 && !limitA){ |
asumamatsumura | 0:01e14841369a | 33 | driveMotorS(0.3); |
asumamatsumura | 0:01e14841369a | 34 | Led2.write(1); |
asumamatsumura | 0:01e14841369a | 35 | }else if(rx_data==-1 && !limitB){ |
asumamatsumura | 0:01e14841369a | 36 | driveMotorS(-0.3); |
asumamatsumura | 0:01e14841369a | 37 | Led2.write(1); |
asumamatsumura | 0:01e14841369a | 38 | }else{ |
asumamatsumura | 0:01e14841369a | 39 | driveMotorS(0); |
asumamatsumura | 0:01e14841369a | 40 | Led2.write(0); |
asumamatsumura | 0:01e14841369a | 41 | } |
asumamatsumura | 0:01e14841369a | 42 | return true; |
asumamatsumura | 0:01e14841369a | 43 | } |
asumamatsumura | 0:01e14841369a | 44 | //↓回収用 |
asumamatsumura | 0:01e14841369a | 45 | bool CATCH_NO(int rx_data,int &tx_data){ |
asumamatsumura | 0:01e14841369a | 46 | catch_no.move(rx_data); |
asumamatsumura | 0:01e14841369a | 47 | Led1.write(rx_data); |
asumamatsumura | 0:01e14841369a | 48 | return true; |
asumamatsumura | 0:01e14841369a | 49 | } |
asumamatsumura | 0:01e14841369a | 50 | |
asumamatsumura | 0:01e14841369a | 51 | int main(){ |
asumamatsumura | 0:01e14841369a | 52 | slave.addCMD(7,CATCH_NO); |
asumamatsumura | 0:01e14841369a | 53 | slave.addCMD(8,Up); |
asumamatsumura | 0:01e14841369a | 54 | while(true); |
asumamatsumura | 0:01e14841369a | 55 | } |