int up_pwm_servo_set_rate_group_update(unsigned group, unsigned rate) { /* limit update rate to 1..10000Hz; somewhat arbitrary but safe */ if (rate < 1) { return -ERANGE; } if (rate > 10000) { return -ERANGE; } if ((group >= MAX_IO_TIMERS) || (io_timers[group].base == 0)) { return ERROR; } io_timer_set_rate(group, rate); return OK; }
int up_pwm_servo_set_rate_group_update(unsigned group, unsigned rate) { if ((group >= MAX_IO_TIMERS) || (io_timers[group].base == 0)) { return ERROR; } /* Allow a rate of 0 to enter oneshot mode */ if (rate != 0) { /* limit update rate to 1..10000Hz; somewhat arbitrary but safe */ if (rate < 1) { return -ERANGE; } if (rate > 10000) { return -ERANGE; } } return io_timer_set_rate(group, rate); }