BertlTemplate3

Dependencies:   BertlLib mbed

Committer:
Wizo
Date:
Thu Nov 15 17:50:14 2018 +0000
Revision:
0:5fd8e02b1e0e
BertlTemplate3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wizo 0:5fd8e02b1e0e 1 #include "mbed.h"
Wizo 0:5fd8e02b1e0e 2 #include "Serial_HL.h"
Wizo 0:5fd8e02b1e0e 3 #include "Bertl14.h"
Wizo 0:5fd8e02b1e0e 4 #include "BertlObjects.h"
Wizo 0:5fd8e02b1e0e 5
Wizo 0:5fd8e02b1e0e 6 // main=2^0 LS ENC 2^2
Wizo 0:5fd8e02b1e0e 7 BusOut boardPow(p30, P1_6, P1_7);
Wizo 0:5fd8e02b1e0e 8
Wizo 0:5fd8e02b1e0e 9 // ls5 nur beim Betrl15
Wizo 0:5fd8e02b1e0e 10 // AnalogInHL ls1(p18), ls2(p16), ls3(p19), ls4(p17); // B14
Wizo 0:5fd8e02b1e0e 11
Wizo 0:5fd8e02b1e0e 12 //AnalogInHL ls1(p18), ls2(p16), ls3(p20), ls4(p19), ls5(p17); // B15
Wizo 0:5fd8e02b1e0e 13 void ButonBlinker();
Wizo 0:5fd8e02b1e0e 14
Wizo 0:5fd8e02b1e0e 15 //void MotorTest ();
Wizo 0:5fd8e02b1e0e 16
Wizo 0:5fd8e02b1e0e 17 void BackW ();
Wizo 0:5fd8e02b1e0e 18 void ForW ();
Wizo 0:5fd8e02b1e0e 19 void BlinkTask();
Wizo 0:5fd8e02b1e0e 20 int direction = 0; //0 = zrueck und 1 = vorwaerts
Wizo 0:5fd8e02b1e0e 21 Timer t1;
Wizo 0:5fd8e02b1e0e 22
Wizo 0:5fd8e02b1e0e 23
Wizo 0:5fd8e02b1e0e 24
Wizo 0:5fd8e02b1e0e 25 int main(void)
Wizo 0:5fd8e02b1e0e 26 {
Wizo 0:5fd8e02b1e0e 27 boardPow=1;
Wizo 0:5fd8e02b1e0e 28 wait_ms(10);
Wizo 0:5fd8e02b1e0e 29 InitBertl();
Wizo 0:5fd8e02b1e0e 30 pex.useISR=0;
Wizo 0:5fd8e02b1e0e 31 leds=9;
Wizo 0:5fd8e02b1e0e 32 pex.ClearLeds();
Wizo 0:5fd8e02b1e0e 33 t1.start();
Wizo 0:5fd8e02b1e0e 34
Wizo 0:5fd8e02b1e0e 35 pex.WaitUntilButtonPressed();
Wizo 0:5fd8e02b1e0e 36 while(1) {
Wizo 0:5fd8e02b1e0e 37 //ButonBlinker();
Wizo 0:5fd8e02b1e0e 38 //MotorTest ();
Wizo 0:5fd8e02b1e0e 39 BackW();
Wizo 0:5fd8e02b1e0e 40 wait_ms(1000);
Wizo 0:5fd8e02b1e0e 41 ForW();
Wizo 0:5fd8e02b1e0e 42 wait_ms(1000);
Wizo 0:5fd8e02b1e0e 43 }
Wizo 0:5fd8e02b1e0e 44
Wizo 0:5fd8e02b1e0e 45 return 1;
Wizo 0:5fd8e02b1e0e 46 }
Wizo 0:5fd8e02b1e0e 47
Wizo 0:5fd8e02b1e0e 48 void ButonBlinker()
Wizo 0:5fd8e02b1e0e 49 {
Wizo 0:5fd8e02b1e0e 50 pex.ReadButtons();
Wizo 0:5fd8e02b1e0e 51
Wizo 0:5fd8e02b1e0e 52 if (pex.IsButton(BTN_FLL))
Wizo 0:5fd8e02b1e0e 53 {
Wizo 0:5fd8e02b1e0e 54 pex.SetLeds(LED_FL1|LED_FL2);
Wizo 0:5fd8e02b1e0e 55 }
Wizo 0:5fd8e02b1e0e 56
Wizo 0:5fd8e02b1e0e 57 if (pex.IsButton(BTN_FRR))
Wizo 0:5fd8e02b1e0e 58 {
Wizo 0:5fd8e02b1e0e 59 pex.SetLeds(LED_FR1|LED_FR2);
Wizo 0:5fd8e02b1e0e 60 }
Wizo 0:5fd8e02b1e0e 61 wait_ms(100);
Wizo 0:5fd8e02b1e0e 62 pex.ClearLeds();
Wizo 0:5fd8e02b1e0e 63 wait_ms(100);
Wizo 0:5fd8e02b1e0e 64 }
Wizo 0:5fd8e02b1e0e 65
Wizo 0:5fd8e02b1e0e 66
Wizo 0:5fd8e02b1e0e 67 /*
Wizo 0:5fd8e02b1e0e 68 void MotorTest ()
Wizo 0:5fd8e02b1e0e 69 {
Wizo 0:5fd8e02b1e0e 70 if (pex.IsButton(BTN_FRR||BTN_FLL))
Wizo 0:5fd8e02b1e0e 71 {
Wizo 0:5fd8e02b1e0e 72 mL.SetPow(-0.2);
Wizo 0:5fd8e02b1e0e 73 mR.SetPow(-0.2);
Wizo 0:5fd8e02b1e0e 74 }
Wizo 0:5fd8e02b1e0e 75
Wizo 0:5fd8e02b1e0e 76
Wizo 0:5fd8e02b1e0e 77 else if (pex.IsButton(BTN_BR||BTN_BL))
Wizo 0:5fd8e02b1e0e 78 {
Wizo 0:5fd8e02b1e0e 79 mL.SetPow(0.2);
Wizo 0:5fd8e02b1e0e 80 mR.SetPow(0.2);
Wizo 0:5fd8e02b1e0e 81 }
Wizo 0:5fd8e02b1e0e 82
Wizo 0:5fd8e02b1e0e 83 //mL.SetPow(0.2);
Wizo 0:5fd8e02b1e0e 84 //mR.SetPow(0.2);
Wizo 0:5fd8e02b1e0e 85
Wizo 0:5fd8e02b1e0e 86 //wait_ms(2000);
Wizo 0:5fd8e02b1e0e 87
Wizo 0:5fd8e02b1e0e 88 //mL.SetPow(-0.2);
Wizo 0:5fd8e02b1e0e 89 //mR.SetPow(-0.2);
Wizo 0:5fd8e02b1e0e 90
Wizo 0:5fd8e02b1e0e 91 //wait_ms(2000);
Wizo 0:5fd8e02b1e0e 92
Wizo 0:5fd8e02b1e0e 93
Wizo 0:5fd8e02b1e0e 94
Wizo 0:5fd8e02b1e0e 95
Wizo 0:5fd8e02b1e0e 96 }
Wizo 0:5fd8e02b1e0e 97 */
Wizo 0:5fd8e02b1e0e 98
Wizo 0:5fd8e02b1e0e 99 void BackW ()
Wizo 0:5fd8e02b1e0e 100 {
Wizo 0:5fd8e02b1e0e 101 pex.ClearLeds();
Wizo 0:5fd8e02b1e0e 102 mL.SetPow(0.3);
Wizo 0:5fd8e02b1e0e 103 mR.SetPow(0.3);
Wizo 0:5fd8e02b1e0e 104 direction = 0;
Wizo 0:5fd8e02b1e0e 105
Wizo 0:5fd8e02b1e0e 106 pex.SetLeds(LED_FL1|LED_FL2);
Wizo 0:5fd8e02b1e0e 107 pex.SetLeds(LED_FR1|LED_FR2);
Wizo 0:5fd8e02b1e0e 108
Wizo 0:5fd8e02b1e0e 109
Wizo 0:5fd8e02b1e0e 110
Wizo 0:5fd8e02b1e0e 111
Wizo 0:5fd8e02b1e0e 112 while (1 ) {
Wizo 0:5fd8e02b1e0e 113 pex.ReadButtons();
Wizo 0:5fd8e02b1e0e 114 BlinkTask();
Wizo 0:5fd8e02b1e0e 115
Wizo 0:5fd8e02b1e0e 116 if( pex.IsAnyFrontButton() ) {
Wizo 0:5fd8e02b1e0e 117 break;
Wizo 0:5fd8e02b1e0e 118 }
Wizo 0:5fd8e02b1e0e 119
Wizo 0:5fd8e02b1e0e 120 }
Wizo 0:5fd8e02b1e0e 121 mL.SetPow(0);
Wizo 0:5fd8e02b1e0e 122 mR.SetPow(0);
Wizo 0:5fd8e02b1e0e 123
Wizo 0:5fd8e02b1e0e 124
Wizo 0:5fd8e02b1e0e 125 }
Wizo 0:5fd8e02b1e0e 126
Wizo 0:5fd8e02b1e0e 127
Wizo 0:5fd8e02b1e0e 128 void ForW ()
Wizo 0:5fd8e02b1e0e 129 {
Wizo 0:5fd8e02b1e0e 130 pex.ClearLeds();
Wizo 0:5fd8e02b1e0e 131 mL.SetPow(-0.3);
Wizo 0:5fd8e02b1e0e 132 mR.SetPow(-0.3);
Wizo 0:5fd8e02b1e0e 133 direction = 1;
Wizo 0:5fd8e02b1e0e 134
Wizo 0:5fd8e02b1e0e 135
Wizo 0:5fd8e02b1e0e 136 pex.SetLeds(LED_BL1|LED_BL2);
Wizo 0:5fd8e02b1e0e 137 pex.SetLeds(LED_BR1|LED_BR2);
Wizo 0:5fd8e02b1e0e 138
Wizo 0:5fd8e02b1e0e 139 while (1 ) {
Wizo 0:5fd8e02b1e0e 140 pex.ReadButtons();
Wizo 0:5fd8e02b1e0e 141 BlinkTask();
Wizo 0:5fd8e02b1e0e 142
Wizo 0:5fd8e02b1e0e 143 if( pex.IsAnyBackButton() ) {
Wizo 0:5fd8e02b1e0e 144 break;
Wizo 0:5fd8e02b1e0e 145 }
Wizo 0:5fd8e02b1e0e 146
Wizo 0:5fd8e02b1e0e 147
Wizo 0:5fd8e02b1e0e 148 }
Wizo 0:5fd8e02b1e0e 149 mL.SetPow(0);
Wizo 0:5fd8e02b1e0e 150 mR.SetPow(0);
Wizo 0:5fd8e02b1e0e 151 }
Wizo 0:5fd8e02b1e0e 152
Wizo 0:5fd8e02b1e0e 153 void BlinkTask()
Wizo 0:5fd8e02b1e0e 154 {
Wizo 0:5fd8e02b1e0e 155 if( t1.read_ms()>100 ) // alle 100ms = 10Hz
Wizo 0:5fd8e02b1e0e 156 {
Wizo 0:5fd8e02b1e0e 157 t1.reset(); // timer neu starten
Wizo 0:5fd8e02b1e0e 158
Wizo 0:5fd8e02b1e0e 159 if(direction == 0)
Wizo 0:5fd8e02b1e0e 160 {
Wizo 0:5fd8e02b1e0e 161 pex.ToggleLeds(LED_BL1| LED_BR1);
Wizo 0:5fd8e02b1e0e 162 pex.ToggleLeds(LED_BL2| LED_BR2);
Wizo 0:5fd8e02b1e0e 163
Wizo 0:5fd8e02b1e0e 164 } else
Wizo 0:5fd8e02b1e0e 165 {
Wizo 0:5fd8e02b1e0e 166 pex.ToggleLeds(LED_FL1| LED_FR1);
Wizo 0:5fd8e02b1e0e 167 pex.ToggleLeds(LED_FL2| LED_FR2);
Wizo 0:5fd8e02b1e0e 168 }
Wizo 0:5fd8e02b1e0e 169 }
Wizo 0:5fd8e02b1e0e 170 }
Wizo 0:5fd8e02b1e0e 171