ELEC2645 (2018/19) / Mbed 2 deprecated el17dtt

Dependencies:   mbed

main.cpp

Committer:
batJoro
Date:
2019-05-05
Revision:
9:dc13042b09f5
Parent:
8:b3738229ba85
Child:
10:b939edd9b87c

File content as of revision 9:dc13042b09f5:



/*
ELEC2645 Embedded Systems Project
School of Electronic & Electrical Engineering University of Leeds

Name: Dobri Tsvetkov
Username: el17dtt
Student ID Number: 201154059
Date: 12.03.2019
*/


#include "mbed.h"
#include "Gamepad.h"
#include "N5110.h"
#include "menu.h"
#include "engine.h"



/////////////// structs /////////////////


/////////////// objects ///////////////
N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
Gamepad gamepad;
Engine engine;

///////////// prototypes ///////////////
void init();
void welcome();
void render();

///////////// functions ////////////////
int main() {
    
    int fps = 10;  // frames per second
    
    init();
    
    welcome();
    // game loop - read input, update the game state and render the display
    while(1) {
        // engine.read_input(gamepad);
        engine.update(gamepad, lcd, 1.0f/fps);
        render();
        wait(1.0f/fps);
    }
}


// initialies all classes and libraries
void init()
{

    // need to initialise LCD and Gamepad and Engine
    lcd.init();
    gamepad.init();
    
    // init the engine and start the game at 0 speed
    engine.init(48 , 84, 0);
    
    gamepad.leds_on();
    lcd.setContrast(0.4);
}
// function to call the intro method of the menu class
void welcome() {
    
    Menu menu;   
    //menu.intro(lcd, gamepad);
    while (menu.startMainMenu(lcd, gamepad) == 1) {
        //menu.displayControls(lcd, gamepad);
    };
}
// this function draws each frame on the LCD
void render() {
    
        //lcd.clear();
        //engine.draw(lcd);
        //lcd.refresh();
}