タコ 腕
Dependencies: 2017NHKpin_config FEP ikarashiMDC
Fork of NHK2017_octopus2 by
bot/tentacle_unit/tentacle_unit.cpp@55:ccf2ac8f6f32, 2017-11-28 (annotated)
- Committer:
- number_key
- Date:
- Tue Nov 28 17:58:04 2017 +0900
- Revision:
- 55:ccf2ac8f6f32
- Parent:
- 54:857390145ac4
move
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
number_key |
49:69a7235d837a | 1 | #include "tentacle_unit.h" |
number_key |
49:69a7235d837a | 2 | |
number_key |
49:69a7235d837a | 3 | Tentacle::Tentacle(DigitalOut* RS485Controller, Serial* RS485) : |
number_key |
49:69a7235d837a | 4 | tentacleMotor({ |
number_key |
55:ccf2ac8f6f32 | 5 | {RS485Controller, 0, 3, SM, RS485}, |
number_key |
55:ccf2ac8f6f32 | 6 | {RS485Controller, 0, 0, SM, RS485}, |
number_key |
49:69a7235d837a | 7 | }), |
number_key |
55:ccf2ac8f6f32 | 8 | // right(LIMIT1,LIMIT0), |
number_key |
55:ccf2ac8f6f32 | 9 | // left(LIMIT3,LIMIT4) |
number_key |
55:ccf2ac8f6f32 | 10 | front({{LIMIT1},{LIMIT3}}), |
number_key |
55:ccf2ac8f6f32 | 11 | back({{LIMIT0},{LIMIT4}}) |
number_key |
49:69a7235d837a | 12 | { |
number_key |
49:69a7235d837a | 13 | tentacleMotor[0].braking = true; |
number_key |
49:69a7235d837a | 14 | tentacleMotor[1].braking = true; |
number_key |
49:69a7235d837a | 15 | } |
number_key |
49:69a7235d837a | 16 | |
number_key |
49:69a7235d837a | 17 | void Tentacle::rightMove(float speed) |
number_key |
49:69a7235d837a | 18 | { |
number_key |
55:ccf2ac8f6f32 | 19 | if(speed*front[0]>0) speed=0; |
number_key |
55:ccf2ac8f6f32 | 20 | if(speed*back[0]<0) speed=0; |
number_key |
55:ccf2ac8f6f32 | 21 | // if(speed*right.getPosition() < 0) speed = 0; |
number_key |
55:ccf2ac8f6f32 | 22 | // if(speed*right.getPosition() > 0) right.resetPosition(); |
number_key |
49:69a7235d837a | 23 | tentacleMotor[0].setSpeed(speed); |
number_key |
49:69a7235d837a | 24 | } |
number_key |
49:69a7235d837a | 25 | |
number_key |
49:69a7235d837a | 26 | void Tentacle::leftMove(float speed) |
number_key |
49:69a7235d837a | 27 | { |
number_key |
55:ccf2ac8f6f32 | 28 | if(speed*front[1]>0) speed=0; |
number_key |
55:ccf2ac8f6f32 | 29 | if(speed*back[1]<0) speed=0; |
number_key |
55:ccf2ac8f6f32 | 30 | // if(speed*left.getPosition() < 0) speed = 0; |
number_key |
55:ccf2ac8f6f32 | 31 | // if(speed*left.getPosition() > 0) left.resetPosition(); |
number_key |
49:69a7235d837a | 32 | tentacleMotor[1].setSpeed(speed); |
number_key |
49:69a7235d837a | 33 | } |
number_key |
49:69a7235d837a | 34 | |
number_key |
49:69a7235d837a | 35 | void Tentacle::stop() |
number_key |
49:69a7235d837a | 36 | { |
number_key |
49:69a7235d837a | 37 | tentacleMotor[0].setSpeed(0); |
number_key |
49:69a7235d837a | 38 | tentacleMotor[1].setSpeed(0); |
number_key |
49:69a7235d837a | 39 | } |