ELEC2645 (2018/19) / Mbed 2 deprecated el17cr

Dependencies:   mbed

Committer:
el17cr
Date:
Fri Apr 05 16:30:47 2019 +0000
Revision:
2:7f91a86b4dc0
Parent:
0:adb2f501dd61
Child:
3:5edefa83f8f0
functions organised and ball linked to move with joystick

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17cr 0:adb2f501dd61 1 /*
el17cr 0:adb2f501dd61 2 ELEC2645 Embedded Systems Project
el17cr 0:adb2f501dd61 3 School of Electronic & Electrical Engineering
el17cr 0:adb2f501dd61 4 University of Leeds
el17cr 0:adb2f501dd61 5 Name:
el17cr 0:adb2f501dd61 6 Username:
el17cr 0:adb2f501dd61 7 Student ID Number:
el17cr 0:adb2f501dd61 8 Date:
el17cr 0:adb2f501dd61 9 */
el17cr 2:7f91a86b4dc0 10
el17cr 2:7f91a86b4dc0 11 #include "mbed.h"
el17cr 2:7f91a86b4dc0 12 #include "Gamepad.h"
el17cr 2:7f91a86b4dc0 13 #include "N5110.h"
el17cr 2:7f91a86b4dc0 14 #include "Falldown.h"
el17cr 2:7f91a86b4dc0 15
el17cr 2:7f91a86b4dc0 16 #define GROUND_WIDTH 70
el17cr 2:7f91a86b4dc0 17 #define GROUND_HEIGHT 2
el17cr 2:7f91a86b4dc0 18 #define BALL_WIDTH 3
el17cr 2:7f91a86b4dc0 19 #define BALL_HEIGHT 3
el17cr 2:7f91a86b4dc0 20
el17cr 2:7f91a86b4dc0 21
el17cr 2:7f91a86b4dc0 22
el17cr 2:7f91a86b4dc0 23 struct UserInput {
el17cr 2:7f91a86b4dc0 24 Direction d;
el17cr 2:7f91a86b4dc0 25 float mag;
el17cr 2:7f91a86b4dc0 26 };
el17cr 2:7f91a86b4dc0 27
el17cr 2:7f91a86b4dc0 28 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); // K64F - pwr from 3V3
el17cr 2:7f91a86b4dc0 29 Gamepad pad;
el17cr 2:7f91a86b4dc0 30 Falldown falldown;
el17cr 2:7f91a86b4dc0 31
el17cr 2:7f91a86b4dc0 32 void init();
el17cr 2:7f91a86b4dc0 33 void update_game(UserInput input);
el17cr 2:7f91a86b4dc0 34 void render();
el17cr 2:7f91a86b4dc0 35
el17cr 2:7f91a86b4dc0 36 int main()
el17cr 2:7f91a86b4dc0 37 {
el17cr 2:7f91a86b4dc0 38 init();
el17cr 2:7f91a86b4dc0 39 render();
el17cr 2:7f91a86b4dc0 40 wait(0.1);
el17cr 2:7f91a86b4dc0 41 while (1) {
el17cr 2:7f91a86b4dc0 42 falldown.read_input(pad);
el17cr 2:7f91a86b4dc0 43 falldown.update(pad);
el17cr 2:7f91a86b4dc0 44 render();
el17cr 2:7f91a86b4dc0 45 wait(0.1);
el17cr 2:7f91a86b4dc0 46 }
el17cr 2:7f91a86b4dc0 47 }
el17cr 2:7f91a86b4dc0 48
el17cr 2:7f91a86b4dc0 49 void init()
el17cr 2:7f91a86b4dc0 50 {
el17cr 2:7f91a86b4dc0 51 lcd.init();
el17cr 2:7f91a86b4dc0 52 pad.init();
el17cr 2:7f91a86b4dc0 53
el17cr 2:7f91a86b4dc0 54 falldown.init(GROUND_WIDTH,GROUND_HEIGHT,BALL_WIDTH,BALL_HEIGHT);
el17cr 2:7f91a86b4dc0 55 }
el17cr 2:7f91a86b4dc0 56
el17cr 2:7f91a86b4dc0 57 void render()
el17cr 2:7f91a86b4dc0 58 {
el17cr 2:7f91a86b4dc0 59
el17cr 2:7f91a86b4dc0 60 lcd.clear();
el17cr 2:7f91a86b4dc0 61 //lcd.drawRect(2, 2, 80, 44, FILL_TRANSPARENT);
el17cr 2:7f91a86b4dc0 62 //gr.draw(lcd);
el17cr 2:7f91a86b4dc0 63 //ba.draw(lcd);
el17cr 2:7f91a86b4dc0 64 falldown.draw(lcd);
el17cr 2:7f91a86b4dc0 65 lcd.refresh();
el17cr 2:7f91a86b4dc0 66
el17cr 2:7f91a86b4dc0 67 }