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.
Ray casting engine written to test performance of the LCD_ST7735 library I wrote as a learning exercise on the mbed platform.
main.cpp@3:e32f5c25a352, 2014-10-25 (annotated)
- Committer:
- taylorza
- Date:
- Sat Oct 25 04:23:24 2014 +0000
- Revision:
- 3:e32f5c25a352
- Parent:
- 2:4de2cb6f6fe8
Updated the engine to use the latest LCD_ST7735 library
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| taylorza | 0:303768292f44 | 1 | #include "mbed.h" | 
| taylorza | 0:303768292f44 | 2 | #include "common.h" | 
| taylorza | 0:303768292f44 | 3 | #include "LCD_ST7735.h" | 
| taylorza | 0:303768292f44 | 4 | #include "Color565.h" | 
| taylorza | 0:303768292f44 | 5 | #include "Raycaster.h" | 
| taylorza | 0:303768292f44 | 6 | |
| taylorza | 0:303768292f44 | 7 | static const uint8_t g_map[] = | 
| taylorza | 0:303768292f44 | 8 | { | 
| taylorza | 0:303768292f44 | 9 | 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, | 
| taylorza | 0:303768292f44 | 10 | 1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,4, | 
| taylorza | 0:303768292f44 | 11 | 1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,4, | 
| taylorza | 0:303768292f44 | 12 | 1,0,1,0,0,0,0,1,1,0,0,0,0,1,0,4, | 
| taylorza | 0:303768292f44 | 13 | 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, | 
| taylorza | 0:303768292f44 | 14 | 1,1,3,4,3,3,3,0,0,2,2,2,2,2,2,4, | 
| taylorza | 0:303768292f44 | 15 | 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, | 
| taylorza | 0:303768292f44 | 16 | 1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,4, | 
| taylorza | 0:303768292f44 | 17 | 1,1,1,1,0,0,1,0,0,1,0,0,3,3,3,4, | 
| taylorza | 0:303768292f44 | 18 | 3,0,0,0,0,0,1,0,0,1,0,0,0,0,0,4, | 
| taylorza | 0:303768292f44 | 19 | 3,0,0,1,1,1,0,0,0,0,1,1,1,0,0,4, | 
| taylorza | 0:303768292f44 | 20 | 3,0,0,1,0,0,0,0,0,0,0,0,1,0,0,4, | 
| taylorza | 0:303768292f44 | 21 | 3,0,0,1,0,0,2,4,4,2,0,0,1,0,0,4, | 
| taylorza | 0:303768292f44 | 22 | 3,0,0,1,0,0,0,0,0,0,0,0,1,0,0,4, | 
| taylorza | 0:303768292f44 | 23 | 3,0,0,0,0,1,0,0,0,0,1,0,0,0,0,4, | 
| taylorza | 0:303768292f44 | 24 | 3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4, | 
| taylorza | 0:303768292f44 | 25 | }; | 
| taylorza | 0:303768292f44 | 26 | |
| taylorza | 0:303768292f44 | 27 | static const uint16_t g_palette[] = | 
| taylorza | 0:303768292f44 | 28 | { | 
| taylorza | 0:303768292f44 | 29 | Color565::Black, | 
| taylorza | 0:303768292f44 | 30 | Color565::Red, | 
| taylorza | 0:303768292f44 | 31 | Color565::Green, | 
| taylorza | 0:303768292f44 | 32 | Color565::Blue, | 
| taylorza | 0:303768292f44 | 33 | Color565::Yellow | 
| taylorza | 0:303768292f44 | 34 | }; | 
| taylorza | 0:303768292f44 | 35 | |
| taylorza | 0:303768292f44 | 36 | AnalogIn stickX(P0_11); | 
| taylorza | 0:303768292f44 | 37 | AnalogIn stickY(P0_13); | 
| taylorza | 0:303768292f44 | 38 | |
| taylorza | 0:303768292f44 | 39 | main() | 
| taylorza | 0:303768292f44 | 40 | { | 
| taylorza | 0:303768292f44 | 41 | Raycaster rayCaster(0, 10, 160, 108, | 
| taylorza | 0:303768292f44 | 42 | 96, CELL_SIZE / 2, | 
| taylorza | 0:303768292f44 | 43 | g_map, 16, 16, | 
| taylorza | 0:303768292f44 | 44 | g_palette); | 
| taylorza | 0:303768292f44 | 45 | |
| taylorza | 0:303768292f44 | 46 | rayCaster.setCellPosition(8, 8); | 
| taylorza | 0:303768292f44 | 47 | while (true) | 
| taylorza | 0:303768292f44 | 48 | { | 
| taylorza | 0:303768292f44 | 49 | rayCaster.renderFrame(); | 
| taylorza | 0:303768292f44 | 50 | |
| taylorza | 0:303768292f44 | 51 | if (stickX < 0.3) rayCaster.rotate(-0.1); | 
| taylorza | 0:303768292f44 | 52 | else if (stickX > 0.7) rayCaster.rotate(0.1);; | 
| taylorza | 0:303768292f44 | 53 | |
| taylorza | 0:303768292f44 | 54 | if (stickY < 0.3) rayCaster.move(4); | 
| taylorza | 0:303768292f44 | 55 | else if (stickY > 0.7) rayCaster.move(-4); | 
| taylorza | 0:303768292f44 | 56 | } | 
| taylorza | 0:303768292f44 | 57 | } | 
| taylorza | 0:303768292f44 | 58 | |
| taylorza | 2:4de2cb6f6fe8 | 59 | |
| taylorza | 2:4de2cb6f6fe8 | 60 |