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.
Fork of ROME2_P3 by
Main.cpp
- Committer:
- matajarb
- Date:
- 2018-04-26
- Revision:
- 6:67263dc2c2cf
- Parent:
- 0:e360940c4b88
File content as of revision 6:67263dc2c2cf:
/* * Main.cpp * Copyright (c) 2018, ZHAW * All rights reserved. */ #include <cstdlib> #include <mbed.h> #include "EncoderCounter.h" #include "IRSensor.h" #include "IMU.h" #include "Controller.h" #include "StateMachine.h" #include "SerialServer.h" int main() { // create miscellaneous periphery objects DigitalOut led(LED1); DigitalIn button(USER_BUTTON); DigitalOut led0(PC_8); DigitalOut led1(PC_6); DigitalOut led2(PB_12); DigitalOut led3(PA_7); DigitalOut led4(PC_0); DigitalOut led5(PC_9); // create motor control objects DigitalOut enableMotorDriver(PB_2); DigitalIn motorDriverFault(PB_14); DigitalIn motorDriverWarning(PB_15); PwmOut pwmLeft(PA_8); PwmOut pwmRight(PA_9); EncoderCounter counterLeft(PB_6, PB_7); EncoderCounter counterRight(PA_6, PC_7); // create distance sensor objects DigitalOut enableIRSensors(PC_1); enableIRSensors = 1; AnalogIn distance(PB_1); DigitalOut bit0(PH_1); DigitalOut bit1(PC_2); DigitalOut bit2(PC_3); IRSensor irSensor0(distance, bit0, bit1, bit2, 0); IRSensor irSensor1(distance, bit0, bit1, bit2, 1); IRSensor irSensor2(distance, bit0, bit1, bit2, 2); IRSensor irSensor3(distance, bit0, bit1, bit2, 3); IRSensor irSensor4(distance, bit0, bit1, bit2, 4); IRSensor irSensor5(distance, bit0, bit1, bit2, 5); // create robot controller objects Controller controller(pwmLeft, pwmRight, counterLeft, counterRight); StateMachine stateMachine(controller, enableMotorDriver, led0, led1, led2, led3, led4, led5, button, irSensor0, irSensor1, irSensor2, irSensor3, irSensor4, irSensor5); while (true) { led = !led; // toggle led wait(0.2f); // wait for 200 ms } }