Helvijs Kiselis
/
Micromouse
Algorithmus
Motion.h
- Committer:
- Helvis
- Date:
- 2018-04-24
- Revision:
- 6:4868f789c223
- Parent:
- 5:e2c0a4388d85
- Child:
- 7:22392ed60534
File content as of revision 6:4868f789c223:
#ifndef MOTION_H_ #define MOTION_H_ #include <cstdlib> #include <mbed.h> #include "EncoderCounter.h" #include "Controller.h" #include "IRSensor.h" class Motion { public: Motion(Controller& controller, EncoderCounter& counterLeft, EncoderCounter& counterRight, IRSensor& irSensorL, IRSensor& irSensorC, IRSensor& irSensorR, AnalogIn& lineSensor, DigitalOut& enableMotorDriver); virtual ~Motion(); void move(); void moveFast(); void scanMove(); void rotateL(); void rotateR(); void turnL(); void turnR(); void stop(); void rotate180(); void control(); void runTask(int task); int finish(); private: static const float LEFT_MID_VAL; static const float RIGHT_MID_VAL; static const float KP; static const float KD; static const int MOVE_DIST; static const float MOVE_SPEED; Controller& controller; EncoderCounter& counterLeft; EncoderCounter& counterRight; IRSensor& irSensorL; IRSensor& irSensorC; IRSensor& irSensorR; AnalogIn& lineSensor; DigitalOut& enableMotorDriver; float distanceL; float distanceC; float distanceR; short countsL; short countsR; short countsLOld; short countsROld; float speedLeft; float speedRight; float errorP; float errorD; float oldErrorP; float totalError; int waitStop; int task; int line; float countsOld; }; #endif /* MOTION_H_ */