Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: N5110.cpp
- Revision:
- 18:1af393359298
- Parent:
- 17:780a542d5f8b
- Child:
- 19:ba8addc061ea
--- a/N5110.cpp Tue Mar 17 12:56:03 2015 +0000
+++ b/N5110.cpp Wed Apr 22 12:41:45 2015 +0000
@@ -220,33 +220,46 @@
// function to print 5x7 font
void N5110::printChar(char c,int x,int y)
{
- for (int i = 0; i < 5 ; i++ ) {
- buffer[x+i][y] = font5x7[(c - 32)*5 + i];
- // array is offset by 32 relative to ASCII, each character is 5 pixels wide
+ if (y>=0 && y<6) { // 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)
+ break;
+ buffer[pixel_x][y] = font5x7[(c - 32)*5 + i];
+ // array is offset by 32 relative to ASCII, each character is 5 pixels wide
+ }
+
+ refresh(); // this sends the buffer to the display and sets address (cursor) back to 0,0
}
-
- refresh(); // this sends the buffer to the display and sets address (cursor) back to 0,0
}
// function to print string at specified position
void N5110::printString(const char * str,int x,int y)
{
- int n = 0 ; // counter for number of characters in string
- // loop through string and print character
- while(*str) {
+ if (y>=0 && y<6) { // check if printing in range of y banks
+
+ int n = 0 ; // counter for number of characters in string
+ // loop through string and print character
+ while(*str) {
- // writes the character bitmap data to the buffer, so that
- // text and pixels can be displayed at the same time
- for (int i = 0; i < 5 ; i++ ) {
- buffer[x+i+n*6][y] = font5x7[(*str - 32)*5 + i];
+ // writes the character bitmap data to the buffer, so that
+ // 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)
+ break;
+ buffer[pixel_x][y] = font5x7[(*str - 32)*5 + i];
+ }
+
+ str++; // go to next character in string
+
+ n++; // increment index
+
}
- str++; // go to next character in string
- n++; // increment index
+ refresh(); // this sends the buffer to the display and sets address (cursor) back to 0,0
}
-
- refresh(); // this sends the buffer to the display and sets address (cursor) back to 0,0
-
}
// function to clear the screen