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

Dependencies:   PID QEI ikarashiMDC recieveController omni

Spiral.cpp

Committer:
WAT34
Date:
2017-08-24
Revision:
3:01947ec86f09
Child:
4:c2b09fa31492

File content as of revision 3:01947ec86f09:

#include "Spiral.h"

Spiral::Spiral(ikarashiMDC* spiralMotor_)
{
  spiralMotor = spiralMotor_;
  spiralLimit = new InterruptIn(NC);
  spiralLimit->rise(this,&Spiral::stopRotation);
  spiralLimit->disable_irq();
  rotating = false;
}

int Spiral::rotate()
{
  if(rotating)
    return 1;
  spiralLimit->enable_irq();
  spiralMotor->setSpeed(0.4);
  spiralLimit->rise(this,&Spiral::reversePrep);
  rotating = true;
  return false;
}
void Spiral::reversePrep()
{
  spiralLimit->rise(this,&Spiral::reverseRotation);
}
void Spiral::reverseRotation()
{
  spiralMotor->setSpeed(-0.4);
  spiralLimit->rise(this,&Spiral::stopRotation);
}

void Spiral::stopRotation()
{
  spiralMotor->setSpeed(0);
  spiralLimit->disable_irq();
  rotating = false;
}