This commit is contained in:
aozhiwei 2022-12-17 14:17:31 +08:00
parent c4429a36a8
commit dec7ea7a3a
2 changed files with 22 additions and 18 deletions

View File

@ -9,12 +9,15 @@ namespace f8
Attacher::Attacher()
{
p_.SetOwner(&f8::Timer::Instance()->xtimer_);
if (!f8::Timer::Instance()->Initialized()) {
abort();
}
}
void Timer::Init()
{
initialized_ = true;
}
void Timer::UnInit()
@ -29,78 +32,77 @@ namespace f8
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();
}
}

View File

@ -61,6 +61,8 @@ namespace f8
private:
bool initialized_ = false;
a8::XTimer xtimer_;
friend class Attacher;
};
}