runner

Dependencies:   mbed

Revision:
2:1900a4144537
Parent:
0:1e61ade20a23
--- a/N5110/N5110.h	Tue May 07 19:11:13 2019 +0000
+++ b/N5110/N5110.h	Thu May 09 03:52:35 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] = {