Final Project files for mBed development.

Dependencies:   m3pi mbed

main.c

Committer:
lsaristo
Date:
2014-11-13
Revision:
8:12d780f7443e
Parent:
7:6e5cc24e1ce7
Child:
9:3a0433c391cb

File content as of revision 8:12d780f7443e:

/**
 * @file    driver.c
 * @brief   Basic driver program for our robot's controller logic. 
 *
 * Maybe add lots of stuff here or maybe split it off into
 * multiple subfiles?
 *
 * @author  John Wilkey
 */
#include "project.h"

/** 
 * These are global data Used externally in all other files 
 */
m3pi        pi;
DigitalOut  pin15(p15);
DigitalOut  pin16(p16);
DigitalOut  pin17(p17);
DigitalOut  pin18(p18);
DigitalOut  pin19(p19);
DigitalOut  pin20(p20);

/**
 * @brief Entry point. Main loop.
 */
int main()
{
    pretty_print("PiCO");

    while(1) {
        wait(2);
        forward(10, DRIVE_SPEED);
        wait(2);
        backward(10, DRIVE_SPEED);
    }

    //
    // Our code should NEVER reach this point. 
    return EXIT_FAILURE;
}

int forward(float amt, float spd)
{
    if(amt > 1) { spd = 1; }
    pi.forward(spd);
    wait(amt);
    return EXIT_SUCCESS;
}

int backward(float amt, float spd)
{
    if(amt > 1) { spd = 1; }
    pi.backward(spd);
    wait(amt);
    return EXIT_SUCCESS;
}

int right(float deg)
{
    pi.right(TURN_SPEED);
    wait(deg/360);
    return EXIT_SUCCESS;
}

int left(float deg)
{
    pi.left(TURN_SPEED);
    wait(deg/360);
    return EXIT_SUCCESS;
}

void pretty_print(char* msg)
{
    pi.locate(0,1);
    pi.printf(msg);
}