str/ev3-api/library/libcpp-ev3/include/Clock.h (25 lines of code) (raw):
//
// Clock.h
//
// Copyright (c) 2015-2016 Embedded Technology Software Design Robot Contest
//
#ifndef EV3CPPAPI_CLOCK_H_
#define EV3CPPAPI_CLOCK_H_
#include "ev3api.h"
namespace ev3api {
/**
* EV3 クロッククラス
*/
class Clock
{
public:
/**
* コンストラクタ
* 開始時間をシステムクロックで初期化する
* @param -
* @return -
*/
Clock(void);
/**
* リセット
* 開始時間を現在のシステムクロックでリセットする
* @param -
* @return -
*/
void reset(void);
/**
* 経過時間取得
* 開始時間からの経過時間を取得する
* @param -
* @return 経過時間[msec]
*/
uint32_t now(void) const;
/**
* 自タスク遅延
* @param duration 遅延時間[msec]
* @return -
*/
inline void wait(uint32_t duration)
{
dly_tsk(duration);
}
/**
* 自タスクスリープ
* @param duration スリープ時間[msec]
* @return -
*/
inline void sleep(uint32_t duration)
{
tslp_tsk(duration);
}
protected:
/**
* システムクロック取得
* @param -
* @return システムクロック現在値
*/
static uint32_t getTim();
private:
uint32_t mStartClock;
}; // class Clock
} // namespace ev3api
#endif // !EV3CPPAPI_CLOCK_H_