#ifndef KJ2016TEMPO_H #define KJ2016TEMPO_H /** * @brief Runs the strategy for Krabi Junior 2016 * * No odometry or feedback this year on this bot. It's fully temporised and driven by continuous servos. */ class KJ2016Tempo { static const float KJ_INTERAXIS = 142.56f; // To update static const float KJ_WHEEL_DIAMETER = 70.f; static const float SERVO_MAX_RPM = 52.f; public: /** * @brief Runs the strategy */ static void run(bool isYellow); private: const unsigned int LEFT_SERVO_ID; const unsigned int RIGHT_SERVO_ID; const float SERVO_SPEED_FACTOR; unsigned int m_leftServoSpeed; unsigned int m_rightServoSpeed; void stop(); void pause(); void resume(); void turn90(bool toLeft); void move(int distance); void waitForArrival(unsigned int duration); KJ2016Tempo(unsigned int leftServoID, unsigned int rightServoID); }; #endif // KJ2016TEMPO_H