void Scheduler::handle_fire_trigger(void) { const double time = (double)timer_.expires_at().time_of_day().total_milliseconds() / 1000.0; printf("[INFO][Scheduler] search service(s). [%8.3f]\n", time); if (!trigger_.empty()) { trigger_(); } timer_.expires_at(timer_.expires_at() + interval_); timer_.async_wait(boost::bind(&Scheduler::handle_fire_trigger, this)); }
void NetAlarm::checkForMotion() { if (armed_ && intervalLapsed_() && digitalRead(PIN_PIR) == HIGH) { trigger_(); } }