TeamSurface / Mbed 2 deprecated ROME_P3

Dependencies:   mbed

Committer:
kueenste
Date:
Fri Mar 23 13:07:58 2018 +0000
Revision:
0:7cf5bf7e9486
Child:
1:7bf9b6c007a1
P3 Anfang;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kueenste 0:7cf5bf7e9486 1 /*
kueenste 0:7cf5bf7e9486 2 * Main.cpp
kueenste 0:7cf5bf7e9486 3 * Copyright (c) 2018, ZHAW
kueenste 0:7cf5bf7e9486 4 * All rights reserved.
kueenste 0:7cf5bf7e9486 5 */
kueenste 0:7cf5bf7e9486 6
kueenste 0:7cf5bf7e9486 7 #include <cstdlib>
kueenste 0:7cf5bf7e9486 8 #include <mbed.h>
kueenste 0:7cf5bf7e9486 9 #include "EncoderCounter.h"
kueenste 0:7cf5bf7e9486 10 #include "IRSensor.h"
kueenste 0:7cf5bf7e9486 11 #include "Controller.h"
kueenste 0:7cf5bf7e9486 12 #include "StateMachine.h"
kueenste 0:7cf5bf7e9486 13
kueenste 0:7cf5bf7e9486 14 int main() {
kueenste 0:7cf5bf7e9486 15
kueenste 0:7cf5bf7e9486 16 // create miscellaneous periphery objects
kueenste 0:7cf5bf7e9486 17
kueenste 0:7cf5bf7e9486 18 DigitalOut led(LED1);
kueenste 0:7cf5bf7e9486 19 DigitalIn button(USER_BUTTON);
kueenste 0:7cf5bf7e9486 20
kueenste 0:7cf5bf7e9486 21 DigitalOut led0(PC_8);
kueenste 0:7cf5bf7e9486 22 DigitalOut led1(PC_6);
kueenste 0:7cf5bf7e9486 23 DigitalOut led2(PB_12);
kueenste 0:7cf5bf7e9486 24 DigitalOut led3(PA_7);
kueenste 0:7cf5bf7e9486 25 DigitalOut led4(PC_0);
kueenste 0:7cf5bf7e9486 26 DigitalOut led5(PC_9);
kueenste 0:7cf5bf7e9486 27
kueenste 0:7cf5bf7e9486 28 // create motor control objects
kueenste 0:7cf5bf7e9486 29
kueenste 0:7cf5bf7e9486 30 DigitalOut enableMotorDriver(PB_2);
kueenste 0:7cf5bf7e9486 31 DigitalIn motorDriverFault(PB_14);
kueenste 0:7cf5bf7e9486 32 DigitalIn motorDriverWarning(PB_15);
kueenste 0:7cf5bf7e9486 33
kueenste 0:7cf5bf7e9486 34 PwmOut pwmLeft(PA_8);
kueenste 0:7cf5bf7e9486 35 PwmOut pwmRight(PA_9);
kueenste 0:7cf5bf7e9486 36
kueenste 0:7cf5bf7e9486 37 EncoderCounter counterLeft(PB_6, PB_7);
kueenste 0:7cf5bf7e9486 38 EncoderCounter counterRight(PA_6, PC_7);
kueenste 0:7cf5bf7e9486 39
kueenste 0:7cf5bf7e9486 40 // create distance sensor objects
kueenste 0:7cf5bf7e9486 41
kueenste 0:7cf5bf7e9486 42 DigitalOut enableIRSensors(PC_1);
kueenste 0:7cf5bf7e9486 43 enableIRSensors = 1;
kueenste 0:7cf5bf7e9486 44
kueenste 0:7cf5bf7e9486 45 AnalogIn distance(PB_1);
kueenste 0:7cf5bf7e9486 46 DigitalOut bit0(PH_1);
kueenste 0:7cf5bf7e9486 47 DigitalOut bit1(PC_2);
kueenste 0:7cf5bf7e9486 48 DigitalOut bit2(PC_3);
kueenste 0:7cf5bf7e9486 49
kueenste 0:7cf5bf7e9486 50 IRSensor irSensor0(distance, bit0, bit1, bit2, 0);
kueenste 0:7cf5bf7e9486 51 IRSensor irSensor1(distance, bit0, bit1, bit2, 1);
kueenste 0:7cf5bf7e9486 52 IRSensor irSensor2(distance, bit0, bit1, bit2, 2);
kueenste 0:7cf5bf7e9486 53 IRSensor irSensor3(distance, bit0, bit1, bit2, 3);
kueenste 0:7cf5bf7e9486 54 IRSensor irSensor4(distance, bit0, bit1, bit2, 4);
kueenste 0:7cf5bf7e9486 55 IRSensor irSensor5(distance, bit0, bit1, bit2, 5);
kueenste 0:7cf5bf7e9486 56
kueenste 0:7cf5bf7e9486 57 // create robot controller objects
kueenste 0:7cf5bf7e9486 58
kueenste 0:7cf5bf7e9486 59 Controller controller(pwmLeft, pwmRight, counterLeft, counterRight);
kueenste 0:7cf5bf7e9486 60 StateMachine stateMachine(controller, enableMotorDriver, led0, led1, led2, led3, led4, led5, button, irSensor0, irSensor1, irSensor2, irSensor3, irSensor4, irSensor5);
kueenste 0:7cf5bf7e9486 61
kueenste 0:7cf5bf7e9486 62 while (true) {
kueenste 0:7cf5bf7e9486 63
kueenste 0:7cf5bf7e9486 64 led = !led; // toggle led
kueenste 0:7cf5bf7e9486 65
kueenste 0:7cf5bf7e9486 66 wait(0.2f); // wait for 200 ms
kueenste 0:7cf5bf7e9486 67 }
kueenste 0:7cf5bf7e9486 68 }
kueenste 0:7cf5bf7e9486 69