1
This commit is contained in:
parent
c4429a36a8
commit
dec7ea7a3a
38
f8/timer.cc
38
f8/timer.cc
@ -9,12 +9,15 @@ namespace f8
|
|||||||
|
|
||||||
Attacher::Attacher()
|
Attacher::Attacher()
|
||||||
{
|
{
|
||||||
|
p_.SetOwner(&f8::Timer::Instance()->xtimer_);
|
||||||
|
if (!f8::Timer::Instance()->Initialized()) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Timer::Init()
|
void Timer::Init()
|
||||||
{
|
{
|
||||||
|
initialized_ = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Timer::UnInit()
|
void Timer::UnInit()
|
||||||
@ -29,78 +32,77 @@ namespace f8
|
|||||||
|
|
||||||
void Timer::Update()
|
void Timer::Update()
|
||||||
{
|
{
|
||||||
|
xtimer_.Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Timer::SetTimeout(int expire_time, a8::TimerCb cb)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
void Timer::ModifyTime(TimerWp& timer_wp, int expire_time)
|
||||||
{
|
{
|
||||||
|
xtimer_.ModifyTime(timer_wp.p_, expire_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Timer::Delete(TimerWp& timer_wp)
|
void Timer::Delete(TimerWp& timer_wp)
|
||||||
{
|
{
|
||||||
|
xtimer_.Delete(timer_wp.p_);
|
||||||
}
|
}
|
||||||
|
|
||||||
long long Timer::GetRemainTime(TimerWp& timer_wp)
|
long long Timer::GetRemainTime(TimerWp& timer_wp)
|
||||||
{
|
{
|
||||||
|
return xtimer_.GetRemainTime(timer_wp.p_);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Timer::DeleteCurrentTimer()
|
void Timer::DeleteCurrentTimer()
|
||||||
{
|
{
|
||||||
|
xtimer_.DeleteCurrentTimer();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Timer::IsRunning()
|
bool Timer::IsRunning()
|
||||||
{
|
{
|
||||||
|
return xtimer_.IsRunning();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -61,6 +61,8 @@ namespace f8
|
|||||||
private:
|
private:
|
||||||
bool initialized_ = false;
|
bool initialized_ = false;
|
||||||
a8::XTimer xtimer_;
|
a8::XTimer xtimer_;
|
||||||
|
|
||||||
|
friend class Attacher;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user