roboforum.ruТехнический форум по робототехнике. |
|
|
if (servo_max_pwm[i]>servo_min_pwm[i]) {
if (servo_pwm[i]>servo_max_pwm[i]) servo_pwm[i]=servo_max_pwm[i];
if (servo_pwm[i]<servo_min_pwm[i]) servo_pwm[i]=servo_min_pwm[i];
} else {
if (servo_pwm[i]>servo_min_pwm[i]) servo_pwm[i]=servo_min_pwm[i];
if (servo_pwm[i]<servo_max_pwm[i]) servo_pwm[i]=servo_max_pwm[i];
}
servo_pwm[i] = Math.Min(servo_pwm[i], servo_max_pwm[i]);
servo_pwm[i] = Math.Max(servo_pwm[i], servo_min_pwm[i]);
int Bound(int v, int min, int max)
{
return Math.Max(Math.Min(v, max), min);
}
int Bound(int v, int a, int b)
{
return Math.Max(Math.Min(v, Math.Max(a, b)), Math.Min(a, b));
}
Виталий писал(а):
- Код: Выделить всё • Развернуть
int Bound(int v, int a, int b)
{
return Math.Max(Math.Min(v, Math.Max(a, b)), Math.Min(a, b));
}
это идеологически нужно, min и max это углы, они могут быть достигнуты при большом PWM или маленьком PWM
Вернуться в коллективные проекты
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2