Setup

Committer:
jmateo09
Date:
Wed May 15 13:44:42 2019 +0000
Revision:
0:edde6cee85f5
Setup

Who changed what in which revision?

UserRevisionLine numberNew 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