str/apps/include/RightNormalCourse.h (24 lines of code) (raw):

/** * @file RightNormalCourse.h * @brief RコースのNormalCourseの処理を行うクラス * @author Futa HIRAKOBA */ #ifndef __RIGHTNORMALCOURSE__ #define __RIGHTNORMALCOURSE__ #include "settings.h" #include "NormalCourse.h" /** * 走行場所の状態を保持する列挙型 */ enum struct RightStatus { STRAIGHT, CURVE_RIGHT, CURVE_LEFT, CURVE_LEFT_SHORT, STOP, SLOW, CURVE_LEFT_SHORT_SLOW }; /** * RコースのNormalCourseの処理を行うクラス */ class RightNormalCourse : public NormalCourse{ public: /** コンストラクタ。 右エッジである設定をしている*/ RightNormalCourse(); /** * 走行場所でのPID値を設定する * @return Goalしたかどうか */ bool runNormalCourse () ; /** * 現在の走行場所の状態を設定する * @param[in] countL 左タイヤの回転角 * @param[in] countR 右タイヤの回転角 * @return 走行場所の状態が変わったかどうか */ bool statusCheck(int32_t countL, int32_t countR); /** * 現在の走行場所の状態を取得する * @return 現在の走行場所の状態(int型) */ int getStatus(); private: RightStatus status; RightStatus old_status; }; #endif