2017ロボコンはやとブーメランプログラム
Dependencies: PID QEI ikarashiMDC recieveController omni
Spiral.cpp@17:311aed3cad15, 2017-10-15 (annotated)
- Committer:
- WAT34
- Date:
- Sun Oct 15 13:42:12 2017 +0900
- Revision:
- 17:311aed3cad15
- Parent:
- 14:5cc44bec9cfc
- Child:
- 18:4b629221c215
pid tuned
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
WAT34 | 3:01947ec86f09 | 1 | #include "Spiral.h" |
WAT34 | 3:01947ec86f09 | 2 | |
WAT34 | 17:311aed3cad15 | 3 | Spiral::Spiral(ikarashiMDC *spiralMotor_) |
WAT34 | 3:01947ec86f09 | 4 | { |
WAT34 | 17:311aed3cad15 | 5 | beltSpeed = 0; |
WAT34 | 17:311aed3cad15 | 6 | spiralSpeed = 0; |
WAT34 | 3:01947ec86f09 | 7 | spiralMotor = spiralMotor_; |
eil4nyqn | 8:c47cf4e0230c | 8 | spiralLimit = new InterruptIn(PB_12); |
WAT34 | 6:0bee4b2bb400 | 9 | spiralLimit->mode(PullUp); |
eil4nyqn | 8:c47cf4e0230c | 10 | spiralLimit->rise(this,&Spiral::stopRotation); |
WAT34 | 3:01947ec86f09 | 11 | rotating = false; |
WAT34 | 17:311aed3cad15 | 12 | firing = false; |
WAT34 | 17:311aed3cad15 | 13 | spiralLimit->enable_irq(); |
WAT34 | 3:01947ec86f09 | 14 | } |
WAT34 | 3:01947ec86f09 | 15 | |
WAT34 | 3:01947ec86f09 | 16 | int Spiral::rotate() |
WAT34 | 3:01947ec86f09 | 17 | { |
WAT34 | 3:01947ec86f09 | 18 | if(rotating) |
WAT34 | 3:01947ec86f09 | 19 | return 1; |
WAT34 | 17:311aed3cad15 | 20 | spiralSpeed=0.4; |
WAT34 | 3:01947ec86f09 | 21 | spiralMotor->setSpeed(0.4); |
WAT34 | 3:01947ec86f09 | 22 | rotating = true; |
WAT34 | 17:311aed3cad15 | 23 | firing = true; |
WAT34 | 3:01947ec86f09 | 24 | return false; |
WAT34 | 3:01947ec86f09 | 25 | } |
WAT34 | 3:01947ec86f09 | 26 | |
WAT34 | 3:01947ec86f09 | 27 | void Spiral::stopRotation() |
WAT34 | 3:01947ec86f09 | 28 | { |
WAT34 | 17:311aed3cad15 | 29 | if (!rotating)return; |
WAT34 | 17:311aed3cad15 | 30 | spiralSpeed=0; |
WAT34 | 17:311aed3cad15 | 31 | spiralMotor->setSpeed(0); |
WAT34 | 17:311aed3cad15 | 32 | beltSpeed=-0.8; |
WAT34 | 17:311aed3cad15 | 33 | rotating = false; |
WAT34 | 17:311aed3cad15 | 34 | beltTime.attach(callback(this,&Spiral::beltStop),0.6); |
WAT34 | 3:01947ec86f09 | 35 | } |
WAT34 | 17:311aed3cad15 | 36 | |
WAT34 | 17:311aed3cad15 | 37 | void Spiral::beltStop(){ |
WAT34 | 17:311aed3cad15 | 38 | beltSpeed=0; |
WAT34 | 17:311aed3cad15 | 39 | firing = false; |
WAT34 | 17:311aed3cad15 | 40 | } |