David's line following code from the LVBots competition, 2015.
Dependencies: GeneralDebouncer Pacer PololuEncoder mbed
Fork of DeadReckoning by
logger.cpp@47:cb5c1504c24d, 2015-04-15 (annotated)
- Committer:
- DavidEGrayson
- Date:
- Wed Apr 15 21:19:52 2015 +0000
- Revision:
- 47:cb5c1504c24d
- Parent:
- 46:f11cb4f93aac
- Child:
- 48:c84b7b3ab0e8
fixed something in logger;
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 "main.h" |
DavidEGrayson | 37:23000a47ed2b | 5 | #include "pc_serial.h" |
DavidEGrayson | 37:23000a47ed2b | 6 | |
DavidEGrayson | 37:23000a47ed2b | 7 | Logger::Logger() |
DavidEGrayson | 37:23000a47ed2b | 8 | { |
DavidEGrayson | 37:23000a47ed2b | 9 | entryIndex = 0; |
DavidEGrayson | 37:23000a47ed2b | 10 | } |
DavidEGrayson | 37:23000a47ed2b | 11 | |
DavidEGrayson | 37:23000a47ed2b | 12 | bool Logger::isFull() |
DavidEGrayson | 37:23000a47ed2b | 13 | { |
DavidEGrayson | 37:23000a47ed2b | 14 | return entryIndex >= LOGGER_SIZE; |
DavidEGrayson | 37:23000a47ed2b | 15 | } |
DavidEGrayson | 37:23000a47ed2b | 16 | |
DavidEGrayson | 37:23000a47ed2b | 17 | void Logger::log() |
DavidEGrayson | 37:23000a47ed2b | 18 | { |
DavidEGrayson | 37:23000a47ed2b | 19 | if (isFull()) |
DavidEGrayson | 37:23000a47ed2b | 20 | { |
DavidEGrayson | 37:23000a47ed2b | 21 | return; |
DavidEGrayson | 37:23000a47ed2b | 22 | } |
DavidEGrayson | 37:23000a47ed2b | 23 | |
DavidEGrayson | 37:23000a47ed2b | 24 | LogEntry * entry = &entries[entryIndex]; |
DavidEGrayson | 37:23000a47ed2b | 25 | entryIndex++; |
DavidEGrayson | 37:23000a47ed2b | 26 | |
DavidEGrayson | 46:f11cb4f93aac | 27 | entry->turnAngle = 0; |
DavidEGrayson | 37:23000a47ed2b | 28 | entry->x = reckoner.x >> 16; |
DavidEGrayson | 37:23000a47ed2b | 29 | entry->y = reckoner.y >> 16; |
DavidEGrayson | 37:23000a47ed2b | 30 | } |
DavidEGrayson | 37:23000a47ed2b | 31 | |
DavidEGrayson | 37:23000a47ed2b | 32 | void Logger::dump() |
DavidEGrayson | 37:23000a47ed2b | 33 | { |
DavidEGrayson | 37:23000a47ed2b | 34 | pc.printf("Log dump start\r\n"); |
DavidEGrayson | 37:23000a47ed2b | 35 | for(int32_t i = 0; i < entryIndex; i++) |
DavidEGrayson | 37:23000a47ed2b | 36 | { |
DavidEGrayson | 37:23000a47ed2b | 37 | LogEntry * entry = &entries[i]; |
DavidEGrayson | 47:cb5c1504c24d | 38 | pc.printf("%d,%d,%d\r\n", entry->turnAngle, entry->x, entry->y); |
DavidEGrayson | 37:23000a47ed2b | 39 | } |
DavidEGrayson | 37:23000a47ed2b | 40 | pc.printf("Log dump end\r\n"); |
DavidEGrayson | 37:23000a47ed2b | 41 | } |