test

Dependencies:   mbed

Dependents:   MouseHybridSenseCode

main.cpp

Committer:
JamieBignell
Date:
2018-03-11
Revision:
5:dfea493f7a12
Parent:
4:f1670eec4681
Child:
6:a652deaae134

File content as of revision 5:dfea493f7a12:

#include <mbed.h>
#include <funcdef.h>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Initialise Global Variables

int sensorValue[] = {0,0,0,0,0,0,0,0};

int sensorMinValue[] = {0,0,0,0,0,0,0,0};
int sensorMaxValue[] = {0,0,0,0,0,0,0,0};

int sensorMinValue1[] = {0,0,0,0,0,0,0,0};
int sensorMaxValue1[] = {0,0,0,0,0,0,0,0};

int sensorMinValue2[] = {0,0,0,0,0,0,0,0};
int sensorMaxValue2[] = {0,0,0,0,0,0,0,0};

int sensorThreshold[] = {0,0,0,0,0,0,0,0};
int sensorErrors[] = {0,0,0,0,0,0,0,0};

int Prop=0;
//int Inte;//=0;
//int Dere;//=0;
int errorVar=0;
int previousError=0; 
int PIDs=0;
int accumulator=0;
int counter=0;
int delayBetweenPulses_ms=0;
int note=0;
int initialMotorspeed = 250;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Interupt Definition 

Ticker beeper; 
void beep()
{    
    if (counter == 5)
    {
        beeperVal.pulsewidth_us(0);
        counter=(-1*((delayBetweenPulses_ms/10)+1));
    }
    else if (counter==0)
    {
        beeperVal.period_us(note);
        beeperVal.pulsewidth_us(note/2); 
    }
    counter++;   
    return;
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Main Code

int main() 
{    
    //CONFIGURE BEEPER    
    note=period_F6;
    beeperVal.period_us(note);
    beeperVal.pulsewidth_us(0);
    
    //CONFIGURE MOTORS & TURN OFF LED
    LEDVal=0;
    leftMotorVal.period_us(1000);
    rightMotorVal.period_us(1000);
    leftMotorVal.pulsewidth_us(0); 
    rightMotorVal.pulsewidth_us(0);
    
    wait_ms(1000); 
    
    //START BEEPER 20HZ % TURN LED ON
    LEDVal=1; 
    counter=0;    
    delayBetweenPulses_ms=50;    
    beeper.attach(&beep, 0.01);
    //beeper.detach();
    
    //BEGIN CALIBRATION
    CalibrateFunc();
    printCalibrateValues();   
    
    //TURN OFF LED AND SET PULSES TO 2 HZ
    LEDVal=0; 
    counter=0;    
    delayBetweenPulses_ms=500;    
    //beeper.attach(&beep, 0.01);
    
    //WAIT 3 SECONDS AND DETACH BEEPER FOR MAIN RUN
    counter=0; 
    beeper.detach();
    wait_ms(3000);
    /*
    //FIND LINE
    findLineFunc();
    counter=0;    
    delayBetweenPulses_ms=500;    
    beeper.attach(&beep, 0.01);
    
    //ONCE FOUND, HAND OVER TO MAIN ALGORITHM 
    
    while(1)
    {     
        senseFunc();
        calculateFunc();
        driveFunc();        
    }
    */
    return 0;
}