Hello World application for the freetronicsLCDShield class

Dependencies:   freetronicsLCDShield mbed

Committer:
KKempeneers
Date:
Thu Oct 31 14:30:58 2013 +0000
Revision:
0:4a07c0bc17a4
Added automatic API documentation;

Who changed what in which revision?

UserRevisionLine numberNew 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 }