16 m.doc() =
"Nanobind bindings for Timer class";
17 nb::class_<PTimer>(m,
"PTimer")
20 .def_prop_rw(
"ellapsedTime",
21 [](PTimer &timer) {
return timer.getEllapsedTime(); },
22 [](PTimer &timer, time_t value) { timer.setEllapsedTime(value); },
23 "Get or set the ellapsed time between timer triggers")
26 .def(nb::init<time_t>(),
27 nb::arg(
"ellapsedTime") = 1lu,
28 "Constructor with custom ellapsedTime")
30 .def(nb::init<const PTimer &>(),
35 .def(
"setStartTime", [](PTimer &timer, time_t startTime) {
36 timer.setStartTime(startTime);
38 "Set the start time for the timer")
41 .def(
"isTime", [](PTimer &timer, time_t currentTime) ->
bool {
42 return timer.isTime(currentTime);
44 "Check if the elapsed time has passed since start time")
46 .def(
"isTimeWithEllapsed", [](PTimer &timer, time_t ellapsedTime, time_t currentTime) ->
bool {
47 return timer.isTime(ellapsedTime, currentTime);
49 "Check if time has elapsed and return (bool, elapsed_time_ns) tuple");