Lol smth

Dependencies:   LocalPositionSystem MMA8451Q Motor_Driver Sensors mbed

Fork of TDP_main_BartFork by Yelfie

main.cpp

Committer:
Reckstyle
Date:
2015-02-23
Revision:
9:718987b106a8
Parent:
7:14af656b721f
Child:
10:c9212bbfeae6

File content as of revision 9:718987b106a8:

// TESTING REPO COMMIT

/*
****** MAIN PROGRAM ******

TODO : organisational routine still to be decided.
3 main approaches: 
-sequential prirority based tasks
-Timer/Ticker driven with sequential prirority based tasks
- interrupt driven from sensor inputs

Please consider that although it is an embedded envrionment we are NOT creating a HARD-TIME real time system - delays can be dealt with
*/



#include "mbed.h"
#include "sensor_measure.h"
#include "Motor_Driver.h"
//#include "Sensors.h"

#define PWM_PERIOD_US 10000



Serial pc(USBTX, USBRX);

Timer MeasureTimer; //Timer used for measurement

/*    For deleting
double measure1 (){


    
    sensorTimer.reset();
    double freq,period = 0.0;
    int n =0; //number of samples
    int sensor_old = 0;
    int sensor_new  = 0;//variable to remember old sensor state
    double time_us = sensorTimer.read(); 
    while (n < NUMBER_SAMPLES){
        sensor_new = pin_right_right.read();
        if ( sensor_new== 1 && sensor_old == 0){ // detect on rising edge ,sensor_old
            n++;
        }
        sensor_old = sensor_new;
        
    }
    double time_us2 = sensorTimer.read();
   // pc.printf(" delta time is %f , time 2 is %f " , (time_us2 - time_us), time_us2); 
    period = time_us2/((double)NUMBER_SAMPLES); // Get time
    freq = (1/period);   // Convert period (in us) to frequency (Hz). Works up to 100kHz. 
   // pc.printf(" period is  %f  ", period);
    
    return freq;//(freq < sensor.black_value*2)? 1 : 0;
}
*/

int main() {
    
    /*
    Motor_Driver motors(PTD4, PTA12, PTA4, PTA5, PTC9, PTC8, PWM_PERIOD_US);
    
    motors.setSpeed(1.0f);
    motors.forward();
    motors.start();
    
    wait(3);
    
    motors.stop()
    motors.reverse();
    wait(200ms);
    
    motors.start();
    */ 
 //   setup_counter(1000, 0);
  //  float frequency = measure_frequency(CHANNEL_1);
    
    sensor_initialise(); // initialise sensor values
    wait(1); //give time to set up the system
    
    sensorTimer.start(); // start timer for sensors
    pc.printf("Start...");
    MeasureTimer.start();
    
    while (1) {
        MeasureTimer.reset();
        measure(right_right);
         pc.printf("Time taken for the whole thing is %f",MeasureTimer.read());
    }
        
}