Setup
Setup.cpp@0:edde6cee85f5, 2019-05-15 (annotated)
- Committer:
- jmateo09
- Date:
- Wed May 15 13:44:42 2019 +0000
- Revision:
- 0:edde6cee85f5
Setup
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jmateo09 | 0:edde6cee85f5 | 1 | #include "Setup.h" |
jmateo09 | 0:edde6cee85f5 | 2 | #include "mbed.h" |
jmateo09 | 0:edde6cee85f5 | 3 | #include "XBee.h" |
jmateo09 | 0:edde6cee85f5 | 4 | #include "MODSERIAL.h" |
jmateo09 | 0:edde6cee85f5 | 5 | #include "sstream" |
jmateo09 | 0:edde6cee85f5 | 6 | |
jmateo09 | 0:edde6cee85f5 | 7 | Communication::Communication() : pc(USBTX, USBRX, 256,256), XBee(p13, p14,256,256) |
jmateo09 | 0:edde6cee85f5 | 8 | { |
jmateo09 | 0:edde6cee85f5 | 9 | |
jmateo09 | 0:edde6cee85f5 | 10 | } |
jmateo09 | 0:edde6cee85f5 | 11 | |
jmateo09 | 0:edde6cee85f5 | 12 | void Communication::DoComConfig(char *swversion) |
jmateo09 | 0:edde6cee85f5 | 13 | { |
jmateo09 | 0:edde6cee85f5 | 14 | |
jmateo09 | 0:edde6cee85f5 | 15 | DigitalOut rst1(p11); //Digital reset for the XBee, 200ns for reset |
jmateo09 | 0:edde6cee85f5 | 16 | DigitalOut Sleep(p12); //0 is awake. 1 is Sleep. |
jmateo09 | 0:edde6cee85f5 | 17 | |
jmateo09 | 0:edde6cee85f5 | 18 | |
jmateo09 | 0:edde6cee85f5 | 19 | Sleep = 0; // sleep mode off |
jmateo09 | 0:edde6cee85f5 | 20 | wait_ms(2); |
jmateo09 | 0:edde6cee85f5 | 21 | rst1 = 0; //Set reset pin to 0 |
jmateo09 | 0:edde6cee85f5 | 22 | wait_ms(1);//Wait at least one millisecond |
jmateo09 | 0:edde6cee85f5 | 23 | rst1 = 1;//Set reset pin to 1 |
jmateo09 | 0:edde6cee85f5 | 24 | wait_ms(1);//Wait another millisecond |
jmateo09 | 0:edde6cee85f5 | 25 | |
jmateo09 | 0:edde6cee85f5 | 26 | XBee.baud(9600); |
jmateo09 | 0:edde6cee85f5 | 27 | wait_ms(1100); // no commands within 1sec guard-time |
jmateo09 | 0:edde6cee85f5 | 28 | XBee.printf("+++"); // special command to enter command-mode |
jmateo09 | 0:edde6cee85f5 | 29 | wait_ms(1100); // no commands within 1sec guard-time |
jmateo09 | 0:edde6cee85f5 | 30 | |
jmateo09 | 0:edde6cee85f5 | 31 | // Change settings: |
jmateo09 | 0:edde6cee85f5 | 32 | //XBee.printf("ATCH\r"); // Read channel |
jmateo09 | 0:edde6cee85f5 | 33 | XBee.printf("ATCHC\r"); // Set channel 12 (=0xC =default) |
jmateo09 | 0:edde6cee85f5 | 34 | wait_ms(100); |
jmateo09 | 0:edde6cee85f5 | 35 | XBee.printf("ATID1337\r"); // PAN-ID (once chosen to be 1337) |
jmateo09 | 0:edde6cee85f5 | 36 | wait_ms(100); |
jmateo09 | 0:edde6cee85f5 | 37 | //XBee.printf("ATDH13A200\r"); // DH |
jmateo09 | 0:edde6cee85f5 | 38 | XBee.printf("ATDH0\r"); // DH |
jmateo09 | 0:edde6cee85f5 | 39 | wait_ms(100); |
jmateo09 | 0:edde6cee85f5 | 40 | //XBee.printf("ATDL40BFEF31\r"); // DL |
jmateo09 | 0:edde6cee85f5 | 41 | XBee.printf("ATDLFFFF\r"); // DL |
jmateo09 | 0:edde6cee85f5 | 42 | wait_ms(100); |
jmateo09 | 0:edde6cee85f5 | 43 | XBee.printf("ATBD7\r"); // Baudrate nr.7 = 115200 |
jmateo09 | 0:edde6cee85f5 | 44 | wait_ms(100); |
jmateo09 | 0:edde6cee85f5 | 45 | |
jmateo09 | 0:edde6cee85f5 | 46 | // Save and exit: |
jmateo09 | 0:edde6cee85f5 | 47 | XBee.printf("ATWR\r"); // Write settings |
jmateo09 | 0:edde6cee85f5 | 48 | wait_ms(3000); |
jmateo09 | 0:edde6cee85f5 | 49 | XBee.printf("ATCN\r"); // Exit AT mode |
jmateo09 | 0:edde6cee85f5 | 50 | wait_ms(100); |
jmateo09 | 0:edde6cee85f5 | 51 | XBee.baud(115200); // set mbed-comport |
jmateo09 | 0:edde6cee85f5 | 52 | pc.baud (115200); |
jmateo09 | 0:edde6cee85f5 | 53 | |
jmateo09 | 0:edde6cee85f5 | 54 | pc.printf("Maggie starting\r\n"); |
jmateo09 | 0:edde6cee85f5 | 55 | pc.printf(swversion); |
jmateo09 | 0:edde6cee85f5 | 56 | |
jmateo09 | 0:edde6cee85f5 | 57 | XBee.printf("Maggie starting \r"); |
jmateo09 | 0:edde6cee85f5 | 58 | XBee.printf(swversion); |
jmateo09 | 0:edde6cee85f5 | 59 | |
jmateo09 | 0:edde6cee85f5 | 60 | wait_ms(1); |
jmateo09 | 0:edde6cee85f5 | 61 | |
jmateo09 | 0:edde6cee85f5 | 62 | } |
jmateo09 | 0:edde6cee85f5 | 63 | |
jmateo09 | 0:edde6cee85f5 | 64 | IO::IO() : myled1(LED1),myled2(LED2),myled3(LED3),myled4(LED4),LCDRed(p22),LCDGreen(p23),LCDBlue(p24),FB1(p29),FB2(p30),FB3(p26),Speed(p21),CW(p16),CCW(p17),SW1(p18),SW2(p19) |
jmateo09 | 0:edde6cee85f5 | 65 | { |
jmateo09 | 0:edde6cee85f5 | 66 | |
jmateo09 | 0:edde6cee85f5 | 67 | } |
jmateo09 | 0:edde6cee85f5 | 68 | void IO::DoIOConfig() |
jmateo09 | 0:edde6cee85f5 | 69 | { |
jmateo09 | 0:edde6cee85f5 | 70 | //Defining Mbed Pin Functions. |
jmateo09 | 0:edde6cee85f5 | 71 | //Buttons: |
jmateo09 | 0:edde6cee85f5 | 72 | FB1.mode(PullUp); // Black pushbutton, Wire color: Orange & black. (Up) |
jmateo09 | 0:edde6cee85f5 | 73 | FB2.mode(PullUp); // Black pushbutton, Wire color: Orange & black. (Down) |
jmateo09 | 0:edde6cee85f5 | 74 | FB3.mode(PullUp); // Green pushbutton, Wire color: Orange & black. (Select/start) |
jmateo09 | 0:edde6cee85f5 | 75 | |
jmateo09 | 0:edde6cee85f5 | 76 | //Selector Switch: |
jmateo09 | 0:edde6cee85f5 | 77 | SW1.mode(PullUp); |
jmateo09 | 0:edde6cee85f5 | 78 | SW2.mode(PullUp); |
jmateo09 | 0:edde6cee85f5 | 79 | |
jmateo09 | 0:edde6cee85f5 | 80 | |
jmateo09 | 0:edde6cee85f5 | 81 | } |
jmateo09 | 0:edde6cee85f5 | 82 | |
jmateo09 | 0:edde6cee85f5 | 83 |