This is car control simulation by using Mbed controller and real time operating system.

Dependencies:   MCP23017 Servo WattBob_TextLCD mbed-rtos mbed

Fork of Ass3 by Muaiyd Al-Zandi

main.cpp

Committer:
muaiyd
Date:
2014-05-07
Revision:
13:e5b22bfbe67b
Parent:
12:8eb2c1cccee6

File content as of revision 13:e5b22bfbe67b:

/*
By Muaiyd Hameed Mohammed Al-Zandi
*****************************
*        MAIN.CPP           *
*****************************
Small software to simulate a car and show the Average speed and the odometer
on the LCD. Also, it saves the average speed and accelerometer and brake value
in a special queue. This queue is dumped into a file every 20 second.
 
*/
#include "CAR.h"

int main() {
    //Initialize an object of class CAR
    CAR car1;
    //Define the multy threat function
    Thread Car_Simulation_Thread(car1.Car_Simulation);
    Thread Average_Speed_Measure_Thread(car1.Average_Speed_Measure);
    Thread Average_Speed_Show_Thread(car1.Average_Speed_Show);
    Thread OverSpeed_Thread(car1.OverSpeed);
    Thread ODO_Thread(car1.Odo_Show);
    Thread SEND_CAR_VALUES_Thread(car1.SEND_CAR_VALUES);
    Thread DUMP_CAR_VALUES_Thread(car1.DUMP_CAR_VALUES_En);
    Thread Side_Light_Flash_Thread(car1.Side_Light_Flash);
    Thread Side_Light_Thread(car1.Side_Light);
    
    //In main threat function to flash the leds on the board
    // when the speed become over 70 MPH
    while(true){
        if(IsOverSpeed){
            OverSpeedLED = 0x6;
            wait(0.5);
            OverSpeedLED = 0x9;
            wait(0.5) ;   
        }
        else{
            OverSpeedLED = 0;
        }     
    }
}