2023-05-03 14:01:32 +03:00
|
|
|
|
/*
|
|
|
|
|
|
* clock.hpp
|
|
|
|
|
|
*
|
2024-02-21 10:41:56 +03:00
|
|
|
|
* Created on: 13 мар. 2023 г.
|
2023-05-03 14:01:32 +03:00
|
|
|
|
* Author: sychev
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef FREE_RTOS_CLOCK_CLOCK_HPP_
|
|
|
|
|
|
#define FREE_RTOS_CLOCK_CLOCK_HPP_
|
|
|
|
|
|
|
|
|
|
|
|
#include <kernel/dpl/ClockP.h>
|
|
|
|
|
|
|
|
|
|
|
|
namespace free_rtos {
|
|
|
|
|
|
|
|
|
|
|
|
class Clock {
|
|
|
|
|
|
public:
|
|
|
|
|
|
using Callback = void(*)(ClockP_Object *,void *);
|
|
|
|
|
|
|
|
|
|
|
|
bool init(uint32_t period_ms, Callback cbk, void * arg);
|
|
|
|
|
|
|
|
|
|
|
|
void start();
|
|
|
|
|
|
|
|
|
|
|
|
void stop();
|
|
|
|
|
|
|
|
|
|
|
|
uint32_t getPeriod() {
|
|
|
|
|
|
return prd_ms_;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
~Clock();
|
|
|
|
|
|
private:
|
|
|
|
|
|
ClockP_Object obj_;
|
2024-02-21 10:41:56 +03:00
|
|
|
|
uint32_t prd_ms_; /// Период в мс
|
2023-05-03 14:01:32 +03:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* FREE_RTOS_CLOCK_CLOCK_HPP_ */
|