ELEC2645 (2017/18) / Mbed 2 deprecated el15ww

Dependencies:   mbed

main.cpp

Committer:
weiway
Date:
2018-05-06
Revision:
13:4026781772cb
Parent:
9:f82627d119f6
Child:
15:47ea86f1ed70

File content as of revision 13:4026781772cb:

/*
ELEC2645 Embedded Systems Project
School of Electronic & Electrical Engineering
University of Leeds
Name: Wei Wei
Username: el15ww
Student ID Number: 200975452
Date:
*/

#include "mbed.h"
#include "Gamepad.h"
#include "N5110.h"
#include  "snake.h"
#include  "snake_engine.h"

N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
Gamepad pad;
snake_engine engine;

struct UserInput {
    Direction d;
    float mag;
};


void init();
void render();
void welcome();
void reset();

int main()
{
    init();
    welcome();
    while (1) {

        engine.read_input(pad);
        engine.update(pad, lcd);
        render();
        wait(0.05f);
        reset();
    }
}


void init()
{
    lcd.init();
    pad.init();
    engine.init();
}


void render()
{

    lcd.clear();
    engine.draw(lcd);
    lcd.refresh();
}




void welcome()
{

    while ( pad.check_event(Gamepad::START_PRESSED) == false) {
    }

}



void reset()
{
    if ( pad.check_event(Gamepad::BACK_PRESSED) == true) {
        lcd.clear();
        lcd.refresh();

        init();
        welcome();
    }
}