CE201 Embedded : 2022-23 / Mbed 2 deprecated Car

Dependencies:   mbed

Committer:
fjwats
Date:
Thu Feb 16 15:19:30 2017 +0000
Revision:
1:832c213480a8
Parent:
0:6bf5faf294b7
Child:
2:7cb9c966a781
Frank, first commit, no major change

Who changed what in which revision?

UserRevisionLine numberNew contents of line
iainsc0574 0:6bf5faf294b7 1 #include "mbed.h"
iainsc0574 0:6bf5faf294b7 2
fjwats 1:832c213480a8 3 #define MAX 0x0A
iainsc0574 0:6bf5faf294b7 4
iainsc0574 0:6bf5faf294b7 5 DigitalOut led_1(LED1); //program running.
iainsc0574 0:6bf5faf294b7 6 DigitalOut led_2(LED2); //sensors operating.
iainsc0574 0:6bf5faf294b7 7 DigitalOut led_3(LED3); //is moving.
iainsc0574 0:6bf5faf294b7 8 DigitalOut led_4(LED4); //is complete.
fjwats 1:832c213480a8 9
fjwats 1:832c213480a8 10 DigitalOut Bit1(p25); // mux/ pins
fjwats 1:832c213480a8 11 DigitalOut Bit2(p24); //
fjwats 1:832c213480a8 12 DigitalOut Bit3(p23); //
iainsc0574 0:6bf5faf294b7 13
iainsc0574 0:6bf5faf294b7 14 int rawUS_data[5]={0,0,0,0,0}; //raw data{chan1,chan2,chan3,chan4,chan5}
fjwats 1:832c213480a8 15
fjwats 1:832c213480a8 16 int US1_mean[MAX]={0,0,0,0,0,0,0,0,0,0}; // Structures holding recently recorded distances for each respective
fjwats 1:832c213480a8 17 int US2_mean[MAX]={0,0,0,0,0,0,0,0,0,0}; // ultrasonic sensor.
iainsc0574 0:6bf5faf294b7 18 int US3_mean[MAX]={0,0,0,0,0,0,0,0,0,0};
iainsc0574 0:6bf5faf294b7 19 int US4_mean[MAX]={0,0,0,0,0,0,0,0,0,0};
iainsc0574 0:6bf5faf294b7 20 int US5_mean[MAX]={0,0,0,0,0,0,0,0,0,0};
iainsc0574 0:6bf5faf294b7 21
iainsc0574 0:6bf5faf294b7 22 void setActiveUS(int chan);
fjwats 1:832c213480a8 23
iainsc0574 0:6bf5faf294b7 24 int getPing(void);
iainsc0574 0:6bf5faf294b7 25
iainsc0574 0:6bf5faf294b7 26 int main() {
iainsc0574 0:6bf5faf294b7 27 int iCount = 0;
iainsc0574 0:6bf5faf294b7 28 int measured = 0;
fjwats 1:832c213480a8 29
iainsc0574 0:6bf5faf294b7 30 while(iCount <= 5){
iainsc0574 0:6bf5faf294b7 31 setActiveUS(iCount);
iainsc0574 0:6bf5faf294b7 32 measured = getPing();
iainsc0574 0:6bf5faf294b7 33 rawUS_data[iCount] = measured;
fjwats 1:832c213480a8 34 }
fjwats 1:832c213480a8 35
iainsc0574 0:6bf5faf294b7 36 US1_mean[0]=rawUS_data[0];
iainsc0574 0:6bf5faf294b7 37 US2_mean[0]=rawUS_data[1];
iainsc0574 0:6bf5faf294b7 38 US3_mean[0]=rawUS_data[2];
iainsc0574 0:6bf5faf294b7 39 US4_mean[0]=rawUS_data[3];
iainsc0574 0:6bf5faf294b7 40 US5_mean[0]=rawUS_data[4];
fjwats 1:832c213480a8 41
iainsc0574 0:6bf5faf294b7 42 }
iainsc0574 0:6bf5faf294b7 43
iainsc0574 0:6bf5faf294b7 44 void setActiveUS(int chan){
iainsc0574 0:6bf5faf294b7 45 switch(chan){
iainsc0574 0:6bf5faf294b7 46 case 0:
iainsc0574 0:6bf5faf294b7 47 //ultrasonic 1
iainsc0574 0:6bf5faf294b7 48 break;
iainsc0574 0:6bf5faf294b7 49
iainsc0574 0:6bf5faf294b7 50 case 1:
iainsc0574 0:6bf5faf294b7 51 //ultrasonic 2
iainsc0574 0:6bf5faf294b7 52 break;
iainsc0574 0:6bf5faf294b7 53
iainsc0574 0:6bf5faf294b7 54 case 2:
iainsc0574 0:6bf5faf294b7 55 //ultrasonic 3
iainsc0574 0:6bf5faf294b7 56 break;
iainsc0574 0:6bf5faf294b7 57
iainsc0574 0:6bf5faf294b7 58 case 3:
iainsc0574 0:6bf5faf294b7 59 //ultrasonic 4
iainsc0574 0:6bf5faf294b7 60 break;
iainsc0574 0:6bf5faf294b7 61
iainsc0574 0:6bf5faf294b7 62 case 4:
iainsc0574 0:6bf5faf294b7 63 //ultrasonic 5
iainsc0574 0:6bf5faf294b7 64 break;
iainsc0574 0:6bf5faf294b7 65
iainsc0574 0:6bf5faf294b7 66 }
fjwats 1:832c213480a8 67 }
iainsc0574 0:6bf5faf294b7 68
iainsc0574 0:6bf5faf294b7 69 int getPing(void){
iainsc0574 0:6bf5faf294b7 70 int result=0;
iainsc0574 0:6bf5faf294b7 71 //write ultrasonic code
iainsc0574 0:6bf5faf294b7 72 //return measured value
iainsc0574 0:6bf5faf294b7 73
iainsc0574 0:6bf5faf294b7 74
fjwats 1:832c213480a8 75 return result; //should just do "return [operation that gives result];" for efficiency
fjwats 1:832c213480a8 76 }
fjwats 1:832c213480a8 77