Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Robot_Puppet_EndDevice by
main.cpp
- Committer:
- bstrickland9
- Date:
- 2018-04-29
- Revision:
- 1:06beb0d8958a
- Parent:
- 0:a66bf82d70ed
File content as of revision 1:06beb0d8958a:
// test code, this demonstrates working motor drivers.
// full reverse to full stop, dynamicaly brake and switch off.
#include "mbed.h"
#include "Motor.h"
Motor B(p23, p6, p5); // pwm, fwd, rev, can brake //right?
Motor A(p24, p7, p8); // pwm, fwd, rev, can brake //left?
//End Device Setup for XBEE End Device
Serial xbee2(p9,p10);
DigitalOut rst1(p11);
//Movement Indicators
DigitalOut myled1(LED1);
DigitalOut myled2(LED2);
DigitalOut myled3(LED3);
DigitalOut myled4(LED4);
//debug
Serial pc(USBTX, USBRX);
// Default Value for command to wait
char command = 'W';
int main() {
rst1 = 0; //Set reset pin to 0
myled1 = 0;
myled2 = 0;
myled3 = 0;
myled4 = 0;
wait_ms(1);
rst1 = 1; //Set reset pin to 1
wait_ms(1);
while (1){
if(xbee2.readable()) {//if new command readable
command = xbee2.getc();
//pc.printf("Command: %c\n\r",command);
}
// pc.printf("%c",command);
// pc.printf("\n\r");
switch (command){
case 'A': // Move back speed 1
A.speed(-0.5);
B.speed(-0.5);
myled1 = 1;
myled2 = 0;
myled3 = 0;
myled4 = 0;
//wait(0.5);
break;
case 'B': // Move back speed 2
A.speed(-1);
B.speed(-1);
myled1 = 1;
myled2 = 0;
myled3 = 0;
myled4 = 0;
//wait(0.5);
break;
case 'C': // Move right speed 1
A.speed(0.5);
B.speed(0);
myled1 = 0;
myled2 = 1;
myled3 = 0;
myled4 = 0;
//wait(0.5);
break;
case 'D': // Move right speed 2
A.speed(1);
B.speed(0);
myled1 = 0;
myled2 = 1;
myled3 = 0;
myled4 = 0;
//wait(0.5);
break;
case 'E': // Move forward speed 1
A.speed(0.5);
B.speed(0.5);
myled1 = 0;
myled2 = 0;
myled3 = 1;
myled4 = 0;
//wait(0.5);
break;
case 'F': // Move forward speed 2
A.speed(1);
B.speed(1);
myled1 = 0;
myled2 = 0;
myled3 = 1;
myled4 = 0;
//wait(0.5);
break;
case 'G': // Move left speed 1
A.speed(0);
B.speed(0.5);
myled1 = 0;
myled2 = 0;
myled3 = 0;
myled4 = 1;
//wait(0.5);
break;
case 'H': // Move left speed 2
A.speed(0);
B.speed(1);
myled1 = 0;
myled2 = 0;
myled3 = 0;
myled4 = 1;
//wait(0.5);
break;
case 'I': // Stop
A.speed(0.0);
B.speed(0.0);
myled1 = 1;
myled2 = 1;
myled3 = 1;
myled4 = 1;
break;
//wait(0.5);
case 'W': // Stop if nothing else is coming in
A.speed(0.0);
B.speed(0.0);
myled1 = 0;
myled2 = 0;
myled3 = 0;
myled4 = 0;
//wait(0.5);
}
}
}
