Damian Herman / Mbed 2 deprecated NetrunnerMain

Dependencies:   mbed

Committer:
overkiller
Date:
Thu Aug 13 15:52:19 2015 +0000
Revision:
5:1afe17a20a5b
Parent:
4:cc391b3f3e57
Child:
6:9eb153e1d472
sensor code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
overkiller 1:90d75436758b 1 #ifndef DRIVER_H
overkiller 1:90d75436758b 2 #define DRIVER_H
overkiller 1:90d75436758b 3 #include "mbed.h"
overkiller 4:cc391b3f3e57 4 #include "SerialPrompt.h"
overkiller 1:90d75436758b 5 DigitalOut en1(D2);
overkiller 1:90d75436758b 6 DigitalOut en2(D4);
overkiller 1:90d75436758b 7 DigitalOut in1(D3);
overkiller 1:90d75436758b 8 DigitalOut in2(D5);
overkiller 1:90d75436758b 9 DigitalOut in3(D6);
overkiller 5:1afe17a20a5b 10 DigitalOut in4(D7);
overkiller 2:09cc6b203fe4 11 int inState[4] = {0,0,0,0};
overkiller 2:09cc6b203fe4 12 void applyStates()
overkiller 2:09cc6b203fe4 13 {
overkiller 2:09cc6b203fe4 14 in1 = inState[0];
overkiller 2:09cc6b203fe4 15 in2 = inState[1];
overkiller 2:09cc6b203fe4 16 in3 = inState[2];
overkiller 2:09cc6b203fe4 17 in4 = inState[3];
overkiller 2:09cc6b203fe4 18 }
overkiller 2:09cc6b203fe4 19 void resetEngines()
overkiller 2:09cc6b203fe4 20 {
overkiller 2:09cc6b203fe4 21 for(int i = 0; i < 4; ++i)
overkiller 2:09cc6b203fe4 22 {
overkiller 2:09cc6b203fe4 23 inState[i] = 0;
overkiller 2:09cc6b203fe4 24 }
overkiller 2:09cc6b203fe4 25 applyStates();
overkiller 2:09cc6b203fe4 26 }
overkiller 5:1afe17a20a5b 27 void forward()
overkiller 5:1afe17a20a5b 28 {
overkiller 5:1afe17a20a5b 29 resetEngines();
overkiller 5:1afe17a20a5b 30 inState[0] = 0;
overkiller 5:1afe17a20a5b 31 inState[1] = 1;
overkiller 5:1afe17a20a5b 32 inState[2] = 0;
overkiller 5:1afe17a20a5b 33 inState[3] = 1;
overkiller 5:1afe17a20a5b 34 applyStates();
overkiller 5:1afe17a20a5b 35 }
overkiller 1:90d75436758b 36 void testEngines()
overkiller 1:90d75436758b 37 {
overkiller 2:09cc6b203fe4 38 int i = 0;
overkiller 2:09cc6b203fe4 39 while(i < 4)
overkiller 2:09cc6b203fe4 40 {
overkiller 2:09cc6b203fe4 41 if(i % 2 == 0)
overkiller 2:09cc6b203fe4 42 {
overkiller 2:09cc6b203fe4 43 inState[i] = 1;
overkiller 2:09cc6b203fe4 44 }
overkiller 2:09cc6b203fe4 45 i++;
overkiller 2:09cc6b203fe4 46 }
overkiller 2:09cc6b203fe4 47 applyStates();
overkiller 2:09cc6b203fe4 48 wait(5);
overkiller 2:09cc6b203fe4 49 resetEngines();
overkiller 2:09cc6b203fe4 50 int j = 0;
overkiller 2:09cc6b203fe4 51 while(j < 4)
overkiller 2:09cc6b203fe4 52 {
overkiller 2:09cc6b203fe4 53 if(j % 2 != 0)
overkiller 2:09cc6b203fe4 54 {
overkiller 2:09cc6b203fe4 55 inState[j] = 1;
overkiller 2:09cc6b203fe4 56 }
overkiller 2:09cc6b203fe4 57 j++;
overkiller 2:09cc6b203fe4 58 }
overkiller 2:09cc6b203fe4 59 applyStates();
overkiller 2:09cc6b203fe4 60 wait(5);
overkiller 2:09cc6b203fe4 61 resetEngines();
overkiller 1:90d75436758b 62 }
overkiller 2:09cc6b203fe4 63
overkiller 1:90d75436758b 64 void enableAll()
overkiller 1:90d75436758b 65 {
overkiller 1:90d75436758b 66 en1 = 1;
overkiller 1:90d75436758b 67 en2 = 1;
overkiller 1:90d75436758b 68 }
overkiller 1:90d75436758b 69 void enableOne(int which)
overkiller 1:90d75436758b 70 {
overkiller 1:90d75436758b 71 if(which == 0)
overkiller 1:90d75436758b 72 {
overkiller 1:90d75436758b 73 en1 = 1;
overkiller 1:90d75436758b 74 }else if(which == 1)
overkiller 1:90d75436758b 75 {
overkiller 1:90d75436758b 76 en2 = 1;
overkiller 1:90d75436758b 77 }
overkiller 1:90d75436758b 78 }
overkiller 1:90d75436758b 79 void disableAll()
overkiller 1:90d75436758b 80 {
overkiller 1:90d75436758b 81 en1 = 0;
overkiller 1:90d75436758b 82 en2 = 0;
overkiller 1:90d75436758b 83 }
overkiller 1:90d75436758b 84 void disableOne(int which)
overkiller 1:90d75436758b 85 {
overkiller 1:90d75436758b 86 if(which == 0)
overkiller 1:90d75436758b 87 {
overkiller 1:90d75436758b 88 en1 = 0;
overkiller 1:90d75436758b 89 }else if(which == 1)
overkiller 1:90d75436758b 90 {
overkiller 1:90d75436758b 91 en2 = 0;
overkiller 1:90d75436758b 92 }
overkiller 1:90d75436758b 93 }
overkiller 1:90d75436758b 94 #endif //DRIVER_H