2017ロボコンはやとブーメランプログラム
Dependencies: PID QEI ikarashiMDC recieveController omni
hayatoBoomerang.h
- Committer:
- WAT34
- Date:
- 2017-09-13
- Revision:
- 12:9d21189a8eb0
- Parent:
- 11:68defd561031
- Child:
- 17:311aed3cad15
File content as of revision 12:9d21189a8eb0:
#ifndef HAYATOBOOMERANG_H #define HAYATOBOOMERANG_H #include "mbed.h" #include "ikarashiMDC.h" #include "PID.h" #include "QEI.h" #include "Spiral.h" #include "pinConfig.h" #include "omni.h" #define DEG_TO_RAD 0.017453292519943295769236907684886 #define RAD_TO_DEG 57.295779513082320876798154814105 #define radians(deg) ((deg)*DEG_TO_RAD) #define degrees(rad) ((rad)*RAD_TO_DEG) class boomerang { public: boomerang(Serial *serail_); // Create boomerang instance bool fire(); // Fire boomerang void setTargetMotorSpeed(const int& targetRPM); void setTargetArmAngle(const int& targetArmAngle); // 0 to 90 int calibrateArm(); void update(); double motorRPM; double armAngle; bool calibrating; double beltSpeed; void move(const uint8_t& x,const uint8_t& y,const uint8_t& moment); private: QEI *armEncoder; ikarashiMDC* armMotor,*shootingMotor,*beltMotor,*spiralMotor; ikarashiMDC *omniMotor[5]; InterruptIn *speedEncoder; InterruptIn* armLimit; DigitalOut *rscs; PID *speedPID,*armPID; Timer rpmCalc; Timeout beltTime; Spiral* spiral; Omni *omni; void endCalibration(); void beltStop(); bool firing; void shootingEncoderCount(); }; #endif /* end of include guard: HAYATOBOOMERANG_H */