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

Dependencies:   PID QEI ikarashiMDC recieveController omni

Spiral.cpp

Committer:
WAT34
Date:
2017-11-02
Revision:
18:4b629221c215
Parent:
17:311aed3cad15
Child:
20:d052a0679309
Child:
21:aad4a4adc18c
Child:
22:d7c3bd1ce8f8

File content as of revision 18:4b629221c215:

#include "Spiral.h"

Spiral::Spiral(ikarashiMDC *spiralMotor_)
{
  beltSpeed = 0;
  spiralSpeed = 0;
  spiralMotor = spiralMotor_;
  spiralLimit = new InterruptIn(PB_12);
  spiralLimit->mode(PullUp);
  spiralLimit->rise(this,&Spiral::stopRotation);
  rotating = false;
  firing = false;
  spiralLimit->enable_irq();
}

int Spiral::rotate()
{
  if(rotating)
    return 1;
  spiralSpeed=1;
  spiralMotor->setSpeed(1);
  rotating = true;
  firing = true;
  return false;
}

void Spiral::stopRotation()
{
  if (!rotating)return;
  spiralSpeed=0;
  spiralMotor->setSpeed(0);
  rotating = false;
  beltTime.attach(callback(this,&Spiral::beltStart),0.1);
}

void Spiral::beltStart()
{
  beltSpeed=-1;
  beltTime.attach(callback(this,&Spiral::beltStop),0.1);
}
void Spiral::beltStop(){
  beltSpeed=0;
  firing = false;
}