Gorazd Kovacic
/
mbed-os-example-blinky-LIGHTNING_copy
test
main.cpp@43:bda92a299378, 2019-06-02 (annotated)
- Committer:
- gorazdko
- Date:
- Sun Jun 02 08:52:41 2019 +0000
- Revision:
- 43:bda92a299378
- Parent:
- 32:0b58d21e87d6
- Child:
- 44:50aa0a0d1222
OK
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jonathan Austin |
3:2757d7abb7d9 | 1 | #include "mbed.h" |
gorazdko | 43:bda92a299378 | 2 | //Program to 'sweep' test a 'standard RC type servo |
gorazdko | 43:bda92a299378 | 3 | //Define some parameters using compiler directive '#define' |
gorazdko | 43:bda92a299378 | 4 | //Check Servo DATA if 0.75ms to 2.25ms then use min=750 and max=2250 |
gorazdko | 43:bda92a299378 | 5 | //NB be values in microseconds (Following are generic values) |
gorazdko | 43:bda92a299378 | 6 | #define MID 1500 |
gorazdko | 43:bda92a299378 | 7 | #define MIN 544 |
gorazdko | 43:bda92a299378 | 8 | #define MAX 2400 |
gorazdko | 43:bda92a299378 | 9 | #define STEP 50 |
gorazdko | 43:bda92a299378 | 10 | //Time delay between steps in milliseconds |
gorazdko | 43:bda92a299378 | 11 | #define TIME 20 //100 |
gorazdko | 43:bda92a299378 | 12 | |
Jonathan Austin |
3:2757d7abb7d9 | 13 | |
gorazdko | 43:bda92a299378 | 14 | #define DELTA 50 |
gorazdko | 43:bda92a299378 | 15 | |
gorazdko | 43:bda92a299378 | 16 | DigitalOut myLed(LED1); |
gorazdko | 43:bda92a299378 | 17 | DigitalIn myButton(USER_BUTTON); |
gorazdko | 43:bda92a299378 | 18 | |
gorazdko | 43:bda92a299378 | 19 | PwmOut myServo(D3); |
gorazdko | 43:bda92a299378 | 20 | |
gorazdko | 43:bda92a299378 | 21 | |
gorazdko | 43:bda92a299378 | 22 | |
Jonathan Austin |
3:2757d7abb7d9 | 23 | |
gorazdko | 43:bda92a299378 | 24 | void motor_on(void) |
gorazdko | 43:bda92a299378 | 25 | { |
gorazdko | 43:bda92a299378 | 26 | |
gorazdko | 43:bda92a299378 | 27 | //myServo.period_ms(20); |
gorazdko | 43:bda92a299378 | 28 | myServo.pulsewidth_us(MID); //NB in microseconds |
gorazdko | 43:bda92a299378 | 29 | |
gorazdko | 43:bda92a299378 | 30 | } |
gorazdko | 43:bda92a299378 | 31 | |
gorazdko | 43:bda92a299378 | 32 | void motor_off(void) |
gorazdko | 43:bda92a299378 | 33 | { |
gorazdko | 43:bda92a299378 | 34 | myServo.pulsewidth_us(MIN+2*DELTA); //NB in microseconds |
gorazdko | 43:bda92a299378 | 35 | } |
gorazdko | 43:bda92a299378 | 36 | |
gorazdko | 43:bda92a299378 | 37 | |
gorazdko | 43:bda92a299378 | 38 | |
Jonathan Austin |
3:2757d7abb7d9 | 39 | int main() { |
gorazdko | 43:bda92a299378 | 40 | |
gorazdko | 43:bda92a299378 | 41 | wait(3); // if (myButton) |
gorazdko | 43:bda92a299378 | 42 | |
gorazdko | 43:bda92a299378 | 43 | |
gorazdko | 43:bda92a299378 | 44 | while (0) |
gorazdko | 43:bda92a299378 | 45 | { |
gorazdko | 43:bda92a299378 | 46 | for (int i=0; i<1000;i++) |
gorazdko | 43:bda92a299378 | 47 | { |
gorazdko | 43:bda92a299378 | 48 | wait_ms(20); |
gorazdko | 43:bda92a299378 | 49 | motor_on(); |
gorazdko | 43:bda92a299378 | 50 | } |
gorazdko | 43:bda92a299378 | 51 | |
gorazdko | 43:bda92a299378 | 52 | for (int i=0; i<1000;i++) |
gorazdko | 43:bda92a299378 | 53 | { |
gorazdko | 43:bda92a299378 | 54 | wait_ms(20); |
gorazdko | 43:bda92a299378 | 55 | motor_off(); |
gorazdko | 43:bda92a299378 | 56 | } |
gorazdko | 43:bda92a299378 | 57 | |
gorazdko | 43:bda92a299378 | 58 | } |
gorazdko | 43:bda92a299378 | 59 | |
gorazdko | 43:bda92a299378 | 60 | |
gorazdko | 43:bda92a299378 | 61 | while (1) |
gorazdko | 43:bda92a299378 | 62 | { |
gorazdko | 43:bda92a299378 | 63 | |
gorazdko | 43:bda92a299378 | 64 | for (int i=0; i<50*3; i++) |
gorazdko | 43:bda92a299378 | 65 | { |
gorazdko | 43:bda92a299378 | 66 | //myServo.period_ms(20); |
gorazdko | 43:bda92a299378 | 67 | myServo.pulsewidth_us(MIN); //NB in microseconds |
gorazdko | 43:bda92a299378 | 68 | wait_ms(TIME); |
Jonathan Austin |
3:2757d7abb7d9 | 69 | } |
gorazdko | 43:bda92a299378 | 70 | |
gorazdko | 43:bda92a299378 | 71 | for (int i=0; i<50*3; i++) |
gorazdko | 43:bda92a299378 | 72 | { |
gorazdko | 43:bda92a299378 | 73 | //myServo.period_ms(20); |
gorazdko | 43:bda92a299378 | 74 | myServo.pulsewidth_us(MID); //NB in microseconds |
gorazdko | 43:bda92a299378 | 75 | wait_ms(TIME); |
gorazdko | 43:bda92a299378 | 76 | } |
gorazdko | 43:bda92a299378 | 77 | |
gorazdko | 43:bda92a299378 | 78 | |
gorazdko | 43:bda92a299378 | 79 | } |
gorazdko | 43:bda92a299378 | 80 | /* |
gorazdko | 43:bda92a299378 | 81 | while(true) { |
gorazdko | 43:bda92a299378 | 82 | for (int i=MIN;i<=MAX;i+=STEP){ |
gorazdko | 43:bda92a299378 | 83 | myServo.pulsewidth_us(i); |
gorazdko | 43:bda92a299378 | 84 | wait_ms(TIME); |
gorazdko | 43:bda92a299378 | 85 | } |
gorazdko | 43:bda92a299378 | 86 | for (int i=MAX;i>=MIN;i-=STEP){ |
gorazdko | 43:bda92a299378 | 87 | myServo.pulsewidth_us(i); |
gorazdko | 43:bda92a299378 | 88 | wait_ms(TIME); |
gorazdko | 43:bda92a299378 | 89 | } |
gorazdko | 43:bda92a299378 | 90 | */ |
gorazdko | 43:bda92a299378 | 91 | |
gorazdko | 43:bda92a299378 | 92 | } |