19 nb::module_ m_timer = m.def_submodule(
"timer",
"Timer utilities");
21 nb::class_<PTimer>(m_timer,
"PTimer")
24 .def_prop_rw(
"ellapsedTime",
25 [](PTimer &timer) {
return timer.getEllapsedTime(); },
26 [](PTimer &timer, time_t value) { timer.setEllapsedTime(value); },
27 "Get or set the ellapsed time between timer triggers")
30 .def(nb::init<time_t>(),
31 nb::arg(
"ellapsedTime") = 1lu,
32 "Constructor with custom ellapsedTime")
34 .def(nb::init<const PTimer &>(),
39 .def(
"setStartTime", [](PTimer &timer, time_t startTime) {
40 timer.setStartTime(startTime);
42 "Set the start time for the timer")
45 .def(
"isTime", [](PTimer &timer, time_t currentTime) ->
bool {
46 return timer.isTime(currentTime);
48 "Check if the elapsed time has passed since start time")
50 .def(
"isTimeWithEllapsed", [](PTimer &timer, time_t ellapsedTime, time_t currentTime) ->
bool {
51 return timer.isTime(ellapsedTime, currentTime);
53 "Check if time has elapsed and return (bool, elapsed_time_ns) tuple"