David's line following code from the LVBots competition, 2015.
Dependencies: GeneralDebouncer Pacer PololuEncoder mbed
Fork of DeadReckoning by
main.cpp
- Committer:
- DavidEGrayson
- Date:
- 2014-02-20
- Revision:
- 2:968338353aef
- Parent:
- 1:d0d9653a4547
- Child:
- 3:59c80d4b4bf2
File content as of revision 2:968338353aef:
#include <mbed.h> #include "PololuEncoder.h" #include "Pacer.h" DigitalOut led1(LED1), led2(LED2); Serial pc(USBTX, USBRX); #define ENCODER1 0x00 const PinName encoderPin1A = p6, encoderPin1B = p7; PololuEncoderBuffer encoderBuffer; PololuEncoder encoder1(encoderPin1A, encoderPin1B, &encoderBuffer, ENCODER1); int main() { pc.baud(115200); // Enable pull-ups on encoder pins and give them a chance to settle. DigitalIn(encoderPin1A).mode(PullUp); DigitalIn(encoderPin1B).mode(PullUp); wait_us(50); encoder1.init(); Pacer reportPacer(250000); Pacer blinkPacer(200000); uint32_t eventCount = 0; while(1) { while(encoderBuffer.hasEvents()) { PololuEncoderEvent event = encoderBuffer.readEvent(); eventCount += 1; } if(reportPacer.pace()) { led2 = 1; char str[80]; sprintf(str, "%8x %8x\n", encoder1.getCount(), eventCount); pc.puts(str); led2 = 0; } if (blinkPacer.pace()) { led1 = !led1; } } }