Setup

Files at this revision

API Documentation at this revision

Comitter:
jmateo09
Date:
Thu Feb 28 15:54:52 2019 +0000
Commit message:
Setup;

Changed in this revision

Setup.cpp Show annotated file Show diff for this revision Revisions of this file
Setup.h Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 17b249a76ce6 Setup.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Setup.cpp	Thu Feb 28 15:54:52 2019 +0000
@@ -0,0 +1,83 @@
+#include "Setup.h"
+#include "mbed.h"
+#include "XBee.h"
+#include "MODSERIAL.h"
+#include "sstream"
+
+Communication::Communication() : pc(USBTX, USBRX, 256,256), XBee(p13, p14,256,256)
+{
+
+}
+
+void Communication::DoComConfig(char *swversion)
+{
+
+    DigitalOut rst1(p11); //Digital reset for the XBee, 200ns for reset
+    DigitalOut Sleep(p12); //0 is awake. 1 is Sleep.
+
+
+    Sleep = 0; // sleep mode off
+    wait_ms(2);
+    rst1 = 0; //Set reset pin to 0
+    wait_ms(1);//Wait at least one millisecond
+    rst1 = 1;//Set reset pin to 1
+    wait_ms(1);//Wait another millisecond
+
+    XBee.baud(9600);
+    wait_ms(1100);          // no commands within 1sec guard-time
+    XBee.printf("+++");     // special command to enter command-mode
+    wait_ms(1100);          // no commands within 1sec guard-time
+
+    // Change settings:
+    //XBee.printf("ATCH\r");                // Read channel
+    XBee.printf("ATCHC\r");                // Set channel 12 (=0xC =default)
+    wait_ms(100);
+    XBee.printf("ATID1337\r");             // PAN-ID (once chosen to be 1337)
+    wait_ms(100);
+    //XBee.printf("ATDH13A200\r");          // DH
+    XBee.printf("ATDH0\r");                // DH
+    wait_ms(100);
+    //XBee.printf("ATDL40BFEF31\r");         // DL
+    XBee.printf("ATDLFFFF\r");  // DL
+    wait_ms(100);
+    XBee.printf("ATBD7\r");               // Baudrate nr.7 = 115200
+    wait_ms(100);
+
+    // Save and exit:
+    XBee.printf("ATWR\r");               // Write settings
+    wait_ms(3000);
+    XBee.printf("ATCN\r");          // Exit AT mode
+    wait_ms(100);
+    XBee.baud(115200);        // set mbed-comport
+    pc.baud (115200);
+ 
+    pc.printf("Maggie starting\r\n");
+    pc.printf(swversion);
+
+    XBee.printf("Maggie starting \r");
+    XBee.printf(swversion);
+ 
+    wait_ms(1);
+
+}
+
+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) 
+{
+    
+}
+void IO::DoIOConfig()
+{
+    //Defining Mbed Pin Functions.
+    //Buttons:
+    FB1.mode(PullUp); // Black pushbutton, Wire color: Orange & black. (Up)
+    FB2.mode(PullUp); // Black pushbutton, Wire color: Orange & black. (Down)
+    FB3.mode(PullUp); // Green pushbutton, Wire color: Orange & black. (Select/start)
+
+    //Selector Switch:
+    SW1.mode(PullUp);
+    SW2.mode(PullUp);
+
+   
+}
+
+
diff -r 000000000000 -r 17b249a76ce6 Setup.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Setup.h	Thu Feb 28 15:54:52 2019 +0000
@@ -0,0 +1,55 @@
+#include "mbed.h"
+#include "XBee.h"
+#include "MODSERIAL.h"
+#include "sstream"
+
+class Communication
+{
+public:
+    Communication();
+    MODSERIAL    pc;
+    MODSERIAL    XBee;
+    void DoComConfig(char *swversion);
+
+private:
+
+};
+
+class IO
+{
+public:
+    IO();
+    // Mapping IO-pins
+    // Onboard Leds on the Mbed.
+    DigitalOut myled1;
+    DigitalOut myled2;
+    DigitalOut myled3;
+    DigitalOut myled4;
+
+    // RGB LED background.
+    PwmOut LCDRed;
+    PwmOut LCDGreen;
+    PwmOut LCDBlue;
+    
+
+    
+    //PushButtons & Selector switch, they all need the 'Pull-up' function.
+   //FB means 'Function Button'.
+   DigitalIn FB1; // Black pushbutton, Wire color: Orange & black.
+   DigitalIn FB2; // Black pushbutton, Wire color: Orange & black.
+   DigitalIn FB3; // Green pushbutton, Wire color: Orange & black.
+
+   //Motor Pins
+   PwmOut Speed;
+   DigitalOut CW;
+   DigitalOut CCW;
+
+   //SW means 'Selector Switch'.
+   //(Pins to be determent(P18,P19).)
+   DigitalIn SW1;
+   DigitalIn SW2;
+
+    void DoIOConfig();
+private:
+
+};
\ No newline at end of file