109 lines
2.3 KiB
C++
109 lines
2.3 KiB
C++
#include <a8/a8.h>
|
|
|
|
#include <f8/f8.h>
|
|
|
|
#include <f8/timer.h>
|
|
|
|
namespace f8
|
|
{
|
|
|
|
Attacher::Attacher()
|
|
{
|
|
p_.SetOwner(&f8::Timer::Instance()->xtimer_);
|
|
if (!f8::Timer::Instance()->Initialized()) {
|
|
abort();
|
|
}
|
|
}
|
|
|
|
void Timer::Init()
|
|
{
|
|
initialized_ = true;
|
|
}
|
|
|
|
void Timer::UnInit()
|
|
{
|
|
|
|
}
|
|
|
|
bool Timer::Initialized()
|
|
{
|
|
|
|
}
|
|
|
|
void Timer::Update()
|
|
{
|
|
xtimer_.Update();
|
|
}
|
|
|
|
void Timer::SetTimeout(int expire_time, a8::TimerCb cb)
|
|
{
|
|
xtimer_.SetTimeout(expire_time, cb);
|
|
}
|
|
|
|
void Timer::SetTimeoutEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
|
|
{
|
|
xtimer_.SetTimeoutEx(expire_time, cb, &attacher->p_);
|
|
}
|
|
|
|
TimerWp Timer::SetTimeoutWp(int expire_time, a8::TimerCb cb)
|
|
{
|
|
return TimerWp(xtimer_.SetTimeoutWp(expire_time, cb));
|
|
}
|
|
|
|
TimerWp Timer::SetTimeoutWpEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
|
|
{
|
|
return TimerWp(xtimer_.SetTimeoutWpEx(expire_time, cb, &attacher->p_));
|
|
}
|
|
|
|
void Timer::SetInterval(int expire_time, a8::TimerCb cb)
|
|
{
|
|
xtimer_.SetInterval(expire_time, cb);
|
|
}
|
|
|
|
void Timer::SetIntervalEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
|
|
{
|
|
xtimer_.SetIntervalEx(expire_time, cb, &attacher->p_);
|
|
}
|
|
|
|
TimerWp Timer::SetIntervalWp(int expire_time, a8::TimerCb cb)
|
|
{
|
|
return TimerWp(xtimer_.SetIntervalWp(expire_time, cb));
|
|
}
|
|
|
|
TimerWp Timer::SetIntervalWpEx(int expire_time, a8::TimerCb cb, Attacher* attacher)
|
|
{
|
|
return TimerWp(xtimer_.SetIntervalWpEx(expire_time, cb, &attacher->p_));
|
|
}
|
|
|
|
void Timer::FireEvent(TimerWp& timer_wp, int event, a8::Args* args)
|
|
{
|
|
xtimer_.FireEvent(timer_wp.p_, event, args);
|
|
}
|
|
|
|
void Timer::ModifyTime(TimerWp& timer_wp, int expire_time)
|
|
{
|
|
xtimer_.ModifyTime(timer_wp.p_, expire_time);
|
|
}
|
|
|
|
void Timer::Delete(TimerWp& timer_wp)
|
|
{
|
|
xtimer_.Delete(timer_wp.p_);
|
|
}
|
|
|
|
long long Timer::GetRemainTime(TimerWp& timer_wp)
|
|
{
|
|
return xtimer_.GetRemainTime(timer_wp.p_);
|
|
}
|
|
|
|
void Timer::DeleteCurrentTimer()
|
|
{
|
|
xtimer_.DeleteCurrentTimer();
|
|
}
|
|
|
|
bool Timer::IsRunning()
|
|
{
|
|
return xtimer_.IsRunning();
|
|
}
|
|
|
|
}
|