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
logger.cpp@48:597738b77f77, 2019-08-13 (annotated)
- 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?
User | Revision | Line number | New 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 | } |