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

Dependencies:   PID QEI ikarashiMDC recieveController omni

Committer:
WAT34
Date:
Fri Sep 01 14:04:21 2017 +0900
Revision:
11:68defd561031
Parent:
6:0bee4b2bb400
Child:
12:9d21189a8eb0
damn

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WAT34 1:35e874e10602 1 #ifndef HAYATOBOOMERANG_H
WAT34 1:35e874e10602 2 #define HAYATOBOOMERANG_H
WAT34 1:35e874e10602 3
WAT34 1:35e874e10602 4 #include "mbed.h"
WAT34 1:35e874e10602 5 #include "ikarashiMDC.h"
WAT34 1:35e874e10602 6 #include "PID.h"
WAT34 1:35e874e10602 7 #include "QEI.h"
WAT34 2:aca690545ec9 8 #include "Spiral.h"
WAT34 2:aca690545ec9 9 #include "pinConfig.h"
WAT34 6:0bee4b2bb400 10 #include "omni.h"
WAT34 6:0bee4b2bb400 11
WAT34 6:0bee4b2bb400 12 #define DEG_TO_RAD 0.017453292519943295769236907684886
WAT34 6:0bee4b2bb400 13 #define RAD_TO_DEG 57.295779513082320876798154814105
WAT34 6:0bee4b2bb400 14
WAT34 6:0bee4b2bb400 15 #define radians(deg) ((deg)*DEG_TO_RAD)
WAT34 6:0bee4b2bb400 16 #define degrees(rad) ((rad)*RAD_TO_DEG)
WAT34 1:35e874e10602 17
WAT34 1:35e874e10602 18 class boomerang
WAT34 1:35e874e10602 19 {
WAT34 1:35e874e10602 20 public:
WAT34 1:35e874e10602 21 boomerang(Serial *serail_); // Create boomerang instance
WAT34 1:35e874e10602 22 bool fire(); // Fire boomerang
WAT34 1:35e874e10602 23 void setTargetMotorSpeed(const int& targetRPM);
WAT34 1:35e874e10602 24 int calibrateArm();
WAT34 2:aca690545ec9 25 void update();
WAT34 1:35e874e10602 26 double motorRPM;
WAT34 4:c2b09fa31492 27 double beltSpeed;
WAT34 6:0bee4b2bb400 28 void move(const uint8_t& x,const uint8_t& y,const uint8_t& moment);
WAT34 11:68defd561031 29 void sword();
WAT34 1:35e874e10602 30 private:
WAT34 11:68defd561031 31 ikarashiMDC *shootingMotor,*beltMotor,*spiralMotor;
WAT34 11:68defd561031 32 ikarashiMDC *omniMotor[4];
WAT34 2:aca690545ec9 33 InterruptIn *speedEncoder;
WAT34 11:68defd561031 34 DigitalOut *rscs,*armValve[2];
WAT34 11:68defd561031 35 PID *speedPID;
WAT34 1:35e874e10602 36 Timer rpmCalc;
WAT34 1:35e874e10602 37 Timeout beltTime;
WAT34 2:aca690545ec9 38 Spiral* spiral;
WAT34 6:0bee4b2bb400 39 Omni *omni;
WAT34 2:aca690545ec9 40 void endCalibration();
WAT34 2:aca690545ec9 41 void beltStop();
WAT34 4:c2b09fa31492 42 bool firing;
WAT34 2:aca690545ec9 43
WAT34 2:aca690545ec9 44 void shootingEncoderCount();
WAT34 2:aca690545ec9 45
WAT34 1:35e874e10602 46
WAT34 1:35e874e10602 47 };
WAT34 1:35e874e10602 48
WAT34 1:35e874e10602 49
WAT34 1:35e874e10602 50 #endif /* end of include guard: HAYATOBOOMERANG_H */