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.
Dependencies: mbed
Diff: N5110/N5110.h
- Revision:
- 128:a3f581b8461c
- Parent:
- 0:e2af4c8e462e
- Child:
- 133:eed60548d170
diff -r 8bd8cf136f19 -r a3f581b8461c N5110/N5110.h
--- a/N5110/N5110.h Sun May 05 15:33:46 2019 +0000
+++ b/N5110/N5110.h Mon May 06 00:11:06 2019 +0000
@@ -3,6 +3,30 @@
#include "mbed.h"
+// Command Bytes - taken from Chris Yan's library
+// More information can be found in the display datasheet
+// H = 0 - Basic instructions
+#define CMD_DC_CLEAR_DISPLAY 0x08
+#define CMD_DC_NORMAL_MODE 0x0C
+#define CMD_DC_FILL_DISPLAY 0x09
+#define CMD_DC_INVERT_VIDEO 0x0D
+#define CMD_FS_HORIZONTAL_MODE 0x00
+#define CMD_FS_VERTICAL_MODE 0x02
+#define CMD_FS_BASIC_MODE 0x00
+#define CMD_FS_EXTENDED_MODE 0x01
+#define CMD_FS_ACTIVE_MODE 0x00
+#define CMD_FS_POWER_DOWN_MODE 0x04
+// H = 1 - Extended instructions
+#define CMD_TC_TEMP_0 0x04
+#define CMD_TC_TEMP_1 0x05
+#define CMD_TC_TEMP_2 0x06
+#define CMD_TC_TEMP_3 0x07
+#define CMD_BI_MUX_24 0x15
+#define CMD_BI_MUX_48 0x13
+#define CMD_BI_MUX_100 0x10
+#define CMD_VOP_6V06 0xB2
+#define CMD_VOP_7V38 0xC8
+
// number of pixels on display
#define WIDTH 84
#define HEIGHT 48
@@ -33,31 +57,14 @@
#include "mbed.h"
#include "N5110.h"
-// rows,cols
-int sprite[8][5] = {
- { 0,0,1,0,0 },
- { 0,1,1,1,0 },
- { 0,0,1,0,0 },
- { 0,1,1,1,0 },
- { 1,1,1,1,1 },
- { 1,1,1,1,1 },
- { 1,1,0,1,1 },
- { 1,1,0,1,1 },
-};
-
// VCC,SCE,RST,D/C,MOSI,SCLK,LED
//N5110 lcd(p7,p8,p9,p10,p11,p13,p21); // LPC1768 - pwr from GPIO
-N5110 lcd(p8,p9,p10,p11,p13,p21); // LPC1768 - powered from +3V3 - JP1 in 2/3 position
-//N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); // K64F - pwr from 3V3
+N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); // K64F - pwr from 3V3
int main()
{
// first need to initialise display
lcd.init();
-
- // change set contrast in range 0.0 to 1.0
- // 0.4 appears to be a good starting point
- lcd.setContrast(0.4);
while(1) {
@@ -65,12 +72,6 @@
lcd.normalMode(); // normal colour mode
lcd.setBrightness(0.5); // put LED backlight on 50%
- lcd.clear();
- // x origin, y origin, rows, cols, sprite
- lcd.drawSprite(20,6,8,5,(int *)sprite);
- lcd.refresh();
- wait(5.0);
-
lcd.clear(); // clear buffer at start of every loop
// can directly print strings at specified co-ordinates (must be less than 84 pixels to fit on display)
lcd.printString("Hello, World!",0,0);
@@ -94,7 +95,7 @@
// draw a line across the display at y = 40 pixels (origin top-left)
for (int i = 0; i < WIDTH; i++) {
- lcd.setPixel(i,40,true);
+ lcd.setPixel(i,40);
}
// need to refresh display after setting pixels or writing strings
lcd.refresh();
@@ -102,21 +103,23 @@
// can check status of pixel using getPixel(x,y);
lcd.clear(); // clear buffer
- lcd.setPixel(2,2,true); // set random pixel in buffer
+ lcd.setPixel(2,2); // set random pixel in buffer
lcd.refresh();
wait(1.0);
int pixel_to_test = lcd.getPixel(2,2);
+ printf("2,2 Pixel value = %i\n",pixel_to_test);
+
if ( pixel_to_test ) {
lcd.printString("2,2 is set",0,4);
}
// this one shouldn't be set
- lcd.setPixel(3,3,false); // clear random pixel in buffer
- lcd.refresh();
pixel_to_test = lcd.getPixel(3,3);
+ printf("3,3 Pixel value = %i\n",pixel_to_test);
+
if ( pixel_to_test == 0 ) {
lcd.printString("3,3 is clear",0,5);
}
@@ -166,14 +169,12 @@
// origin x,y,width,height,type
lcd.drawRect(10,10,50,30,FILL_BLACK); // filled black rectangle
lcd.drawRect(15,15,20,10,FILL_WHITE); // filled white rectange (no outline)
- lcd.drawRect(2,2,70,40,FILL_TRANSPARENT); // transparent, just outline
+ lcd.drawRect(2,2,70,40, FILL_TRANSPARENT); // transparent, just outline
lcd.refresh(); // refresh after drawing shapes
wait(5.0);
-
}
}
-
@endcode
*/
class N5110
@@ -252,11 +253,6 @@
*/
void clear();
- /** Set screen constrast
- * @param constrast - float in range 0.0 to 1.0 (0.40 to 0.60 is usually a good value)
- */
- void setContrast(float contrast);
-
/** Turn on normal video mode (default)
* Black on white
*/
@@ -295,33 +291,23 @@
unsigned int const x,
unsigned int const y);
- /**
- * @brief Set a Pixel
+ /** Set a Pixel
*
- * @param x The x co-ordinate of the pixel (0 to 83)
- * @param y The y co-ordinate of the pixel (0 to 47)
- * @param state The state of the pixel [true=black (default), false=white]
- *
- * @details This function sets the state of a pixel in the screen buffer.
- * The third parameter can be omitted,
+ * This function sets a pixel in the screen buffer.
+ * @param x - the x co-ordinate of the pixel (0 to 83)
+ * @param y - the y co-ordinate of the pixel (0 to 47)
*/
void setPixel(unsigned int const x,
- unsigned int const y,
- bool const state = true);
+ unsigned int const y);
- /**
- * @brief Clear a Pixel
+ /** Clear a Pixel
*
+ * This function clears pixel in the screen buffer
* @param x - the x co-ordinate of the pixel (0 to 83)
* @param y - the y co-ordinate of the pixel (0 to 47)
- *
- * @details This function clears pixel in the screen buffer
- *
- * @deprecated Use setPixel(x, y, false) instead
*/
void clearPixel(unsigned int const x,
- unsigned int const y)
- __attribute__((deprecated("Use setPixel(x,y,false) instead")));
+ unsigned int const y);
/** Get a Pixel
*
@@ -402,22 +388,6 @@
unsigned int const height,
FillType const fill);
- /** Draw Sprite
- *
- * This function draws a sprite as defined in a 2D array
- * @param x0 - x-coordinate of origin (top-left)
- * @param y0 - y-coordinate of origin (top-left)
- * @param nrows - number of rows in sprite
- * @param ncols - number of columns in sprite
- * @param sprite - 2D array representing the sprite
- */
- void drawSprite(int x0,
- int y0,
- int nrows,
- int ncols,
- int *sprite);
-
-
private:
// methods
void setXYAddress(unsigned int const x,
@@ -428,8 +398,6 @@
void clearRAM();
void sendCommand(unsigned char command);
void sendData(unsigned char data);
- void setTempCoefficient(char tc); // 0 to 3
- void setBias(char bias); // 0 to 7
};
const unsigned char font5x7[480] = {