Exemple #1
0
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;
}
Exemple #2
0
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);
}