Library for interfacing to Nokia 5110 LCD display (as found on the SparkFun website).
Dependents: LV7_LCDtest LV7_Grupa5_Tim003_Zadatak1 lv7_Grupa5_Tim008_zad1 LV7_PAI_Grupa5_tim10_Zadatak1 ... more
This library is designed to make it easy to interface an mbed with a Nokia 5110 LCD display.
These can be found at Sparkfun (https://www.sparkfun.com/products/10168) and Adafruit (http://www.adafruit.com/product/338).
The library uses the SPI peripheral on the mbed which means it is much faster sending data to the display than other libraries available on other platforms that use software SPI.
The library can print strings as well as controlling individual pixels, meaning that both text and primitive graphics can be displayed.
Diff: N5110.cpp
- Revision:
- 19:ba8addc061ea
- Parent:
- 18:1af393359298
- Child:
- 20:8db6aa25f55e
--- a/N5110.cpp Wed Apr 22 12:41:45 2015 +0000 +++ b/N5110.cpp Thu Apr 23 18:57:52 2015 +0000 @@ -179,6 +179,7 @@ if (x>=0 && x<WIDTH && y>=0 && y<HEIGHT) { // check within range // return relevant bank and mask required bit return (int) buffer[x][y/8] & (1 << y%8); + // note this does not necessarily return 1 - a non-zero number represents a pixel } else { return 0; } @@ -220,11 +221,11 @@ // function to print 5x7 font void N5110::printChar(char c,int x,int y) { - if (y>=0 && y<6) { // check if printing in range of y banks + if (y>=0 && y<BANKS) { // check if printing in range of y banks for (int i = 0; i < 5 ; i++ ) { int pixel_x = x+i; - if (pixel_x > 83) // ensure pixel isn't outside the buffer size (0 - 83) + if (pixel_x > WIDTH-1) // ensure pixel isn't outside the buffer size (0 - 83) break; buffer[pixel_x][y] = font5x7[(c - 32)*5 + i]; // array is offset by 32 relative to ASCII, each character is 5 pixels wide @@ -237,7 +238,7 @@ // function to print string at specified position void N5110::printString(const char * str,int x,int y) { - if (y>=0 && y<6) { // check if printing in range of y banks + if (y>=0 && y<BANKS) { // check if printing in range of y banks int n = 0 ; // counter for number of characters in string // loop through string and print character @@ -247,7 +248,7 @@ // text and pixels can be displayed at the same time for (int i = 0; i < 5 ; i++ ) { int pixel_x = x+i+n*6; - if (pixel_x > 83) // ensure pixel isn't outside the buffer size (0 - 83) + if (pixel_x > WIDTH-1) // ensure pixel isn't outside the buffer size (0 - 83) break; buffer[pixel_x][y] = font5x7[(*str - 32)*5 + i]; } @@ -337,7 +338,6 @@ } } - refresh(); } void N5110::drawLine(int x0,int y0,int x1,int y1,int type) @@ -386,7 +386,6 @@ } } - refresh(); } void N5110::drawRect(int x0,int y0,int width,int height,int fill)