2017ロボコンはやとブーメランプログラム
Dependencies: PID QEI ikarashiMDC recieveController omni
Spiral.cpp@22:d7c3bd1ce8f8, 2017-11-17 (annotated)
- Committer:
- WAT34
- Date:
- Fri Nov 17 18:04:41 2017 +0900
- Revision:
- 22:d7c3bd1ce8f8
- Parent:
- 18:4b629221c215
- Child:
- 23:ba636c80ed1b
spiral gearhead changed
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 | 22:d7c3bd1ce8f8 | 20 | spiralSpeed=-.5; |
WAT34 | 22:d7c3bd1ce8f8 | 21 | spiralMotor->setSpeed(-.5); |
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 | rotating = false; |
WAT34 | 18:4b629221c215 | 33 | beltTime.attach(callback(this,&Spiral::beltStart),0.1); |
WAT34 | 3:01947ec86f09 | 34 | } |
WAT34 | 17:311aed3cad15 | 35 | |
WAT34 | 18:4b629221c215 | 36 | void Spiral::beltStart() |
WAT34 | 18:4b629221c215 | 37 | { |
WAT34 | 18:4b629221c215 | 38 | beltSpeed=-1; |
WAT34 | 18:4b629221c215 | 39 | beltTime.attach(callback(this,&Spiral::beltStop),0.1); |
WAT34 | 18:4b629221c215 | 40 | } |
WAT34 | 17:311aed3cad15 | 41 | void Spiral::beltStop(){ |
WAT34 | 17:311aed3cad15 | 42 | beltSpeed=0; |
WAT34 | 17:311aed3cad15 | 43 | firing = false; |
WAT34 | 17:311aed3cad15 | 44 | } |