Micromouse / Mbed 2 deprecated Main-codetest

Dependencies:   mbed

Committer:
x58alex41
Date:
Fri Apr 06 00:06:51 2018 +0000
Revision:
12:4310fb637705
Parent:
10:4a825f818432
started gyro

Who changed what in which revision?

UserRevisionLine numberNew contents of line
omidfar 10:4a825f818432 1
omidfar 10:4a825f818432 2
x58alex41 0:9c49bdc7e402 3 #include "mbed.h"
x58alex41 0:9c49bdc7e402 4 #include "PID.h"
x58alex41 0:9c49bdc7e402 5 #include "controls.h"
x58alex41 0:9c49bdc7e402 6 #include "globals.h"
x58alex41 0:9c49bdc7e402 7
omidfar 10:4a825f818432 8 AnalogIn LL_t (PA_5);
omidfar 10:4a825f818432 9 AnalogIn L_t (PA_7);
omidfar 10:4a825f818432 10 AnalogIn R_t (PB_0);
omidfar 10:4a825f818432 11 AnalogIn RR_t (PB_1);
x58alex41 0:9c49bdc7e402 12
omidfar 10:4a825f818432 13 DigitalOut LL_e (PC_0);
omidfar 10:4a825f818432 14 DigitalOut L_e (PC_1);
omidfar 10:4a825f818432 15 DigitalOut R_e (PC_2);
omidfar 10:4a825f818432 16 DigitalOut RR_e (PC_3);
x58alex41 0:9c49bdc7e402 17
omidfar 10:4a825f818432 18 InterruptIn cM1_1(PA_5); //interrupt from encoders
omidfar 10:4a825f818432 19 InterruptIn cM1_2(PB_3);
omidfar 10:4a825f818432 20 InterruptIn cM2_1(PA_0);
omidfar 10:4a825f818432 21 InterruptIn cM2_2(PA_1);
x58alex41 0:9c49bdc7e402 22
x58alex41 7:edd065946e9b 23 PwmOut M1F(PC_7); //motor direction and speed control
omidfar 10:4a825f818432 24 PwmOut M1B(PC_6);
omidfar 10:4a825f818432 25 PwmOut M2F(PC_9);
omidfar 10:4a825f818432 26 PwmOut M2B(PC_8);
x58alex41 0:9c49bdc7e402 27 Serial pc(SERIAL_TX, SERIAL_RX);
x58alex41 0:9c49bdc7e402 28
x58alex41 0:9c49bdc7e402 29 volatile unsigned long counterM1 = 1; // counter for hall sensors
x58alex41 0:9c49bdc7e402 30 volatile unsigned long counterM2 = 1;
x58alex41 0:9c49bdc7e402 31
x58alex41 0:9c49bdc7e402 32 void incrementM1()
x58alex41 0:9c49bdc7e402 33 {
x58alex41 0:9c49bdc7e402 34 ++counterM1;
x58alex41 0:9c49bdc7e402 35 }
x58alex41 0:9c49bdc7e402 36 void incrementM2()
x58alex41 0:9c49bdc7e402 37 {
x58alex41 0:9c49bdc7e402 38 ++counterM2;
x58alex41 0:9c49bdc7e402 39 }
x58alex41 0:9c49bdc7e402 40
x58alex41 0:9c49bdc7e402 41 int main()
x58alex41 0:9c49bdc7e402 42 {
x58alex41 0:9c49bdc7e402 43 M1B.write(0);
x58alex41 0:9c49bdc7e402 44 M2B.write(0);
x58alex41 0:9c49bdc7e402 45 M1F.write(0);
x58alex41 0:9c49bdc7e402 46 M2F.write(0);
x58alex41 0:9c49bdc7e402 47
x58alex41 0:9c49bdc7e402 48 LL_e=1;
x58alex41 0:9c49bdc7e402 49 RR_e=1;
x58alex41 0:9c49bdc7e402 50
x58alex41 0:9c49bdc7e402 51 cM1_1.rise(&incrementM1);
x58alex41 0:9c49bdc7e402 52 cM1_1.fall(&incrementM1);
x58alex41 0:9c49bdc7e402 53 cM1_2.rise(&incrementM1);
x58alex41 0:9c49bdc7e402 54 cM1_2.fall(&incrementM1);
x58alex41 0:9c49bdc7e402 55
x58alex41 0:9c49bdc7e402 56 cM2_1.rise(&incrementM2);
x58alex41 0:9c49bdc7e402 57 cM2_1.fall(&incrementM2);
x58alex41 0:9c49bdc7e402 58 cM2_2.rise(&incrementM2);
x58alex41 0:9c49bdc7e402 59 cM2_2.fall(&incrementM2);
x58alex41 0:9c49bdc7e402 60
x58alex41 9:76e4808df4cb 61 move(.8, 1000000, forward, forward, &PID_e );
x58alex41 0:9c49bdc7e402 62
x58alex41 0:9c49bdc7e402 63 }
x58alex41 0:9c49bdc7e402 64
x58alex41 0:9c49bdc7e402 65
x58alex41 0:9c49bdc7e402 66
x58alex41 0:9c49bdc7e402 67
x58alex41 0:9c49bdc7e402 68
x58alex41 0:9c49bdc7e402 69