2023-05-03 14:01:32 +03:00
|
|
|
|
/*
|
|
|
|
|
|
* clock.cpp
|
|
|
|
|
|
*
|
|
|
|
|
|
* Created on: 13 <EFBFBD><EFBFBD><EFBFBD>. 2023 <EFBFBD>.
|
|
|
|
|
|
* Author: sychev
|
|
|
|
|
|
*/
|
2023-06-26 18:58:31 +03:00
|
|
|
|
#include "clock/clock.hpp"
|
2023-05-03 14:01:32 +03:00
|
|
|
|
|
|
|
|
|
|
bool free_rtos::Clock::init(uint32_t period_ms, Callback cbk, void * arg)
|
|
|
|
|
|
{
|
|
|
|
|
|
ClockP_Params clockParams;
|
|
|
|
|
|
ClockP_Params_init(&clockParams);
|
|
|
|
|
|
|
|
|
|
|
|
prd_ms_ = period_ms;
|
|
|
|
|
|
|
|
|
|
|
|
clockParams.timeout = ClockP_usecToTicks(prd_ms_ * 1000);
|
|
|
|
|
|
clockParams.period = clockParams.timeout;
|
|
|
|
|
|
clockParams.callback = cbk;
|
|
|
|
|
|
clockParams.args = arg;
|
|
|
|
|
|
|
|
|
|
|
|
int32_t status = ClockP_construct(&obj_, &clockParams);
|
|
|
|
|
|
|
|
|
|
|
|
return (SystemP_SUCCESS == status);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void free_rtos::Clock::start() {
|
|
|
|
|
|
ClockP_start(&obj_);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void free_rtos::Clock::stop() {
|
|
|
|
|
|
ClockP_stop(&obj_);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
free_rtos::Clock::~Clock() {
|
|
|
|
|
|
ClockP_destruct (&obj_);
|
|
|
|
|
|
}
|