/*
 * slave's time = master's time * k + offset
 */
void update_clock(float k, int64_t offset) {
  k_ = k;
  offset_ = offset;
  if (task_list) {
    set_task_interrupt(task_list->time);
  } else {
    disable_timed_task();
  }
}
Esempio n. 2
0
static inline void run_timed_task() {
  struct TimedTask *task = pop_task_list(&task_list);
  task->task();
  free_timed_task(task);
  if (task_list) {
    set_task_interrupt(task_list->time);
  } else {
    disable_timed_task();
  }
}