GyverDrink
GyverDrink copied to clipboard
Update ServoSmooth.cpp
- Если вызывается поворот на угол или длительностью равным текущей позиции сервы, то ServoSmooth::tick() не когда не вернет true потому как его не вернет ServoSmooth::tickManual(). Что бы вернулось true (или "серва приехала") нужно _servoState иметь true, а оно выставляется только в случае если не выполняется условие abs(_servoTargetPos - (int)_newPos) < SS_DEADZONE, а если _servoTargetPos = _newPos, то условие выполняется, и значение true не когда не будет достигнуто.
- boolean должен возвращать true или false. Если не выполняется millis() - _prevServoTime >= SS_SERVO_PERIOD, то функция ничего не возвращает (вернее ахинею возвращает). И ServoSmooth::tickManual() тоже boolean, потому её не обязательно проверять.
Спасибо! Решил задачу более красиво, работает корректно