ELEC2645 (2018/19) / Mbed 2 deprecated el17dg

Dependencies:   mbed

Fork of el17dg by Dmitrijs Griskovs

Committer:
Noximilien
Date:
Tue Feb 26 16:45:45 2019 +0000
Revision:
2:ec89189860e0
Parent:
1:5aa2312d3e94
Have done menu and pointer to orientate in the menu. -Before making the models.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Noximilien 0:69abdc43ae39 1 /*
Noximilien 0:69abdc43ae39 2 ELEC2645 Embedded Systems Project
Noximilien 0:69abdc43ae39 3 School of Electronic & Electrical Engineering
Noximilien 0:69abdc43ae39 4 University of Leeds
Noximilien 0:69abdc43ae39 5 Name: Dmitrijs Griskovs
Noximilien 0:69abdc43ae39 6 Username: el17dg
Noximilien 0:69abdc43ae39 7 Student ID Number: 201160286
Noximilien 0:69abdc43ae39 8 Date: start - 25/02/2019
Noximilien 0:69abdc43ae39 9 */
Noximilien 0:69abdc43ae39 10
Noximilien 0:69abdc43ae39 11
Noximilien 1:5aa2312d3e94 12 #include "mbed.h"
Noximilien 1:5aa2312d3e94 13 #include "N5110.h"
Noximilien 2:ec89189860e0 14 #include "Gamepad.h"
Noximilien 0:69abdc43ae39 15
Noximilien 0:69abdc43ae39 16
Noximilien 1:5aa2312d3e94 17 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
Noximilien 1:5aa2312d3e94 18 AnalogIn pot(PTB2);
Noximilien 1:5aa2312d3e94 19
Noximilien 2:ec89189860e0 20 AnalogIn x_dir(PTB11);
Noximilien 2:ec89189860e0 21 AnalogIn y_dir(PTB10);
Noximilien 2:ec89189860e0 22
Noximilien 1:5aa2312d3e94 23
Noximilien 1:5aa2312d3e94 24 void intro();
Noximilien 2:ec89189860e0 25 void pointer(int x, int y);
Noximilien 2:ec89189860e0 26 void pointer_position(int menu_number);
Noximilien 2:ec89189860e0 27
Noximilien 2:ec89189860e0 28 int menu_number = 0;
Noximilien 2:ec89189860e0 29 int total_menu_number = 3;
Noximilien 2:ec89189860e0 30 float time_delay = 100;
Noximilien 0:69abdc43ae39 31
Noximilien 1:5aa2312d3e94 32 int main(){
Noximilien 1:5aa2312d3e94 33 lcd.init();
Noximilien 1:5aa2312d3e94 34
Noximilien 1:5aa2312d3e94 35 intro();
Noximilien 1:5aa2312d3e94 36
Noximilien 1:5aa2312d3e94 37
Noximilien 1:5aa2312d3e94 38 while(1){
Noximilien 1:5aa2312d3e94 39
Noximilien 1:5aa2312d3e94 40 lcd.clear();
Noximilien 2:ec89189860e0 41
Noximilien 2:ec89189860e0 42 pointer_position(menu_number);
Noximilien 2:ec89189860e0 43
Noximilien 2:ec89189860e0 44 if(y_dir.read() > 0.6){
Noximilien 2:ec89189860e0 45 menu_number -= 1;
Noximilien 2:ec89189860e0 46 wait_ms(time_delay);
Noximilien 2:ec89189860e0 47 }
Noximilien 2:ec89189860e0 48 if (y_dir.read() < 0.4){
Noximilien 2:ec89189860e0 49 menu_number += 1;
Noximilien 2:ec89189860e0 50 wait_ms(time_delay);
Noximilien 2:ec89189860e0 51 }
Noximilien 2:ec89189860e0 52 if (menu_number < 0) {
Noximilien 2:ec89189860e0 53 menu_number += total_menu_number;
Noximilien 2:ec89189860e0 54 }
Noximilien 2:ec89189860e0 55 if (menu_number >= total_menu_number) {
Noximilien 2:ec89189860e0 56 menu_number -= total_menu_number;
Noximilien 2:ec89189860e0 57 }
Noximilien 2:ec89189860e0 58
Noximilien 1:5aa2312d3e94 59 lcd.printString(" Start ",1,2);
Noximilien 1:5aa2312d3e94 60 lcd.printString(" Tutorial",1,3);
Noximilien 1:5aa2312d3e94 61 lcd.printString(" Settings",1,4);
Noximilien 2:ec89189860e0 62
Noximilien 1:5aa2312d3e94 63 lcd.refresh();
Noximilien 1:5aa2312d3e94 64 wait_ms(1000/10);
Noximilien 1:5aa2312d3e94 65
Noximilien 1:5aa2312d3e94 66
Noximilien 1:5aa2312d3e94 67 }
Noximilien 1:5aa2312d3e94 68
Noximilien 1:5aa2312d3e94 69
Noximilien 1:5aa2312d3e94 70
Noximilien 1:5aa2312d3e94 71 }
Noximilien 1:5aa2312d3e94 72
Noximilien 1:5aa2312d3e94 73 void intro(){
Noximilien 1:5aa2312d3e94 74 lcd.clear();
Noximilien 1:5aa2312d3e94 75 lcd.printString(" StarBarians",1,1);
Noximilien 1:5aa2312d3e94 76 lcd.refresh();
Noximilien 2:ec89189860e0 77 wait(0.5);
Noximilien 1:5aa2312d3e94 78 lcd.printString(" And the quest ",1,2);
Noximilien 1:5aa2312d3e94 79 lcd.printString(" of the Princess Boobeta",1,3);
Noximilien 1:5aa2312d3e94 80 lcd.printString(" Boobeta",1,4);
Noximilien 1:5aa2312d3e94 81 lcd.refresh();
Noximilien 2:ec89189860e0 82 wait(0.5);
Noximilien 1:5aa2312d3e94 83 }
Noximilien 1:5aa2312d3e94 84
Noximilien 1:5aa2312d3e94 85 void pointer(int x, int y){
Noximilien 1:5aa2312d3e94 86
Noximilien 1:5aa2312d3e94 87 int cursor[84] = {0,0,0,0,1,0,0,0,0,0,1,1,
Noximilien 1:5aa2312d3e94 88 0,0,1,1,1,1,0,0,0,1,0,0,
Noximilien 1:5aa2312d3e94 89 0,1,0,0,1,1,1,0,1,0,0,0,
Noximilien 1:5aa2312d3e94 90 1,1,1,1,1,0,1,1,1,0,1,1,
Noximilien 1:5aa2312d3e94 91 0,1,0,0,1,1,1,0,1,0,0,0,
Noximilien 1:5aa2312d3e94 92 0,0,1,1,1,1,0,0,0,1,0,0,
Noximilien 1:5aa2312d3e94 93 0,0,0,0,1,0,0,0,0,0,1,1};
Noximilien 1:5aa2312d3e94 94
Noximilien 1:5aa2312d3e94 95
Noximilien 1:5aa2312d3e94 96 lcd.drawSprite(x,y,7,12,cursor);
Noximilien 1:5aa2312d3e94 97 }
Noximilien 1:5aa2312d3e94 98
Noximilien 2:ec89189860e0 99 void pointer_position(int menu_number){ //32 for 5th row- 25 for 4th row
Noximilien 2:ec89189860e0 100 if (menu_number == 0){
Noximilien 2:ec89189860e0 101 pointer(70, 17);
Noximilien 2:ec89189860e0 102 }
Noximilien 2:ec89189860e0 103 if (menu_number == 1){
Noximilien 2:ec89189860e0 104 pointer(70, 25);
Noximilien 2:ec89189860e0 105 }
Noximilien 2:ec89189860e0 106 if (menu_number == 2){
Noximilien 2:ec89189860e0 107 pointer(70, 32);
Noximilien 2:ec89189860e0 108 }
Noximilien 2:ec89189860e0 109 }
Noximilien 2:ec89189860e0 110