David's line following code from the LVBots competition, 2015.
Dependencies: GeneralDebouncer Pacer PololuEncoder mbed
Fork of DeadReckoning by
main.cpp@1:d0d9653a4547, 2014-02-20 (annotated)
- Committer:
- DavidEGrayson
- Date:
- Thu Feb 20 18:55:04 2014 +0000
- Revision:
- 1:d0d9653a4547
- Parent:
- 0:e77a0edb9878
- Child:
- 2:968338353aef
Added pacers.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DavidEGrayson | 0:e77a0edb9878 | 1 | #include <mbed.h> |
DavidEGrayson | 0:e77a0edb9878 | 2 | #include "PololuEncoder.h" |
DavidEGrayson | 1:d0d9653a4547 | 3 | #include "Pacer.h" |
DavidEGrayson | 0:e77a0edb9878 | 4 | |
DavidEGrayson | 1:d0d9653a4547 | 5 | DigitalOut led1(LED1), led2(LED2); |
DavidEGrayson | 0:e77a0edb9878 | 6 | |
DavidEGrayson | 0:e77a0edb9878 | 7 | Serial pc(USBTX, USBRX); |
DavidEGrayson | 0:e77a0edb9878 | 8 | |
DavidEGrayson | 0:e77a0edb9878 | 9 | #define ENCODER1 0x00 |
DavidEGrayson | 0:e77a0edb9878 | 10 | |
DavidEGrayson | 0:e77a0edb9878 | 11 | PololuEncoderBuffer encoderBuffer; |
DavidEGrayson | 0:e77a0edb9878 | 12 | PololuEncoder encoder1(p6, p7, &encoderBuffer, ENCODER1); |
DavidEGrayson | 0:e77a0edb9878 | 13 | |
DavidEGrayson | 0:e77a0edb9878 | 14 | int main() { |
DavidEGrayson | 1:d0d9653a4547 | 15 | Pacer reportPacer(250000); |
DavidEGrayson | 1:d0d9653a4547 | 16 | Pacer blinkPacer(200000); |
DavidEGrayson | 1:d0d9653a4547 | 17 | uint32_t eventCount = 0; |
DavidEGrayson | 0:e77a0edb9878 | 18 | while(1) { |
DavidEGrayson | 0:e77a0edb9878 | 19 | while(encoderBuffer.hasEvents()) |
DavidEGrayson | 0:e77a0edb9878 | 20 | { |
DavidEGrayson | 0:e77a0edb9878 | 21 | PololuEncoderEvent event = encoderBuffer.readEvent(); |
DavidEGrayson | 1:d0d9653a4547 | 22 | eventCount += 1; |
DavidEGrayson | 1:d0d9653a4547 | 23 | pc.printf("e %x\n", event); |
DavidEGrayson | 0:e77a0edb9878 | 24 | } |
DavidEGrayson | 1:d0d9653a4547 | 25 | if(reportPacer.pace()) |
DavidEGrayson | 1:d0d9653a4547 | 26 | { |
DavidEGrayson | 1:d0d9653a4547 | 27 | led2 = 1; |
DavidEGrayson | 1:d0d9653a4547 | 28 | pc.printf("%8x %8x\n", encoder1.getCount(), eventCount); |
DavidEGrayson | 1:d0d9653a4547 | 29 | led2 = 0; |
DavidEGrayson | 1:d0d9653a4547 | 30 | } |
DavidEGrayson | 1:d0d9653a4547 | 31 | if (blinkPacer.pace()) |
DavidEGrayson | 1:d0d9653a4547 | 32 | { |
DavidEGrayson | 1:d0d9653a4547 | 33 | led1 = !led1; |
DavidEGrayson | 1:d0d9653a4547 | 34 | } |
DavidEGrayson | 0:e77a0edb9878 | 35 | } |
DavidEGrayson | 0:e77a0edb9878 | 36 | } |