Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
sm_servo.cpp@2:e9d928fd327a, 2019-09-28 (annotated)
- Committer:
- GaspardD
- Date:
- Sat Sep 28 22:58:02 2019 +0000
- Revision:
- 2:e9d928fd327a
- Child:
- 3:1b7eb426247e
servo state machine
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
GaspardD | 2:e9d928fd327a | 1 | #include "sm_servo.h" |
GaspardD | 2:e9d928fd327a | 2 | |
GaspardD | 2:e9d928fd327a | 3 | PwmOut pwm_Servo(PE_9); |
GaspardD | 2:e9d928fd327a | 4 | E_STATE_SERVO e_stateServo; |
GaspardD | 2:e9d928fd327a | 5 | |
GaspardD | 2:e9d928fd327a | 6 | |
GaspardD | 2:e9d928fd327a | 7 | void init_sm_servo() |
GaspardD | 2:e9d928fd327a | 8 | { |
GaspardD | 2:e9d928fd327a | 9 | pc.printf("init servo with pulse %d us",SERVO_PULSE_MIDDLE_US); |
GaspardD | 2:e9d928fd327a | 10 | pwm_Servo.period_ms(SERVO_PERIOD_DURATION_MS); |
GaspardD | 2:e9d928fd327a | 11 | pwm_Servo.pulsewidth_us(SERVO_PULSE_MIDDLE_US); |
GaspardD | 2:e9d928fd327a | 12 | e_stateServo = SERVO_INIT; |
GaspardD | 2:e9d928fd327a | 13 | } |
GaspardD | 2:e9d928fd327a | 14 | |
GaspardD | 2:e9d928fd327a | 15 | void update_sm_servo() |
GaspardD | 2:e9d928fd327a | 16 | { |
GaspardD | 2:e9d928fd327a | 17 | E_STATE_SERVO next_state; |
GaspardD | 2:e9d928fd327a | 18 | |
GaspardD | 2:e9d928fd327a | 19 | switch(e_stateServo) { |
GaspardD | 2:e9d928fd327a | 20 | case SERVO_INIT: |
GaspardD | 2:e9d928fd327a | 21 | next_state = SERVO_COMMAND; |
GaspardD | 2:e9d928fd327a | 22 | break; |
GaspardD | 2:e9d928fd327a | 23 | case SERVO_COMMAND: |
GaspardD | 2:e9d928fd327a | 24 | break; |
GaspardD | 2:e9d928fd327a | 25 | default: |
GaspardD | 2:e9d928fd327a | 26 | break; |
GaspardD | 2:e9d928fd327a | 27 | } |
GaspardD | 2:e9d928fd327a | 28 | |
GaspardD | 2:e9d928fd327a | 29 | e_stateServo = next_state; |
GaspardD | 2:e9d928fd327a | 30 | return; |
GaspardD | 2:e9d928fd327a | 31 | } |
GaspardD | 2:e9d928fd327a | 32 | |
GaspardD | 2:e9d928fd327a | 33 | void output_sm_servo() |
GaspardD | 2:e9d928fd327a | 34 | { |
GaspardD | 2:e9d928fd327a | 35 | return; |
GaspardD | 2:e9d928fd327a | 36 | } |