int timer_set(tim_t dev, int channel, unsigned int timeout) { // unsigned int value = timer_read(dev) + timeout; // // switch (channel) { // case 0: // timers[dev].base->MR0 = value; // timers[dev].base->MCR.MR0I = 1; // break; // case 1: // timers[dev].base->MR1 = value; // timers[dev].base->MCR.MR1I = 1; // break; // case 2: // timers[dev].base->MR2 = value; // timers[dev].base->MCR.MR2I = 1; // break; // case 3: // timers[dev].base->MR3 = value; // timers[dev].base->MCR.MR3I = 1; // break; // } unsigned int now = timer_read(dev); return timer_set_absolute(dev, channel, now + timeout); }
int timer_set(tim_t dev, int channel, unsigned int timeout) { if (dev == TIMER_0) { unsigned int now = timer_read(dev); return timer_set_absolute(dev, channel, now + timeout); } return -1; }
static inline void _lltimer_set(uint32_t target) { if (_in_handler) { return; } DEBUG("__lltimer_set(): setting %" PRIu32 "\n", _mask(target)); #ifdef XTIMER_SHIFT target >>= XTIMER_SHIFT; if (!target) { target++; } #endif timer_set_absolute(XTIMER, XTIMER_CHAN, _mask(target)); }
int timer_set(tim_t dev, int channel, unsigned int timeout) { uint32_t now = timer_read(dev); return timer_set_absolute(dev, channel, (now + timeout - 1)); }
int timer_set(tim_t dev, int channel, unsigned int timeout) { return timer_set_absolute(dev, channel, timer_read(dev) + timeout); }
int timer_set(tim_t dev, int channel, unsigned int timeout) { uint16_t target = TIMER_BASE->R + (uint16_t)timeout; return timer_set_absolute(dev, channel, (unsigned int)target); }
void hwtimer_arch_set_absolute(unsigned long value, short timer) { timer_set_absolute(HW_TIMER, timer, value); }
int timer_set(tim_t tim, int chan, unsigned int value) { uint32_t now = timer_read(tim); return timer_set_absolute(tim, chan, (now + value)); }
int timer_set(tim_t tim, int channel, unsigned int timeout) { unsigned int now = timer_read(tim); return timer_set_absolute(tim, channel, (timeout + now)); }
void hwtimer_arch_set_absolute(unsigned long value, short timer) { timer_set_absolute(hw_timers[timer/2], (timer%2), value); }
int timer_set(tim_t dev, int channel, unsigned int timeout) { unsigned int now = timer_read(dev); timer_set_absolute(dev, channel, now + timeout); return 0; }