Hello World application for the freetronicsLCDShield class
Dependencies: freetronicsLCDShield mbed
main.cpp@0:4a07c0bc17a4, 2013-10-31 (annotated)
- Committer:
- KKempeneers
- Date:
- Thu Oct 31 14:30:58 2013 +0000
- Revision:
- 0:4a07c0bc17a4
Added automatic API documentation;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
KKempeneers | 0:4a07c0bc17a4 | 1 | #include "mbed.h" |
KKempeneers | 0:4a07c0bc17a4 | 2 | #include "freetronicsLCDShield.h" |
KKempeneers | 0:4a07c0bc17a4 | 3 | |
KKempeneers | 0:4a07c0bc17a4 | 4 | /* These are the custom chars 8 of them 1 per row. */ |
KKempeneers | 0:4a07c0bc17a4 | 5 | const char CGRAM_DATA[64]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F, |
KKempeneers | 0:4a07c0bc17a4 | 6 | 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F, |
KKempeneers | 0:4a07c0bc17a4 | 7 | 0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F, |
KKempeneers | 0:4a07c0bc17a4 | 8 | 0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F, |
KKempeneers | 0:4a07c0bc17a4 | 9 | 0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x1F, |
KKempeneers | 0:4a07c0bc17a4 | 10 | 0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, |
KKempeneers | 0:4a07c0bc17a4 | 11 | 0x00,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, |
KKempeneers | 0:4a07c0bc17a4 | 12 | 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F}; |
KKempeneers | 0:4a07c0bc17a4 | 13 | |
KKempeneers | 0:4a07c0bc17a4 | 14 | /* Create a freetronics LCD Shield object named LCD */ |
KKempeneers | 0:4a07c0bc17a4 | 15 | /* freetronicsLCDShield LCD(rs, e, d0, d1, d2, d3, bl, a0); */ |
KKempeneers | 0:4a07c0bc17a4 | 16 | /* These are the connections for the Arduino footprint on the KL25Z */ |
KKempeneers | 0:4a07c0bc17a4 | 17 | freetronicsLCDShield LCD(PTA13, PTD5, PTA4, PTA5, PTC8, PTC9, PTA12, PTB0); |
KKempeneers | 0:4a07c0bc17a4 | 18 | |
KKempeneers | 0:4a07c0bc17a4 | 19 | int main() { |
KKempeneers | 0:4a07c0bc17a4 | 20 | // Write custom generated chars to the |
KKempeneers | 0:4a07c0bc17a4 | 21 | LCD.writeCGRAM (0x00, &CGRAM_DATA[0], 8); |
KKempeneers | 0:4a07c0bc17a4 | 22 | LCD.writeCGRAM (0x08, &CGRAM_DATA[8], 8); |
KKempeneers | 0:4a07c0bc17a4 | 23 | LCD.writeCGRAM (0x10, &CGRAM_DATA[16], 8); |
KKempeneers | 0:4a07c0bc17a4 | 24 | LCD.writeCGRAM (0x18, &CGRAM_DATA[24], 8); |
KKempeneers | 0:4a07c0bc17a4 | 25 | LCD.writeCGRAM (0x20, &CGRAM_DATA[32], 8); |
KKempeneers | 0:4a07c0bc17a4 | 26 | LCD.writeCGRAM (0x28, &CGRAM_DATA[40], 8); |
KKempeneers | 0:4a07c0bc17a4 | 27 | LCD.writeCGRAM (0x30, &CGRAM_DATA[48], 8); |
KKempeneers | 0:4a07c0bc17a4 | 28 | LCD.writeCGRAM (0x38, &CGRAM_DATA[56], 8); |
KKempeneers | 0:4a07c0bc17a4 | 29 | |
KKempeneers | 0:4a07c0bc17a4 | 30 | LCD.cls(); |
KKempeneers | 0:4a07c0bc17a4 | 31 | |
KKempeneers | 0:4a07c0bc17a4 | 32 | |
KKempeneers | 0:4a07c0bc17a4 | 33 | // The backlight can be turned on or off // |
KKempeneers | 0:4a07c0bc17a4 | 34 | LCD.setBackLight(true); wait(2.0); |
KKempeneers | 0:4a07c0bc17a4 | 35 | // The setBackLight method is overloaded so you can specify it's intensity by supplying it with a float value |
KKempeneers | 0:4a07c0bc17a4 | 36 | LCD.setBackLight((float) 0.05); |
KKempeneers | 0:4a07c0bc17a4 | 37 | |
KKempeneers | 0:4a07c0bc17a4 | 38 | while (true) { |
KKempeneers | 0:4a07c0bc17a4 | 39 | LCD.cls(); |
KKempeneers | 0:4a07c0bc17a4 | 40 | LCD.setCursor(false); |
KKempeneers | 0:4a07c0bc17a4 | 41 | // You may want to set the cursor position at a specific location |
KKempeneers | 0:4a07c0bc17a4 | 42 | LCD.setCursorPosition (0, 0); |
KKempeneers | 0:4a07c0bc17a4 | 43 | LCD.printf("* Hello world *"); |
KKempeneers | 0:4a07c0bc17a4 | 44 | |
KKempeneers | 0:4a07c0bc17a4 | 45 | // Shift the text on the LCD left ... |
KKempeneers | 0:4a07c0bc17a4 | 46 | for(int i = 0; i < 3; i++) {LCD.shift(true); wait(0.5);} |
KKempeneers | 0:4a07c0bc17a4 | 47 | |
KKempeneers | 0:4a07c0bc17a4 | 48 | // Shift right ... |
KKempeneers | 0:4a07c0bc17a4 | 49 | for(int i = 0; i < 6; i++) {LCD.shift(false); wait(0.5);} |
KKempeneers | 0:4a07c0bc17a4 | 50 | |
KKempeneers | 0:4a07c0bc17a4 | 51 | // Shift the text back to left ... |
KKempeneers | 0:4a07c0bc17a4 | 52 | for(int i = 0; i < 3; i++) {LCD.shift(true); wait(0.5);} |
KKempeneers | 0:4a07c0bc17a4 | 53 | |
KKempeneers | 0:4a07c0bc17a4 | 54 | LCD.setCursorPosition (1,0); |
KKempeneers | 0:4a07c0bc17a4 | 55 | // Let the cursor blink |
KKempeneers | 0:4a07c0bc17a4 | 56 | LCD.setCursor(true, true); |
KKempeneers | 0:4a07c0bc17a4 | 57 | LCD.putc('A'); wait(0.5); |
KKempeneers | 0:4a07c0bc17a4 | 58 | LCD.putc('w'); wait(0.5); |
KKempeneers | 0:4a07c0bc17a4 | 59 | LCD.putc('e'); wait(0.5); |
KKempeneers | 0:4a07c0bc17a4 | 60 | LCD.putc('s'); wait(0.5); |
KKempeneers | 0:4a07c0bc17a4 | 61 | LCD.putc('o'); wait(0.5); |
KKempeneers | 0:4a07c0bc17a4 | 62 | LCD.putc('m'); wait(0.5); |
KKempeneers | 0:4a07c0bc17a4 | 63 | LCD.putc('e'); wait(0.5); |
KKempeneers | 0:4a07c0bc17a4 | 64 | |
KKempeneers | 0:4a07c0bc17a4 | 65 | LCD.cls(); |
KKempeneers | 0:4a07c0bc17a4 | 66 | LCD.setCursor(false); |
KKempeneers | 0:4a07c0bc17a4 | 67 | // You may want to set the cursor position at a specific location |
KKempeneers | 0:4a07c0bc17a4 | 68 | LCD.setCursorPosition (0, 0); |
KKempeneers | 0:4a07c0bc17a4 | 69 | LCD.printf("Backlight = %0.3f", 0.000); |
KKempeneers | 0:4a07c0bc17a4 | 70 | int n = 0; |
KKempeneers | 0:4a07c0bc17a4 | 71 | |
KKempeneers | 0:4a07c0bc17a4 | 72 | for (float intensity = 0.125; intensity <= 1.0; intensity += 0.125) { |
KKempeneers | 0:4a07c0bc17a4 | 73 | // Fire up the backlight |
KKempeneers | 0:4a07c0bc17a4 | 74 | LCD.setBackLight((float) intensity); |
KKempeneers | 0:4a07c0bc17a4 | 75 | // Display intensity |
KKempeneers | 0:4a07c0bc17a4 | 76 | LCD.setCursorPosition(0,11); |
KKempeneers | 0:4a07c0bc17a4 | 77 | LCD.printf("%0.3f", intensity); |
KKempeneers | 0:4a07c0bc17a4 | 78 | |
KKempeneers | 0:4a07c0bc17a4 | 79 | // Print the custom char's 0 .. 7 |
KKempeneers | 0:4a07c0bc17a4 | 80 | LCD.setCursorPosition(1,4+n); |
KKempeneers | 0:4a07c0bc17a4 | 81 | LCD.putc(n); |
KKempeneers | 0:4a07c0bc17a4 | 82 | n++; |
KKempeneers | 0:4a07c0bc17a4 | 83 | wait(0.5); |
KKempeneers | 0:4a07c0bc17a4 | 84 | } |
KKempeneers | 0:4a07c0bc17a4 | 85 | } |
KKempeneers | 0:4a07c0bc17a4 | 86 | } |