ELEC2645 (2018/19) / Mbed 2 deprecated el16y2m

Dependencies:   mbed

Committer:
MYY
Date:
Sat Apr 20 19:19:26 2019 +0000
Revision:
4:b52a0d2925df
Parent:
1:7a3eed610fea
Child:
5:fe1f5b231446
Now the code can fetch nugget however it is still not clear how to ellimate the old nugget.

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 1:7a3eed610fea 4 #include "Release.h"
MYY 0:4ada39fe4ffc 5 #include "Gamepad.h"
MYY 0:4ada39fe4ffc 6 #define PI 3.1415
MYY 0:4ada39fe4ffc 7
MYY 0:4ada39fe4ffc 8 Image Image;
MYY 0:4ada39fe4ffc 9
MYY 0:4ada39fe4ffc 10 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
MYY 0:4ada39fe4ffc 11
MYY 0:4ada39fe4ffc 12
MYY 0:4ada39fe4ffc 13 Rotate Rotate;
MYY 1:7a3eed610fea 14 Release Release;
MYY 4:b52a0d2925df 15 Detect detect;
MYY 0:4ada39fe4ffc 16
MYY 0:4ada39fe4ffc 17 InterruptIn A(PTB9);
MYY 1:7a3eed610fea 18 InterruptIn B(PTD0);
MYY 0:4ada39fe4ffc 19
MYY 0:4ada39fe4ffc 20 void A_isr();
MYY 1:7a3eed610fea 21 void B_isr();
MYY 0:4ada39fe4ffc 22
MYY 0:4ada39fe4ffc 23 void init_K64F();
MYY 0:4ada39fe4ffc 24
MYY 0:4ada39fe4ffc 25 volatile int g_A_flag = 0;
MYY 1:7a3eed610fea 26 volatile int g_B_flag = 0;
MYY 0:4ada39fe4ffc 27
MYY 0:4ada39fe4ffc 28 int main()
MYY 0:4ada39fe4ffc 29 {
MYY 0:4ada39fe4ffc 30 // first need to initialise display
MYY 0:4ada39fe4ffc 31 lcd.init();
MYY 0:4ada39fe4ffc 32 // change set contrast in range 0.0 to 1.0
MYY 0:4ada39fe4ffc 33 // 0.4 appears to be a good starting point
MYY 0:4ada39fe4ffc 34 lcd.setContrast(0.5);
MYY 1:7a3eed610fea 35
MYY 0:4ada39fe4ffc 36 A.mode(PullDown);
MYY 0:4ada39fe4ffc 37 A.rise(&A_isr);
MYY 1:7a3eed610fea 38 B.mode(PullDown);
MYY 1:7a3eed610fea 39 B.rise(&B_isr);
MYY 1:7a3eed610fea 40
MYY 0:4ada39fe4ffc 41 // since SW2 has an external pull-up, we should disable to internal pull-down
MYY 0:4ada39fe4ffc 42 // resistor that is enabled by default using InterruptIn
MYY 0:4ada39fe4ffc 43 Rotate.return_flag=1;
MYY 0:4ada39fe4ffc 44 Rotate.return_angle=PI;
MYY 0:4ada39fe4ffc 45
MYY 0:4ada39fe4ffc 46 while(1) {
MYY 0:4ada39fe4ffc 47 int detector=A.read();
MYY 0:4ada39fe4ffc 48 // these are default settings so not strictly needed
MYY 0:4ada39fe4ffc 49 lcd.normalMode(); // normal colour mode
MYY 0:4ada39fe4ffc 50 lcd.setBrightness(0.4); // put LED backlight on 50%
MYY 0:4ada39fe4ffc 51 // x origin, y origin, rows, cols, sprite
MYY 0:4ada39fe4ffc 52 if(g_A_flag) {
MYY 0:4ada39fe4ffc 53 detector=1;
MYY 0:4ada39fe4ffc 54 }
MYY 0:4ada39fe4ffc 55
MYY 1:7a3eed610fea 56 if(g_B_flag) {
MYY 1:7a3eed610fea 57 g_A_flag=0;
MYY 1:7a3eed610fea 58 detector=2;
MYY 1:7a3eed610fea 59 }
MYY 1:7a3eed610fea 60
MYY 0:4ada39fe4ffc 61 switch(detector) {
MYY 0:4ada39fe4ffc 62 case 0 :
MYY 0:4ada39fe4ffc 63 lcd.clear();
MYY 0:4ada39fe4ffc 64 lcd.printString("Misery Miner!",0,0);
MYY 0:4ada39fe4ffc 65 lcd.refresh();
MYY 0:4ada39fe4ffc 66 wait(0.1);
MYY 0:4ada39fe4ffc 67 break;
MYY 0:4ada39fe4ffc 68 case 1 :
MYY 0:4ada39fe4ffc 69 Rotate.rotate(lcd,Image, Rotate.return_angle, PI, Rotate.return_flag);
MYY 0:4ada39fe4ffc 70 //printf("f%", Rotate.return_angle);
MYY 4:b52a0d2925df 71 // int i=0;
MYY 4:b52a0d2925df 72 // i=i+1
MYY 4:b52a0d2925df 73 //int catched(i)=(n,n)
MYY 4:b52a0d2925df 74 // int ii
MYY 4:b52a0d2925df 75 //for (ii=0; ii<i; ii=ii+1)
MYY 4:b52a0d2925df 76 // draw blank(i)
MYY 4:b52a0d2925df 77 // end
MYY 0:4ada39fe4ffc 78 break;
MYY 1:7a3eed610fea 79 case 2 :
MYY 4:b52a0d2925df 80 Release.release(detect, lcd,Image, Rotate.return_angle);
MYY 1:7a3eed610fea 81 //printf("f%", Rotate.return_angle);
MYY 1:7a3eed610fea 82 g_A_flag = 1;
MYY 1:7a3eed610fea 83 g_B_flag = 0;
MYY 1:7a3eed610fea 84 break;
MYY 0:4ada39fe4ffc 85 }
MYY 1:7a3eed610fea 86
MYY 1:7a3eed610fea 87
MYY 0:4ada39fe4ffc 88 }
MYY 0:4ada39fe4ffc 89 }
MYY 0:4ada39fe4ffc 90
MYY 0:4ada39fe4ffc 91 void A_isr()
MYY 0:4ada39fe4ffc 92 {
MYY 0:4ada39fe4ffc 93 g_A_flag = 1;
MYY 0:4ada39fe4ffc 94 }
MYY 0:4ada39fe4ffc 95
MYY 1:7a3eed610fea 96 void B_isr()
MYY 1:7a3eed610fea 97 {
MYY 1:7a3eed610fea 98 g_B_flag = 1;
MYY 1:7a3eed610fea 99 }