Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: GeneralDebouncer Pacer PololuEncoder mbed
Fork of DeadReckoning by
main.cpp
- Committer:
- DavidEGrayson
- Date:
- 2014-02-24
- Revision:
- 17:2df9861f53ee
- Parent:
- 16:8eaa5bc2bdb1
- Child:
- 18:b65fbb795396
File content as of revision 17:2df9861f53ee:
#include <mbed.h>
#include <Pacer.h>
#include "motors.h"
#include "encoders.h"
#include "leds.h"
#include "pc_serial.h"
#include "test.h"
#include "reckoner.h"
#include "buttons.h"
int __attribute__((noreturn)) main()
{
pc.baud(115200);
// Enable pull-ups on encoder pins and give them a chance to settle.
encodersInit();
motorsInit();
buttonsInit();
// Test routines
//testMotors();
//testEncoders();
//testLineSensors();
//testReckoner();
//testButtons();
testDriveHome();
while(1)
{
}
}
void __attribute__((noreturn)) driveHome()
{
led1 = 1; led2 = 1; led3 = 0; led4 = 0;
while(1)
{
}
}
void updateReckonerFromEncoders()
{
while(encoderBuffer.hasEvents())
{
PololuEncoderEvent event = encoderBuffer.readEvent();
switch(event)
{
case ENCODER_LEFT | POLOLU_ENCODER_EVENT_INC:
reckoner.handleTickLeftForward();
break;
case ENCODER_LEFT | POLOLU_ENCODER_EVENT_DEC:
reckoner.handleTickLeftBackward();
break;
case ENCODER_RIGHT | POLOLU_ENCODER_EVENT_INC:
reckoner.handleTickRightForward();
break;
case ENCODER_RIGHT | POLOLU_ENCODER_EVENT_DEC:
reckoner.handleTickRightBackward();
break;
}
}
}
