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-06
Revision:
11:7f2414ecb7ee
Parent:
10:2522e3878e1c
Child:
12:8eb2c1cccee6

File content as of revision 11:7f2414ecb7ee:

/*
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 sumped into a file every 20 second.
Author : Muaiyd Hameed Al-Zandi
Date   : 09/04/2014 
*/
#include "CAR.h"

int main() {
    //Initialize an object of class CAR
    CAR car1;
    //Define the multy threat function
    Thread Accelero_Brake__Read_Thread(car1.Accelero_Brake_Read);
    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_And_Indicator_Switch_Read_Thread(car1.Odo_Show_Indicator_Switch_Read);
    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;
        }     
    }
}