Dependents: serial_connected_mcu_nucleo serial_connected_mcu_nucleo
servo.cpp@4:31ed2ce96ca3, 2016-06-25 (annotated)
- Committer:
- inst
- Date:
- Sat Jun 25 09:16:14 2016 +0000
- Revision:
- 4:31ed2ce96ca3
- Parent:
- 3:6cadf3326257
- Child:
- 5:a4d580b86638
????????????
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 | 4:31ed2ce96ca3 | 5 | const float servo::_max_position_sec = 2.15f * 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 | } |