34 lines
466 B
C++
34 lines
466 B
C++
/*
|
||
* timer_sw.cpp
|
||
*
|
||
* Created on: 13 мар. 2023 г.
|
||
* Author: sychev
|
||
*/
|
||
#include "free_rtos/timer_sw/timer_sw.hpp"
|
||
|
||
void TimerSw::start(uint32_t period) {
|
||
enable_ = true;
|
||
cnt_ = 0;
|
||
prd_ = period;
|
||
}
|
||
|
||
void TimerSw::stop() {
|
||
enable_ = false;
|
||
}
|
||
|
||
bool TimerSw::tick(uint32_t ticks) {
|
||
|
||
if (!enable_) {
|
||
return false;
|
||
}
|
||
|
||
cnt_+=ticks;
|
||
|
||
if (cnt_ >= prd_) {
|
||
cnt_ = 0;
|
||
return true;
|
||
}
|
||
|
||
return false;
|
||
}
|