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
main.cpp@0:4ada39fe4ffc, 2019-03-31 (annotated)
- 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?
| User | Revision | Line number | New 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 |