Pipeline Technology Centre / Mbed 2 deprecated PTCSpeed_MBED1

Dependencies:   mbed mbed-rtos

Committer:
ADAMSTRUTT
Date:
Wed Jul 22 13:12:14 2015 +0000
Revision:
0:efdae9d24ee1
Start of new PTC_speed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ADAMSTRUTT 0:efdae9d24ee1 1 //#include "mbed.h"
ADAMSTRUTT 0:efdae9d24ee1 2 //#include <time.h>
ADAMSTRUTT 0:efdae9d24ee1 3 //#include <string>
ADAMSTRUTT 0:efdae9d24ee1 4 //#include <iostream>
ADAMSTRUTT 0:efdae9d24ee1 5 //#include "Distance.h"
ADAMSTRUTT 0:efdae9d24ee1 6 //
ADAMSTRUTT 0:efdae9d24ee1 7 //void printArray(double array[20], int timesArray[20], int NoOfPins);
ADAMSTRUTT 0:efdae9d24ee1 8 //void data(int sensor_number, int time, double speed);
ADAMSTRUTT 0:efdae9d24ee1 9 //
ADAMSTRUTT 0:efdae9d24ee1 10 // //mbed pins
ADAMSTRUTT 0:efdae9d24ee1 11 //extern Serial pc;
ADAMSTRUTT 0:efdae9d24ee1 12 //DigitalIn sensor[20] = {p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24};//array of sensors.
ADAMSTRUTT 0:efdae9d24ee1 13 //
ADAMSTRUTT 0:efdae9d24ee1 14 //
ADAMSTRUTT 0:efdae9d24ee1 15 ////c++ variables
ADAMSTRUTT 0:efdae9d24ee1 16 //time_t sensor_time ; //time at which sensor is broken
ADAMSTRUTT 0:efdae9d24ee1 17 //int timeDiff; //time between 2 sensors
ADAMSTRUTT 0:efdae9d24ee1 18 //float speed;
ADAMSTRUTT 0:efdae9d24ee1 19 //int times[20]; //array the size of #pins
ADAMSTRUTT 0:efdae9d24ee1 20 //double speeds[20]; //array of speeds
ADAMSTRUTT 0:efdae9d24ee1 21 //
ADAMSTRUTT 0:efdae9d24ee1 22 //
ADAMSTRUTT 0:efdae9d24ee1 23 ////Speed Calculations
ADAMSTRUTT 0:efdae9d24ee1 24 //int calculate(double distance, int noOfPins)
ADAMSTRUTT 0:efdae9d24ee1 25 //{
ADAMSTRUTT 0:efdae9d24ee1 26 //
ADAMSTRUTT 0:efdae9d24ee1 27 // pc.printf("new program \n"); //alert user of initialisation
ADAMSTRUTT 0:efdae9d24ee1 28 //
ADAMSTRUTT 0:efdae9d24ee1 29 // int i = 0, i1 = 0;
ADAMSTRUTT 0:efdae9d24ee1 30 //
ADAMSTRUTT 0:efdae9d24ee1 31 // while( i < noOfPins)
ADAMSTRUTT 0:efdae9d24ee1 32 // {
ADAMSTRUTT 0:efdae9d24ee1 33 // while(!sensor[i])
ADAMSTRUTT 0:efdae9d24ee1 34 // {
ADAMSTRUTT 0:efdae9d24ee1 35 // if(sensor[i + 1]) { //checks if there is an error in the first sensor
ADAMSTRUTT 0:efdae9d24ee1 36 // sensor_time = time(NULL);
ADAMSTRUTT 0:efdae9d24ee1 37 // pc.printf ("Error with sensor: %d", i);
ADAMSTRUTT 0:efdae9d24ee1 38 // i++;
ADAMSTRUTT 0:efdae9d24ee1 39 // }
ADAMSTRUTT 0:efdae9d24ee1 40 // if(sensor[i + 2]) { //checks if there is an error in the second sensor after
ADAMSTRUTT 0:efdae9d24ee1 41 // sensor_time = time(NULL);
ADAMSTRUTT 0:efdae9d24ee1 42 // pc.printf ("Error with sensors: %d, %d", i,i1 = i + 1);
ADAMSTRUTT 0:efdae9d24ee1 43 // i = i + 2;
ADAMSTRUTT 0:efdae9d24ee1 44 // }
ADAMSTRUTT 0:efdae9d24ee1 45 // }
ADAMSTRUTT 0:efdae9d24ee1 46 // sensor_time = time(NULL); //gets current time
ADAMSTRUTT 0:efdae9d24ee1 47 // pc.printf("\n sensor %d : %d \t", i, sensor_time);
ADAMSTRUTT 0:efdae9d24ee1 48 // times[i] = sensor_time; //adds sensor times to array for logging.
ADAMSTRUTT 0:efdae9d24ee1 49 // if ( i > 0) { //to ensure it is not the first one
ADAMSTRUTT 0:efdae9d24ee1 50 // timeDiff = difftime(times[i], times[i-1]); //calculates the time difference
ADAMSTRUTT 0:efdae9d24ee1 51 // pc.printf(" timediff: %d s \t", timeDiff);
ADAMSTRUTT 0:efdae9d24ee1 52 // speed = distance / timeDiff;
ADAMSTRUTT 0:efdae9d24ee1 53 // pc.printf(" speed : %f m/s ", speed);
ADAMSTRUTT 0:efdae9d24ee1 54 // speeds[i] = speed;
ADAMSTRUTT 0:efdae9d24ee1 55 // }
ADAMSTRUTT 0:efdae9d24ee1 56 // i++;
ADAMSTRUTT 0:efdae9d24ee1 57 // }
ADAMSTRUTT 0:efdae9d24ee1 58 // pc.printf(" \n Calculate completed \n"); //alert to let user know it completed
ADAMSTRUTT 0:efdae9d24ee1 59 // printArray(speeds, times, noOfPins);
ADAMSTRUTT 0:efdae9d24ee1 60 //
ADAMSTRUTT 0:efdae9d24ee1 61 //}
ADAMSTRUTT 0:efdae9d24ee1 62 //
ADAMSTRUTT 0:efdae9d24ee1 63 //void printArray(double array[23], int timesArray[23], int noOfPins)
ADAMSTRUTT 0:efdae9d24ee1 64 // {
ADAMSTRUTT 0:efdae9d24ee1 65 // for (int i = 0; i < noOfPins ; i++) //printing module for array
ADAMSTRUTT 0:efdae9d24ee1 66 // {
ADAMSTRUTT 0:efdae9d24ee1 67 // pc.printf(" Sensor : %d Time %d Speed %f \n", i, times[i], speeds[i]);// pc.printf(" %d : %d \t", i,times[i]);
ADAMSTRUTT 0:efdae9d24ee1 68 // }
ADAMSTRUTT 0:efdae9d24ee1 69 // for (int i = 0; i < noOfPins ; i++) //printing to Datalog
ADAMSTRUTT 0:efdae9d24ee1 70 // {
ADAMSTRUTT 0:efdae9d24ee1 71 // data( i,times[i],speeds[i]);
ADAMSTRUTT 0:efdae9d24ee1 72 // }
ADAMSTRUTT 0:efdae9d24ee1 73 //
ADAMSTRUTT 0:efdae9d24ee1 74 // }