ELEC2645 (2018/19) / Mbed 2 deprecated el16y2m

Dependencies:   mbed

Committer:
MYY
Date:
Sun Mar 31 18:45:25 2019 +0000
Revision:
0:4ada39fe4ffc
Child:
1:7a3eed610fea
This is the first stage which can reveal welcome page and first round with rotating hook. The release and stretch function of hook is not available now.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MYY 0:4ada39fe4ffc 1 #include "mbed.h"
MYY 0:4ada39fe4ffc 2 #include "Image.h"
MYY 0:4ada39fe4ffc 3 #include "Rotate.h"
MYY 0:4ada39fe4ffc 4 #include "Gamepad.h"
MYY 0:4ada39fe4ffc 5 #define PI 3.1415
MYY 0:4ada39fe4ffc 6
MYY 0:4ada39fe4ffc 7 Image Image;
MYY 0:4ada39fe4ffc 8
MYY 0:4ada39fe4ffc 9 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
MYY 0:4ada39fe4ffc 10
MYY 0:4ada39fe4ffc 11
MYY 0:4ada39fe4ffc 12 Rotate Rotate;
MYY 0:4ada39fe4ffc 13
MYY 0:4ada39fe4ffc 14 InterruptIn A(PTB9);
MYY 0:4ada39fe4ffc 15
MYY 0:4ada39fe4ffc 16 void A_isr();
MYY 0:4ada39fe4ffc 17
MYY 0:4ada39fe4ffc 18 void init_K64F();
MYY 0:4ada39fe4ffc 19
MYY 0:4ada39fe4ffc 20 volatile int g_A_flag = 0;
MYY 0:4ada39fe4ffc 21
MYY 0:4ada39fe4ffc 22 int main()
MYY 0:4ada39fe4ffc 23 {
MYY 0:4ada39fe4ffc 24 // first need to initialise display
MYY 0:4ada39fe4ffc 25 lcd.init();
MYY 0:4ada39fe4ffc 26 // change set contrast in range 0.0 to 1.0
MYY 0:4ada39fe4ffc 27 // 0.4 appears to be a good starting point
MYY 0:4ada39fe4ffc 28 lcd.setContrast(0.5);
MYY 0:4ada39fe4ffc 29 A.mode(PullDown);
MYY 0:4ada39fe4ffc 30 A.rise(&A_isr);
MYY 0:4ada39fe4ffc 31 // since SW2 has an external pull-up, we should disable to internal pull-down
MYY 0:4ada39fe4ffc 32 // resistor that is enabled by default using InterruptIn
MYY 0:4ada39fe4ffc 33 Rotate.return_flag=1;
MYY 0:4ada39fe4ffc 34 Rotate.return_angle=PI;
MYY 0:4ada39fe4ffc 35
MYY 0:4ada39fe4ffc 36 while(1) {
MYY 0:4ada39fe4ffc 37 int detector=A.read();
MYY 0:4ada39fe4ffc 38 // these are default settings so not strictly needed
MYY 0:4ada39fe4ffc 39 lcd.normalMode(); // normal colour mode
MYY 0:4ada39fe4ffc 40 lcd.setBrightness(0.4); // put LED backlight on 50%
MYY 0:4ada39fe4ffc 41 // x origin, y origin, rows, cols, sprite
MYY 0:4ada39fe4ffc 42 if(g_A_flag) {
MYY 0:4ada39fe4ffc 43 detector=1;
MYY 0:4ada39fe4ffc 44 }
MYY 0:4ada39fe4ffc 45
MYY 0:4ada39fe4ffc 46 switch(detector) {
MYY 0:4ada39fe4ffc 47 case 0 :
MYY 0:4ada39fe4ffc 48 lcd.clear();
MYY 0:4ada39fe4ffc 49 lcd.printString("Misery Miner!",0,0);
MYY 0:4ada39fe4ffc 50 lcd.refresh();
MYY 0:4ada39fe4ffc 51 wait(0.1);
MYY 0:4ada39fe4ffc 52 break;
MYY 0:4ada39fe4ffc 53 case 1 :
MYY 0:4ada39fe4ffc 54 Rotate.rotate(lcd,Image, Rotate.return_angle, PI, Rotate.return_flag);
MYY 0:4ada39fe4ffc 55 //printf("f%", Rotate.return_angle);
MYY 0:4ada39fe4ffc 56 break;
MYY 0:4ada39fe4ffc 57 }
MYY 0:4ada39fe4ffc 58 }
MYY 0:4ada39fe4ffc 59 }
MYY 0:4ada39fe4ffc 60
MYY 0:4ada39fe4ffc 61 void A_isr()
MYY 0:4ada39fe4ffc 62 {
MYY 0:4ada39fe4ffc 63 g_A_flag = 1;
MYY 0:4ada39fe4ffc 64 }
MYY 0:4ada39fe4ffc 65