Dependents: serial_connected_mcu_nucleo serial_connected_mcu_nucleo
Diff: servo.cpp
- Revision:
- 2:58169cf31b49
- Parent:
- 1:ffc003a37375
- Child:
- 3:6cadf3326257
--- a/servo.cpp Fri Feb 26 16:27:25 2016 +0000 +++ b/servo.cpp Sat Jun 25 05:18:53 2016 +0000 @@ -1,18 +1,13 @@ #include "servo.hpp" -#include "mbed_stl.hpp" #include "mbed.h" -namespace mbed_stl { +const float servo::_min_position_sec = 0.9f * 0.001f; +const float servo::_max_position_sec = 2.1f * 0.001f; -const float servo::min_position_sec_ = 0.9f * 0.001f; -const float servo::max_position_sec_ = 2.1f * 0.001f; - -servo::servo(PinName pin) : pwm_(pin) { - pwm_.period(20.0f * 0.001f); +servo::servo(PinName pin) : _pwm(pin) { + _pwm.period(20.0f * 0.001f); } void servo::set_position(float pos) { - pwm_.pulsewidth(linear_algebra::lerp(pos, min_position_sec_, max_position_sec_)); + _pwm.pulsewidth((1.0f - pos) * _min_position_sec + pos * _max_position_sec); } - -} /* namespace mbed_stl */