Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed FXOS8700CQ mbed-rtos
Diff: Exam/Exam.cpp
- Revision:
- 11:5a6b9dffd78a
- Parent:
- 10:adff3c804985
- Child:
- 13:02002658e718
diff -r adff3c804985 -r 5a6b9dffd78a Exam/Exam.cpp
--- a/Exam/Exam.cpp Fri Apr 12 17:19:14 2019 +0000
+++ b/Exam/Exam.cpp Sun Apr 14 15:56:58 2019 +0000
@@ -18,19 +18,19 @@
void Exam::exam_title(Gamepad &pad, N5110 &lcd)
{
lcd.clear();
- static int instruct_data[] = {
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
- 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,
- 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,
- 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,
- 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,
- 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1
+ int instruct_data[10][78] = {
+ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
+ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
+ {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1},
+ {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1},
+ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1},
+ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1},
+ {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1},
+ {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1},
+ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1},
+ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1},
};
- lcd.drawSprite(4, 20, 10, 78, instruct_data);
+ lcd.drawSprite(4, 20, 10, 78, (int*)instruct_data);
lcd.refresh();
music.exam_intro(pad);
@@ -42,17 +42,17 @@
Page currentPage = PAGE_1;
int fps = 8.0;
int score = 0;
- static int down[] = {
- 1,1,1,1,1,1,1,
- 0,1,1,1,1,1,0,
- 0,0,1,1,1,0,0,
- 0,0,0,1,0,0,0
+ int down[4][7] = {
+ {1,1,1,1,1,1,1},
+ {0,1,1,1,1,1,0},
+ {0,0,1,1,1,0,0},
+ {0,0,0,1,0,0,0},
};
- static int up[] = {
- 0,0,0,1,0,0,0,
- 0,0,1,1,1,0,0,
- 0,1,1,1,1,1,0,
- 1,1,1,1,1,1,1
+ int up[4][7] = {
+ {0,0,0,1,0,0,0},
+ {0,0,1,1,1,0,0},
+ {0,1,1,1,1,1,0},
+ {1,1,1,1,1,1,1},
};
bool finished = false;
@@ -66,7 +66,7 @@
lcd.printString("cut off",0,2);
lcd.printString("frequency ",0,3);
lcd.printString("of a circuit",0,4);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_2;}
if(pad.get_direction() == N){currentPage = PAGE_1;}
@@ -79,7 +79,7 @@
lcd.printString("and capacitor",0,2);
lcd.printString("of 120pF in",0,3);
lcd.printString("series?",0,4);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_3;}
if(pad.get_direction() == N){currentPage = PAGE_1;}
@@ -99,7 +99,7 @@
lcd.printString("X. $%^&*",0,4);
lcd.printString("Y. $%^&*",0,5);
}
- lcd.drawSprite(39, 0, 4, 7, up);
+ lcd.drawSprite(39, 0, 4, 7, (int*)up);
lcd.refresh();
if(pad.get_direction() == N){currentPage = PAGE_2;}
if(pad.check_event(Gamepad::A_PRESSED) == true){
@@ -120,7 +120,7 @@
lcd.printString("integration",0,2);
lcd.printString("of function",0,3);
lcd.printString("1/(6+5cos(x))",0,4);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_5;}
if(pad.get_direction() == N){currentPage = PAGE_4;}
@@ -131,7 +131,7 @@
lcd.printString("with respect",0,0);
lcd.printString("to x for ",0,1);
lcd.printString("[0,pi/2]?",0,2);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_6;}
if(pad.get_direction() == N){currentPage = PAGE_4;}
@@ -151,7 +151,7 @@
lcd.printString("X. $%^&*",0,4);
lcd.printString("Y. $%^&*",0,5);
}
- lcd.drawSprite(39, 0, 4, 7, up);
+ lcd.drawSprite(39, 0, 4, 7, (int*)up);
lcd.refresh();
if(pad.get_direction() == N){currentPage = PAGE_5;}
if(pad.check_event(Gamepad::Y_PRESSED) == true){
@@ -172,7 +172,7 @@
lcd.printString("integration",0,2);
lcd.printString("of function",0,3);
lcd.printString("tan(x)",0,4);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_8;}
if(pad.get_direction() == N){currentPage = PAGE_7;}
@@ -182,7 +182,7 @@
lcd.clear();
lcd.printString("with respect",0,0);
lcd.printString("to x?",0,1);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_9;}
if(pad.get_direction() == N){currentPage = PAGE_7;}
@@ -202,7 +202,7 @@
lcd.printString("X. $%^&*",0,4);
lcd.printString("Y. $%^&*",0,5);
}
- lcd.drawSprite(39, 0, 4, 7, up);
+ lcd.drawSprite(39, 0, 4, 7, (int*)up);
lcd.refresh();
if(pad.get_direction() == N){currentPage = PAGE_8;}
if(pad.check_event(Gamepad::A_PRESSED) == true){
@@ -236,17 +236,17 @@
Page currentPage = PAGE_1;
int fps = 8.0;
int score = 0;
- static int down[] = {
- 1,1,1,1,1,1,1,
- 0,1,1,1,1,1,0,
- 0,0,1,1,1,0,0,
- 0,0,0,1,0,0,0
+ int down[4][7] = {
+ {1,1,1,1,1,1,1},
+ {0,1,1,1,1,1,0},
+ {0,0,1,1,1,0,0},
+ {0,0,0,1,0,0,0},
};
- static int up[] = {
- 0,0,0,1,0,0,0,
- 0,0,1,1,1,0,0,
- 0,1,1,1,1,1,0,
- 1,1,1,1,1,1,1
+ int up[4][7] = {
+ {0,0,0,1,0,0,0},
+ {0,0,1,1,1,0,0},
+ {0,1,1,1,1,1,0},
+ {1,1,1,1,1,1,1},
};
bool finished = false;
@@ -260,7 +260,7 @@
lcd.printString("with bandgap",0,2);
lcd.printString("of 1.42eV. ",0,3);
lcd.printString("Calculate",0,4);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_2;}
if(pad.get_direction() == N){currentPage = PAGE_1;}
@@ -273,7 +273,7 @@
lcd.printString("photo that can",0,2);
lcd.printString("be emitted",0,3);
lcd.printString("by it.",0,4);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_3;}
if(pad.get_direction() == N){currentPage = PAGE_1;}
@@ -293,7 +293,7 @@
lcd.printString("X. $%^&*",0,4);
lcd.printString("Y. $%^&*",0,5);
}
- lcd.drawSprite(39, 0, 4, 7, up);
+ lcd.drawSprite(39, 0, 4, 7, (int*)up);
lcd.refresh();
if(pad.get_direction() == N){currentPage = PAGE_2;}
if(pad.check_event(Gamepad::B_PRESSED) == true){
@@ -314,7 +314,7 @@
lcd.printString("signal for",0,2);
lcd.printString("the switch is",0,3);
lcd.printString("closed for",0,4);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_5;}
if(pad.get_direction() == N){currentPage = PAGE_4;}
@@ -327,7 +327,7 @@
lcd.printString("what is the",0,2);
lcd.printString("switching",0,3);
lcd.printString("frequency?",0,4);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_6;}
if(pad.get_direction() == N){currentPage = PAGE_4;}
@@ -347,7 +347,7 @@
lcd.printString("X. $%^&*",0,4);
lcd.printString("Y. $%^&*",0,5);
}
- lcd.drawSprite(39, 0, 4, 7, up);
+ lcd.drawSprite(39, 0, 4, 7, (int*)up);
lcd.refresh();
if(pad.get_direction() == N){currentPage = PAGE_5;}
if(pad.check_event(Gamepad::A_PRESSED) == true){
@@ -368,7 +368,7 @@
lcd.printString("signal with",0,2);
lcd.printString("x(t)=0 for t>2",0,3);
lcd.printString("and t<6. What",0,4);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_8;}
if(pad.get_direction() == N){currentPage = PAGE_7;}
@@ -379,7 +379,7 @@
lcd.printString("is the value",0,0);
lcd.printString("of x(-t+5) at",0,1);
lcd.printString("t=0?",0,2);
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_9;}
if(pad.get_direction() == N){currentPage = PAGE_7;}
@@ -399,7 +399,7 @@
lcd.printString("X. $%^&*",0,4);
lcd.printString("Y. $%^&*",0,5);
}
- lcd.drawSprite(39, 0, 4, 7, up);
+ lcd.drawSprite(39, 0, 4, 7, (int*)up);
lcd.refresh();
if(pad.get_direction() == N){currentPage = PAGE_8;}
if(pad.check_event(Gamepad::Y_PRESSED) == true){
@@ -433,17 +433,17 @@
Page currentPage = PAGE_1;
int fps = 8.0;
int score = 0;
- static int down[] = {
- 1,1,1,1,1,1,1,
- 0,1,1,1,1,1,0,
- 0,0,1,1,1,0,0,
- 0,0,0,1,0,0,0
+ int down[4][7] = {
+ {1,1,1,1,1,1,1},
+ {0,1,1,1,1,1,0},
+ {0,0,1,1,1,0,0},
+ {0,0,0,1,0,0,0},
};
- static int up[] = {
- 0,0,0,1,0,0,0,
- 0,0,1,1,1,0,0,
- 0,1,1,1,1,1,0,
- 1,1,1,1,1,1,1
+ int up[4][7] = {
+ {0,0,0,1,0,0,0},
+ {0,0,1,1,1,0,0},
+ {0,1,1,1,1,1,0},
+ {1,1,1,1,1,1,1},
};
bool finished = false;
@@ -463,7 +463,7 @@
lcd.printString("$%^&*$%^&*",0,2);
lcd.printString("$%^&*$%^&*",0,3);
}
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_2;}
if(pad.get_direction() == N){currentPage = PAGE_1;}
@@ -483,7 +483,7 @@
lcd.printString("X. $%^&*",0,4);
lcd.printString("Y. $%^&*",0,5);
}
- lcd.drawSprite(39, 0, 4, 7, up);
+ lcd.drawSprite(39, 0, 4, 7, (int*)up);
lcd.refresh();
if(pad.get_direction() == N){currentPage = PAGE_1;}
if(pad.check_event(Gamepad::A_PRESSED) == true){
@@ -510,7 +510,7 @@
lcd.printString("$%^&*$%^&*",0,2);
lcd.printString("$%^&*$%^&*",0,3);
}
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_4;}
if(pad.get_direction() == N){currentPage = PAGE_3;}
@@ -530,7 +530,7 @@
lcd.printString("X. $%^&*",0,4);
lcd.printString("Y. $%^&*",0,5);
}
- lcd.drawSprite(39, 0, 4, 7, up);
+ lcd.drawSprite(39, 0, 4, 7, (int*)up);
lcd.refresh();
if(pad.get_direction() == N){currentPage = PAGE_3;}
if(pad.check_event(Gamepad::B_PRESSED) == true){
@@ -557,7 +557,7 @@
lcd.printString("$%^&*$%^&*",0,2);
lcd.printString("$%^&*$%^&*",0,3);
}
- lcd.drawSprite(39, 44, 4, 7, down);
+ lcd.drawSprite(39, 44, 4, 7, (int*)down);
lcd.refresh();
if(pad.get_direction() == S){currentPage = PAGE_6;}
if(pad.get_direction() == N){currentPage = PAGE_5;}
@@ -577,7 +577,7 @@
lcd.printString("X. $%^&*",0,4);
lcd.printString("Y. $%^&*",0,5);
}
- lcd.drawSprite(39, 0, 4, 7, up);
+ lcd.drawSprite(39, 0, 4, 7, (int*)up);
lcd.refresh();
if(pad.get_direction() == N){currentPage = PAGE_5;}
if(pad.check_event(Gamepad::Y_PRESSED) == true){