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

Dependencies:   PID QEI ikarashiMDC recieveController omni

Spiral.cpp

Committer:
WAT34
Date:
2017-10-15
Revision:
17:311aed3cad15
Parent:
14:5cc44bec9cfc
Child:
18:4b629221c215

File content as of revision 17:311aed3cad15:

#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=0.4;
  spiralMotor->setSpeed(0.4);
  rotating = true;
  firing = true;
  return false;
}

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

void Spiral::beltStop(){
  beltSpeed=0;
  firing = false;
}