test
Dependencies: 4DGL-uLCD-SE mbed
main.cpp@1:232add586315, 2016-01-30 (annotated)
- Committer:
- jimmyli
- Date:
- Sat Jan 30 06:07:09 2016 +0000
- Revision:
- 1:232add586315
- Parent:
- 0:5dca0ddf051f
test commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wye11 | 0:5dca0ddf051f | 1 | // Demo for the uLCD-144-G2 based on the work by Jim Hamblen |
wye11 | 0:5dca0ddf051f | 2 | |
wye11 | 0:5dca0ddf051f | 3 | #include "mbed.h" |
wye11 | 0:5dca0ddf051f | 4 | #include "uLCD_4DGL.h" |
wye11 | 0:5dca0ddf051f | 5 | |
wye11 | 0:5dca0ddf051f | 6 | // TX, RX, and RES pins |
wye11 | 0:5dca0ddf051f | 7 | uLCD_4DGL uLCD(p9,p10,p11); |
wye11 | 0:5dca0ddf051f | 8 | |
wye11 | 0:5dca0ddf051f | 9 | int main() { |
wye11 | 0:5dca0ddf051f | 10 | |
wye11 | 0:5dca0ddf051f | 11 | int x; |
wye11 | 0:5dca0ddf051f | 12 | int y; |
wye11 | 0:5dca0ddf051f | 13 | int radius; |
wye11 | 0:5dca0ddf051f | 14 | int vx; |
wye11 | 0:5dca0ddf051f | 15 | |
jimmyli | 1:232add586315 | 16 | // Test comment |
wye11 | 0:5dca0ddf051f | 17 | // Set our UART baudrate to something reasonable |
wye11 | 0:5dca0ddf051f | 18 | uLCD.baudrate(115200); |
wye11 | 0:5dca0ddf051f | 19 | |
wye11 | 0:5dca0ddf051f | 20 | // Change background color (must be called before cls) |
wye11 | 0:5dca0ddf051f | 21 | uLCD.background_color(WHITE); |
wye11 | 0:5dca0ddf051f | 22 | |
wye11 | 0:5dca0ddf051f | 23 | // Clear screen with background color |
wye11 | 0:5dca0ddf051f | 24 | uLCD.cls(); |
wye11 | 0:5dca0ddf051f | 25 | |
wye11 | 0:5dca0ddf051f | 26 | // Change background color of text |
wye11 | 0:5dca0ddf051f | 27 | uLCD.textbackground_color(WHITE); |
wye11 | 0:5dca0ddf051f | 28 | |
wye11 | 0:5dca0ddf051f | 29 | // Make some colorful text |
wye11 | 0:5dca0ddf051f | 30 | uLCD.locate(4, 1); // Move cursor |
wye11 | 0:5dca0ddf051f | 31 | uLCD.color(BLUE); |
wye11 | 0:5dca0ddf051f | 32 | uLCD.printf("This is a\n"); |
wye11 | 0:5dca0ddf051f | 33 | uLCD.locate(5, 3); // Move cursor |
wye11 | 0:5dca0ddf051f | 34 | uLCD.text_width(2); // 2x normal size |
wye11 | 0:5dca0ddf051f | 35 | uLCD.text_height(2); // 2x normal size |
wye11 | 0:5dca0ddf051f | 36 | uLCD.color(RED); // Change text color |
wye11 | 0:5dca0ddf051f | 37 | uLCD.printf("TEST"); |
wye11 | 0:5dca0ddf051f | 38 | uLCD.text_width(1); // Normal size |
wye11 | 0:5dca0ddf051f | 39 | uLCD.text_height(1); // Normal size |
wye11 | 0:5dca0ddf051f | 40 | uLCD.locate(3, 6); // Move cursor |
wye11 | 0:5dca0ddf051f | 41 | uLCD.color(BLACK); // Change text color |
wye11 | 0:5dca0ddf051f | 42 | uLCD.printf("of my new LCD"); |
wye11 | 0:5dca0ddf051f | 43 | |
wye11 | 0:5dca0ddf051f | 44 | // Initial parameters for the circle |
wye11 | 0:5dca0ddf051f | 45 | x = 50; |
wye11 | 0:5dca0ddf051f | 46 | y = 100; |
wye11 | 0:5dca0ddf051f | 47 | radius = 4; |
wye11 | 0:5dca0ddf051f | 48 | vx = 1; |
wye11 | 0:5dca0ddf051f | 49 | |
wye11 | 0:5dca0ddf051f | 50 | // Make a ball bounce back and forth |
wye11 | 0:5dca0ddf051f | 51 | while (1) { |
wye11 | 0:5dca0ddf051f | 52 | |
wye11 | 0:5dca0ddf051f | 53 | // Draw a dark green |
wye11 | 0:5dca0ddf051f | 54 | uLCD.filled_circle(x, y, radius, 0x008000); |
wye11 | 0:5dca0ddf051f | 55 | |
wye11 | 0:5dca0ddf051f | 56 | // Bounce off the edges |
wye11 | 0:5dca0ddf051f | 57 | if ((x <= radius + 1) || (x >= 126 - radius)) { |
wye11 | 0:5dca0ddf051f | 58 | vx = -1 * vx; |
wye11 | 0:5dca0ddf051f | 59 | } |
wye11 | 0:5dca0ddf051f | 60 | |
wye11 | 0:5dca0ddf051f | 61 | // Wait before erasing old circle |
wye11 | 0:5dca0ddf051f | 62 | wait(0.02); // In seconds |
wye11 | 0:5dca0ddf051f | 63 | |
wye11 | 0:5dca0ddf051f | 64 | // Erase old circle |
wye11 | 0:5dca0ddf051f | 65 | uLCD.filled_circle(x, y, radius, WHITE); |
wye11 | 0:5dca0ddf051f | 66 | |
wye11 | 0:5dca0ddf051f | 67 | // Move circle |
wye11 | 0:5dca0ddf051f | 68 | x = x + vx; |
wye11 | 0:5dca0ddf051f | 69 | } |
wye11 | 0:5dca0ddf051f | 70 | } |