LIB Bertl 2041
Fork of I2C_LEDs by
Enginee-PWM.cpp@1:97a7e9e9a229, 2016-04-24 (annotated)
- Committer:
- Drohne
- Date:
- Sun Apr 24 08:29:05 2016 +0000
- Revision:
- 1:97a7e9e9a229
Bulme bertl 14 lib
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Drohne | 1:97a7e9e9a229 | 1 | #include "mbed.h" |
Drohne | 1:97a7e9e9a229 | 2 | #include "Enginee-PWM.h" |
Drohne | 1:97a7e9e9a229 | 3 | |
Drohne | 1:97a7e9e9a229 | 4 | // decleration for left engine |
Drohne | 1:97a7e9e9a229 | 5 | PwmOut MotorL_EN(P1_15); |
Drohne | 1:97a7e9e9a229 | 6 | DigitalOut MotorL_FORWARD(P1_1); |
Drohne | 1:97a7e9e9a229 | 7 | DigitalOut MotorL_REVERSE(P1_0); |
Drohne | 1:97a7e9e9a229 | 8 | |
Drohne | 1:97a7e9e9a229 | 9 | // decleration for right engine |
Drohne | 1:97a7e9e9a229 | 10 | PwmOut MotorR_EN(P0_21); |
Drohne | 1:97a7e9e9a229 | 11 | DigitalOut MotorR_FORWARD(P1_3); |
Drohne | 1:97a7e9e9a229 | 12 | DigitalOut MotorR_REVERSE(P1_4); |
Drohne | 1:97a7e9e9a229 | 13 | |
Drohne | 1:97a7e9e9a229 | 14 | void period_us(int periode) // underprogramm fot the periode |
Drohne | 1:97a7e9e9a229 | 15 | { |
Drohne | 1:97a7e9e9a229 | 16 | MotorL_EN.period_us(periode); // declaration for the Periode of the left egngine |
Drohne | 1:97a7e9e9a229 | 17 | MotorR_EN.period_us(periode); // declaration for the Periode of the right egngine |
Drohne | 1:97a7e9e9a229 | 18 | } |
Drohne | 1:97a7e9e9a229 | 19 | |
Drohne | 1:97a7e9e9a229 | 20 | void bertl_engine(int left, int right) |
Drohne | 1:97a7e9e9a229 | 21 | { |
Drohne | 1:97a7e9e9a229 | 22 | int index_Engine = 0; // agrument for the Switch |
Drohne | 1:97a7e9e9a229 | 23 | |
Drohne | 1:97a7e9e9a229 | 24 | // decleration for left and right engine |
Drohne | 1:97a7e9e9a229 | 25 | if (left > 0 && right > 0) // all arguments are positive |
Drohne | 1:97a7e9e9a229 | 26 | index_Engine = 1; |
Drohne | 1:97a7e9e9a229 | 27 | |
Drohne | 1:97a7e9e9a229 | 28 | else if (left < 0 && right > 0) // left argument is negative and right is positive |
Drohne | 1:97a7e9e9a229 | 29 | index_Engine = 2; |
Drohne | 1:97a7e9e9a229 | 30 | |
Drohne | 1:97a7e9e9a229 | 31 | else if (left > 0 && right < 0) // left argument is positive and right is negative |
Drohne | 1:97a7e9e9a229 | 32 | index_Engine = 3; |
Drohne | 1:97a7e9e9a229 | 33 | |
Drohne | 1:97a7e9e9a229 | 34 | else if (left < 0 && right < 0) // left argument is negative and right is negative |
Drohne | 1:97a7e9e9a229 | 35 | index_Engine = 4; |
Drohne | 1:97a7e9e9a229 | 36 | |
Drohne | 1:97a7e9e9a229 | 37 | else if (left == 0 && right < 0) // left argument is zero and right is negative |
Drohne | 1:97a7e9e9a229 | 38 | index_Engine = 5; |
Drohne | 1:97a7e9e9a229 | 39 | |
Drohne | 1:97a7e9e9a229 | 40 | else if (left == 0 && right > 0) // left argument is zero and right is positive |
Drohne | 1:97a7e9e9a229 | 41 | index_Engine = 6; |
Drohne | 1:97a7e9e9a229 | 42 | |
Drohne | 1:97a7e9e9a229 | 43 | else if (left < 0 && right == 0) // left argument is negative and right is is zero |
Drohne | 1:97a7e9e9a229 | 44 | index_Engine = 7; |
Drohne | 1:97a7e9e9a229 | 45 | |
Drohne | 1:97a7e9e9a229 | 46 | else if (left > 0 && right == 0) // left argument is positive and right is is zero |
Drohne | 1:97a7e9e9a229 | 47 | index_Engine = 8; |
Drohne | 1:97a7e9e9a229 | 48 | else // all egines are zero |
Drohne | 1:97a7e9e9a229 | 49 | index_Engine = 9; |
Drohne | 1:97a7e9e9a229 | 50 | |
Drohne | 1:97a7e9e9a229 | 51 | switch (index_Engine) //begin Switch |
Drohne | 1:97a7e9e9a229 | 52 | { |
Drohne | 1:97a7e9e9a229 | 53 | case 1: |
Drohne | 1:97a7e9e9a229 | 54 | MotorR_EN.pulsewidth_us(right); // to declratate the speed of the right engine (-us - +us) |
Drohne | 1:97a7e9e9a229 | 55 | MotorL_EN.pulsewidth_us(left); // to declratate the speed of the left engine (-us - +us) |
Drohne | 1:97a7e9e9a229 | 56 | MotorL_REVERSE = 0; |
Drohne | 1:97a7e9e9a229 | 57 | MotorR_REVERSE = 0; |
Drohne | 1:97a7e9e9a229 | 58 | MotorL_FORWARD = 1; |
Drohne | 1:97a7e9e9a229 | 59 | MotorR_FORWARD = 1; |
Drohne | 1:97a7e9e9a229 | 60 | |
Drohne | 1:97a7e9e9a229 | 61 | break; |
Drohne | 1:97a7e9e9a229 | 62 | |
Drohne | 1:97a7e9e9a229 | 63 | case 2: |
Drohne | 1:97a7e9e9a229 | 64 | MotorR_EN.pulsewidth_us(right); |
Drohne | 1:97a7e9e9a229 | 65 | MotorL_EN.pulsewidth_us(-left); |
Drohne | 1:97a7e9e9a229 | 66 | MotorL_FORWARD = 0; |
Drohne | 1:97a7e9e9a229 | 67 | MotorR_REVERSE = 0; |
Drohne | 1:97a7e9e9a229 | 68 | MotorL_REVERSE = 1; |
Drohne | 1:97a7e9e9a229 | 69 | MotorR_FORWARD = 1; |
Drohne | 1:97a7e9e9a229 | 70 | break; |
Drohne | 1:97a7e9e9a229 | 71 | |
Drohne | 1:97a7e9e9a229 | 72 | case 3: |
Drohne | 1:97a7e9e9a229 | 73 | MotorR_EN.pulsewidth_us(-right); |
Drohne | 1:97a7e9e9a229 | 74 | MotorL_EN.pulsewidth_us(left); |
Drohne | 1:97a7e9e9a229 | 75 | MotorL_REVERSE = 0; |
Drohne | 1:97a7e9e9a229 | 76 | MotorR_FORWARD = 0; |
Drohne | 1:97a7e9e9a229 | 77 | MotorL_FORWARD = 1; |
Drohne | 1:97a7e9e9a229 | 78 | MotorR_REVERSE = 1; |
Drohne | 1:97a7e9e9a229 | 79 | break; |
Drohne | 1:97a7e9e9a229 | 80 | |
Drohne | 1:97a7e9e9a229 | 81 | case 4: |
Drohne | 1:97a7e9e9a229 | 82 | MotorR_EN.pulsewidth_us(-right); |
Drohne | 1:97a7e9e9a229 | 83 | MotorL_EN.pulsewidth_us(-left); |
Drohne | 1:97a7e9e9a229 | 84 | MotorL_FORWARD = 0; |
Drohne | 1:97a7e9e9a229 | 85 | MotorR_FORWARD = 0; |
Drohne | 1:97a7e9e9a229 | 86 | MotorL_REVERSE = 1; |
Drohne | 1:97a7e9e9a229 | 87 | MotorR_REVERSE = 1; |
Drohne | 1:97a7e9e9a229 | 88 | break; |
Drohne | 1:97a7e9e9a229 | 89 | |
Drohne | 1:97a7e9e9a229 | 90 | case 5: |
Drohne | 1:97a7e9e9a229 | 91 | MotorL_EN = 0; |
Drohne | 1:97a7e9e9a229 | 92 | MotorR_EN.pulsewidth_us(-right); |
Drohne | 1:97a7e9e9a229 | 93 | MotorR_FORWARD = 0; |
Drohne | 1:97a7e9e9a229 | 94 | MotorR_REVERSE = 1; |
Drohne | 1:97a7e9e9a229 | 95 | break; |
Drohne | 1:97a7e9e9a229 | 96 | |
Drohne | 1:97a7e9e9a229 | 97 | case 6: |
Drohne | 1:97a7e9e9a229 | 98 | MotorL_EN = 0; |
Drohne | 1:97a7e9e9a229 | 99 | MotorR_EN.pulsewidth_us(right); |
Drohne | 1:97a7e9e9a229 | 100 | MotorR_REVERSE = 0; |
Drohne | 1:97a7e9e9a229 | 101 | MotorR_FORWARD = 1; |
Drohne | 1:97a7e9e9a229 | 102 | break; |
Drohne | 1:97a7e9e9a229 | 103 | |
Drohne | 1:97a7e9e9a229 | 104 | case 7: |
Drohne | 1:97a7e9e9a229 | 105 | MotorR_EN = 0; |
Drohne | 1:97a7e9e9a229 | 106 | MotorL_EN.pulsewidth_us(-left); |
Drohne | 1:97a7e9e9a229 | 107 | MotorL_FORWARD = 0; |
Drohne | 1:97a7e9e9a229 | 108 | MotorL_REVERSE = 1; |
Drohne | 1:97a7e9e9a229 | 109 | break; |
Drohne | 1:97a7e9e9a229 | 110 | |
Drohne | 1:97a7e9e9a229 | 111 | case 8: |
Drohne | 1:97a7e9e9a229 | 112 | MotorR_EN = 0; |
Drohne | 1:97a7e9e9a229 | 113 | MotorL_EN.pulsewidth_us(left); |
Drohne | 1:97a7e9e9a229 | 114 | MotorL_REVERSE = 0; |
Drohne | 1:97a7e9e9a229 | 115 | MotorL_FORWARD = 1; |
Drohne | 1:97a7e9e9a229 | 116 | break; |
Drohne | 1:97a7e9e9a229 | 117 | |
Drohne | 1:97a7e9e9a229 | 118 | case 9: |
Drohne | 1:97a7e9e9a229 | 119 | MotorR_EN = 0; |
Drohne | 1:97a7e9e9a229 | 120 | MotorL_EN = 0; |
Drohne | 1:97a7e9e9a229 | 121 | break; |
Drohne | 1:97a7e9e9a229 | 122 | }//end Switch |
Drohne | 1:97a7e9e9a229 | 123 | }//end bertl_engine |