2017ロボコンはやとブーメランプログラム

Dependencies:   PID QEI ikarashiMDC recieveController omni

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?

UserRevisionLine numberNew 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 }