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:
Tue Aug 13 21:21:17 2019 +0000
Revision:
48:597738b77f77
Parent:
40:6fa672be85ec
Changes from before the contest, I think.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DavidEGrayson 37:23000a47ed2b 1 #pragma once
DavidEGrayson 37:23000a47ed2b 2
DavidEGrayson 37:23000a47ed2b 3 #include "logger.h"
DavidEGrayson 37:23000a47ed2b 4 #include "pc_serial.h"
DavidEGrayson 37:23000a47ed2b 5
DavidEGrayson 37:23000a47ed2b 6 Logger::Logger()
DavidEGrayson 37:23000a47ed2b 7 {
DavidEGrayson 37:23000a47ed2b 8 entryIndex = 0;
DavidEGrayson 37:23000a47ed2b 9 }
DavidEGrayson 37:23000a47ed2b 10
DavidEGrayson 37:23000a47ed2b 11 bool Logger::isFull()
DavidEGrayson 37:23000a47ed2b 12 {
DavidEGrayson 37:23000a47ed2b 13 return entryIndex >= LOGGER_SIZE;
DavidEGrayson 37:23000a47ed2b 14 }
DavidEGrayson 37:23000a47ed2b 15
DavidEGrayson 40:6fa672be85ec 16 void Logger::log(struct LogEntry * newEntry)
DavidEGrayson 37:23000a47ed2b 17 {
DavidEGrayson 37:23000a47ed2b 18 if (isFull())
DavidEGrayson 37:23000a47ed2b 19 {
DavidEGrayson 37:23000a47ed2b 20 return;
DavidEGrayson 37:23000a47ed2b 21 }
DavidEGrayson 37:23000a47ed2b 22
DavidEGrayson 37:23000a47ed2b 23 LogEntry * entry = &entries[entryIndex];
DavidEGrayson 37:23000a47ed2b 24 entryIndex++;
DavidEGrayson 40:6fa672be85ec 25 *entry = *newEntry;
DavidEGrayson 37:23000a47ed2b 26 }
DavidEGrayson 37:23000a47ed2b 27
DavidEGrayson 37:23000a47ed2b 28 void Logger::dump()
DavidEGrayson 37:23000a47ed2b 29 {
DavidEGrayson 37:23000a47ed2b 30 pc.printf("Log dump start\r\n");
DavidEGrayson 37:23000a47ed2b 31 for(int32_t i = 0; i < entryIndex; i++)
DavidEGrayson 37:23000a47ed2b 32 {
DavidEGrayson 37:23000a47ed2b 33 LogEntry * entry = &entries[i];
DavidEGrayson 40:6fa672be85ec 34 pc.printf("%d,%d,%d\r\n", entry->turnAngle, entry->x, entry->y);
DavidEGrayson 37:23000a47ed2b 35 }
DavidEGrayson 37:23000a47ed2b 36 pc.printf("Log dump end\r\n");
DavidEGrayson 37:23000a47ed2b 37 }