David's dead reckoning code for the LVBots competition on March 6th. Uses the mbed LPC1768, DRV8835, QTR-3RC, and two DC motors with encoders.

Dependencies:   PololuEncoder Pacer mbed GeneralDebouncer

Committer:
DavidEGrayson
Date:
Sat Feb 22 03:03:37 2014 +0000
Revision:
9:9734347b5756
Parent:
8:78b1ff957cba
Child:
10:e4dd36148539
Made verything use CamelCase.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DavidEGrayson 8:78b1ff957cba 1 // A file for testing routines that will not be used in the final firmware.
DavidEGrayson 8:78b1ff957cba 2
DavidEGrayson 8:78b1ff957cba 3 #include <mbed.h>
DavidEGrayson 8:78b1ff957cba 4 #include "motors.h"
DavidEGrayson 9:9734347b5756 5 #include <Pacer.h>
DavidEGrayson 9:9734347b5756 6
DavidEGrayson 9:9734347b5756 7 #include "test.h"
DavidEGrayson 8:78b1ff957cba 8 #include "leds.h"
DavidEGrayson 9:9734347b5756 9 #include "encoders.h"
DavidEGrayson 8:78b1ff957cba 10 #include "pc_serial.h"
DavidEGrayson 8:78b1ff957cba 11
DavidEGrayson 9:9734347b5756 12 void testEncoders()
DavidEGrayson 9:9734347b5756 13 {
DavidEGrayson 9:9734347b5756 14 Pacer reportPacer(500000);
DavidEGrayson 9:9734347b5756 15 Pacer blinkPacer(200000);
DavidEGrayson 9:9734347b5756 16 while(1)
DavidEGrayson 9:9734347b5756 17 {
DavidEGrayson 9:9734347b5756 18 while(encoderBuffer.hasEvents())
DavidEGrayson 9:9734347b5756 19 {
DavidEGrayson 9:9734347b5756 20 PololuEncoderEvent event = encoderBuffer.readEvent();
DavidEGrayson 9:9734347b5756 21 }
DavidEGrayson 9:9734347b5756 22
DavidEGrayson 9:9734347b5756 23 if(reportPacer.pace())
DavidEGrayson 9:9734347b5756 24 {
DavidEGrayson 9:9734347b5756 25 led2 = 1;
DavidEGrayson 9:9734347b5756 26 pc.printf("%8d %8d\n", encoderLeft.getCount(), encoderRight.getCount());
DavidEGrayson 9:9734347b5756 27 led2 = 0;
DavidEGrayson 9:9734347b5756 28 }
DavidEGrayson 9:9734347b5756 29
DavidEGrayson 9:9734347b5756 30 if (blinkPacer.pace())
DavidEGrayson 9:9734347b5756 31 {
DavidEGrayson 9:9734347b5756 32 led1 = !led1;
DavidEGrayson 9:9734347b5756 33 }
DavidEGrayson 9:9734347b5756 34 }
DavidEGrayson 9:9734347b5756 35 }
DavidEGrayson 9:9734347b5756 36
DavidEGrayson 8:78b1ff957cba 37 void testMotors()
DavidEGrayson 8:78b1ff957cba 38 {
DavidEGrayson 8:78b1ff957cba 39 led1 = 1;
DavidEGrayson 8:78b1ff957cba 40 led2 = 0;
DavidEGrayson 8:78b1ff957cba 41 led3 = 0;
DavidEGrayson 8:78b1ff957cba 42 while(1)
DavidEGrayson 8:78b1ff957cba 43 {
DavidEGrayson 9:9734347b5756 44 motorsSpeedSet(0, 0);
DavidEGrayson 8:78b1ff957cba 45 led2 = 0;
DavidEGrayson 8:78b1ff957cba 46 led3 = 0;
DavidEGrayson 8:78b1ff957cba 47 wait(2);
DavidEGrayson 8:78b1ff957cba 48
DavidEGrayson 9:9734347b5756 49 motorsSpeedSet(300, 300);
DavidEGrayson 8:78b1ff957cba 50 wait(2);
DavidEGrayson 8:78b1ff957cba 51
DavidEGrayson 9:9734347b5756 52 motorsSpeedSet(-300, 300);
DavidEGrayson 8:78b1ff957cba 53 wait(2);
DavidEGrayson 8:78b1ff957cba 54
DavidEGrayson 9:9734347b5756 55 motorsSpeedSet(0, 0);
DavidEGrayson 8:78b1ff957cba 56 led2 = 1;
DavidEGrayson 8:78b1ff957cba 57 wait(2);
DavidEGrayson 8:78b1ff957cba 58
DavidEGrayson 9:9734347b5756 59 motorsSpeedSet(600, 600);
DavidEGrayson 8:78b1ff957cba 60 wait(2);
DavidEGrayson 8:78b1ff957cba 61
DavidEGrayson 9:9734347b5756 62 motorsSpeedSet(0, 0);
DavidEGrayson 8:78b1ff957cba 63 led3 = 1;
DavidEGrayson 8:78b1ff957cba 64 wait(2);
DavidEGrayson 8:78b1ff957cba 65
DavidEGrayson 9:9734347b5756 66 motorsSpeedSet(1200, 1200);
DavidEGrayson 8:78b1ff957cba 67 wait(2);
DavidEGrayson 8:78b1ff957cba 68 }
DavidEGrayson 8:78b1ff957cba 69 }