Dependents: serial_connected_mcu_nucleo serial_connected_mcu_nucleo
servo.cpp@3:6cadf3326257, 2016-06-25 (annotated)
- Committer:
- inst
- Date:
- Sat Jun 25 09:04:06 2016 +0000
- Revision:
- 3:6cadf3326257
- Parent:
- 2:58169cf31b49
- Child:
- 4:31ed2ce96ca3
_min_position_sec = 0.9f => _min_position_sec = 0.85f
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
inst | 0:54b8292756b8 | 1 | #include "servo.hpp" |
inst | 0:54b8292756b8 | 2 | #include "mbed.h" |
inst | 0:54b8292756b8 | 3 | |
inst | 3:6cadf3326257 | 4 | const float servo::_min_position_sec = 0.85f * 0.001f; |
inst | 2:58169cf31b49 | 5 | const float servo::_max_position_sec = 2.1f * 0.001f; |
inst | 0:54b8292756b8 | 6 | |
inst | 2:58169cf31b49 | 7 | servo::servo(PinName pin) : _pwm(pin) { |
inst | 2:58169cf31b49 | 8 | _pwm.period(20.0f * 0.001f); |
inst | 0:54b8292756b8 | 9 | } |
inst | 0:54b8292756b8 | 10 | |
inst | 0:54b8292756b8 | 11 | void servo::set_position(float pos) { |
inst | 3:6cadf3326257 | 12 | if (pos >= 1.0f) { |
inst | 3:6cadf3326257 | 13 | pos = 1.0f; |
inst | 3:6cadf3326257 | 14 | } else if (pos <= -1.0f) { |
inst | 3:6cadf3326257 | 15 | pos = -1.0f; |
inst | 3:6cadf3326257 | 16 | } |
inst | 3:6cadf3326257 | 17 | pos += 1.0f; |
inst | 3:6cadf3326257 | 18 | pos *= 0.5f; |
inst | 2:58169cf31b49 | 19 | _pwm.pulsewidth((1.0f - pos) * _min_position_sec + pos * _max_position_sec); |
inst | 0:54b8292756b8 | 20 | } |