2017ロボコンはやとブーメランプログラム
Dependencies: PID QEI ikarashiMDC recieveController omni
hayatoBoomerang.h@11:68defd561031, 2017-09-01 (annotated)
- 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?
User | Revision | Line number | New 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 */ |