Final Project files for mBed development.

Dependencies:   m3pi mbed

Committer:
lsaristo
Date:
Thu Nov 13 07:12:31 2014 +0000
Revision:
8:12d780f7443e
Parent:
7:6e5cc24e1ce7
Child:
9:3a0433c391cb
Removed unneeded c source file

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lsaristo 1:7e0243c27ecb 1 /**
lsaristo 1:7e0243c27ecb 2 * @file driver.c
lsaristo 1:7e0243c27ecb 3 * @brief Basic driver program for our robot's controller logic.
lsaristo 1:7e0243c27ecb 4 *
lsaristo 1:7e0243c27ecb 5 * Maybe add lots of stuff here or maybe split it off into
lsaristo 1:7e0243c27ecb 6 * multiple subfiles?
lsaristo 1:7e0243c27ecb 7 *
lsaristo 1:7e0243c27ecb 8 * @author John Wilkey
lsaristo 1:7e0243c27ecb 9 */
John Wilkey 5:01882c3de2dc 10 #include "project.h"
John Wilkey 5:01882c3de2dc 11
John Wilkey 5:01882c3de2dc 12 /**
John Wilkey 5:01882c3de2dc 13 * These are global data Used externally in all other files
John Wilkey 5:01882c3de2dc 14 */
lsaristo 7:6e5cc24e1ce7 15 m3pi pi;
lsaristo 7:6e5cc24e1ce7 16 DigitalOut pin15(p15);
lsaristo 7:6e5cc24e1ce7 17 DigitalOut pin16(p16);
lsaristo 7:6e5cc24e1ce7 18 DigitalOut pin17(p17);
lsaristo 7:6e5cc24e1ce7 19 DigitalOut pin18(p18);
lsaristo 7:6e5cc24e1ce7 20 DigitalOut pin19(p19);
lsaristo 7:6e5cc24e1ce7 21 DigitalOut pin20(p20);
lsaristo 7:6e5cc24e1ce7 22
John Wilkey 5:01882c3de2dc 23 /**
John Wilkey 5:01882c3de2dc 24 * @brief Entry point. Main loop.
John Wilkey 5:01882c3de2dc 25 */
John Wilkey 5:01882c3de2dc 26 int main()
John Wilkey 5:01882c3de2dc 27 {
John Wilkey 5:01882c3de2dc 28 pretty_print("PiCO");
John Wilkey 6:00b7198f0b51 29
John Wilkey 6:00b7198f0b51 30 while(1) {
John Wilkey 6:00b7198f0b51 31 wait(2);
John Wilkey 6:00b7198f0b51 32 forward(10, DRIVE_SPEED);
John Wilkey 6:00b7198f0b51 33 wait(2);
John Wilkey 6:00b7198f0b51 34 backward(10, DRIVE_SPEED);
John Wilkey 6:00b7198f0b51 35 }
John Wilkey 6:00b7198f0b51 36
John Wilkey 6:00b7198f0b51 37 //
John Wilkey 6:00b7198f0b51 38 // Our code should NEVER reach this point.
John Wilkey 6:00b7198f0b51 39 return EXIT_FAILURE;
John Wilkey 5:01882c3de2dc 40 }
lsaristo 8:12d780f7443e 41
lsaristo 8:12d780f7443e 42 int forward(float amt, float spd)
lsaristo 8:12d780f7443e 43 {
lsaristo 8:12d780f7443e 44 if(amt > 1) { spd = 1; }
lsaristo 8:12d780f7443e 45 pi.forward(spd);
lsaristo 8:12d780f7443e 46 wait(amt);
lsaristo 8:12d780f7443e 47 return EXIT_SUCCESS;
lsaristo 8:12d780f7443e 48 }
lsaristo 8:12d780f7443e 49
lsaristo 8:12d780f7443e 50 int backward(float amt, float spd)
lsaristo 8:12d780f7443e 51 {
lsaristo 8:12d780f7443e 52 if(amt > 1) { spd = 1; }
lsaristo 8:12d780f7443e 53 pi.backward(spd);
lsaristo 8:12d780f7443e 54 wait(amt);
lsaristo 8:12d780f7443e 55 return EXIT_SUCCESS;
lsaristo 8:12d780f7443e 56 }
lsaristo 8:12d780f7443e 57
lsaristo 8:12d780f7443e 58 int right(float deg)
lsaristo 8:12d780f7443e 59 {
lsaristo 8:12d780f7443e 60 pi.right(TURN_SPEED);
lsaristo 8:12d780f7443e 61 wait(deg/360);
lsaristo 8:12d780f7443e 62 return EXIT_SUCCESS;
lsaristo 8:12d780f7443e 63 }
lsaristo 8:12d780f7443e 64
lsaristo 8:12d780f7443e 65 int left(float deg)
lsaristo 8:12d780f7443e 66 {
lsaristo 8:12d780f7443e 67 pi.left(TURN_SPEED);
lsaristo 8:12d780f7443e 68 wait(deg/360);
lsaristo 8:12d780f7443e 69 return EXIT_SUCCESS;
lsaristo 8:12d780f7443e 70 }
lsaristo 8:12d780f7443e 71
lsaristo 8:12d780f7443e 72 void pretty_print(char* msg)
lsaristo 8:12d780f7443e 73 {
lsaristo 8:12d780f7443e 74 pi.locate(0,1);
lsaristo 8:12d780f7443e 75 pi.printf(msg);
lsaristo 8:12d780f7443e 76 }
lsaristo 8:12d780f7443e 77