Modified N5110 library with the ability to the print strings at exact pxiel locations, not just at each bank
Fork of N5110 by
Credit to C.Evans for the original library (https://developer.mbed.org/users/eencae/code/N5110/)
Diff: N5110.cpp
- Revision:
- 19:ba8addc061ea
- Parent:
- 18:1af393359298
- Child:
- 20:6550692c474f
--- 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)