Hexiwear OLED Display Driver

Dependents:   Hexi_OLED_TextImage_Example Hexi_OLED_Text_Example Hexi_OLED_Image_Example security-console-app ... more

Revision:
3:4121d3cd9f60
Parent:
2:fc06b5b5bf6a
Child:
4:38086393d75b
--- a/Hexi_OLED_SSD1351.cpp	Fri Aug 19 23:05:58 2016 +0000
+++ b/Hexi_OLED_SSD1351.cpp	Fri Aug 26 15:21:54 2016 +0000
@@ -84,92 +84,6 @@
     OLED_CMD_DISPLAYON,     CMD_BYTE
     };
 
-#if 0
-/* oled_init arrays*/
-const uint32_t oled_init_cmd[] = {
-                        OLED_CMD_SET_CMD_LOCK,
-                        OLED_UNLOCK,
-                        OLED_CMD_SET_CMD_LOCK,
-                        OLED_ACC_TO_CMD_YES,
-                        OLED_CMD_DISPLAYOFF,
-                        OLED_CMD_SET_OSC_FREQ_AND_CLOCKDIV,
-                        0xF1,
-                        OLED_CMD_SET_MUX_RATIO,
-                        0x5F,
-                        OLED_CMD_SET_REMAP,
-                        OLED_REMAP_SETTINGS,
-                        OLED_CMD_SET_COLUMN,
-                        0x00,
-                        0x5F,
-                        OLED_CMD_SET_ROW,
-                        0x00,
-                        0x5F,
-                        OLED_CMD_STARTLINE,
-                        0x80,
-                        OLED_CMD_DISPLAYOFFSET,
-                        0x60,
-                        OLED_CMD_PRECHARGE,
-                        0x32,
-                        OLED_CMD_VCOMH,
-                        0x05,
-                        OLED_CMD_NORMALDISPLAY,
-                        OLED_CMD_CONTRASTABC,
-                        0x8A,
-                        0x51,
-                        0x8A,
-                        OLED_CMD_CONTRASTMASTER,
-                        0xCF,
-                        OLED_CMD_SETVSL,
-                        0xA0,
-                        0xB5,
-                        0x55,
-                        OLED_CMD_PRECHARGE2,
-                        0x01,
-                        OLED_CMD_DISPLAYON };
-                    
-
-const uint8_t oled_init_isFirst[] = {
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        CMD_BYTE,
-                        CMD_BYTE,
-                        CMD_BYTE,
-                        CMD_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        DATA_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        DATA_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE,
-                        DATA_BYTE,
-                        CMD_BYTE};
-#endif
-
 
     
 SSD1351::SSD1351(PinName mosiPin,PinName sclkPin,PinName pwrPin, PinName csPin,PinName rstPin, PinName dcPin): spi(mosiPin,NC,sclkPin) , power(pwrPin), cs(csPin),rst(rstPin),dc(dcPin) 
@@ -194,7 +108,7 @@
     
     oled_text_properties.alignParam = OLED_TEXT_ALIGN_CENTER;
     oled_text_properties.background = NULL;
-    oled_text_properties.font       = oledFont_Tahoma_8_Regular;
+    oled_text_properties.font       = OpenSans_10x15_Regular;
     oled_text_properties.fontColor  = COLOR_RED;
     
     oled_dynamic_area.areaBuffer = NULL;
@@ -207,7 +121,6 @@
 
     for (int i=0;i<39;i++) 
     {
-       //SendCmd(oled_init_cmd[i],oled_init_isFirst[i]);
        SendCmd(seq[i].cmd, seq[i].type);
     }
 
@@ -828,28 +741,6 @@
 
 
 
-oled_status_t SSD1351::DrawText ( const uint8_t* text,uint8_t xCrd, uint8_t yCrd )
-{
-
-  if ( NULL == text )
-  {
-    return OLED_STATUS_ERROR;
-  }
-
-  AddText(text,xCrd,yCrd);
-
-  // set the locations
-  SetBorders( oled_dynamic_area.xCrd, oled_dynamic_area.yCrd, oled_dynamic_area.width, oled_dynamic_area.height );
-
-  // fill the GRAM
-  SendData( (const uint8_t*)oled_dynamic_area.areaBuffer, oled_dynamic_area.width * oled_dynamic_area.height * OLED_BYTES_PER_PIXEL );
-
-
-//  free( currentTextAreaImage );
-  return OLED_STATUS_SUCCESS;
-}
-
-
 oled_status_t SSD1351::DrawText( const uint8_t* text)
 {
 
@@ -869,12 +760,6 @@
 }
 
 
-    
-
-
-
-
-
 void SSD1351::GetImageDimensions(uint8_t *width, uint8_t *height, const uint8_t* image)
 {
   *height = image[2] + (image[3] << 8);
@@ -1045,6 +930,50 @@
   }
 } 
 
+
+oled_status_t SSD1351::Label ( const uint8_t* text,uint8_t xCrd, uint8_t yCrd )
+{
+
+  if ( NULL == text )
+  {
+    return OLED_STATUS_ERROR;
+  }
+
+  AddText(text,xCrd,yCrd);
+
+  // set the locations
+  SetBorders( oled_dynamic_area.xCrd, oled_dynamic_area.yCrd, oled_dynamic_area.width, oled_dynamic_area.height );
+
+  // fill the GRAM
+  SendData( (const uint8_t*)oled_dynamic_area.areaBuffer, oled_dynamic_area.width * oled_dynamic_area.height * OLED_BYTES_PER_PIXEL );
+
+//  free( currentTextAreaImage );
+  return OLED_STATUS_SUCCESS;
+}
+
+
+oled_status_t SSD1351::TextBox(const uint8_t* text,uint8_t xCrd, uint8_t yCrd,uint8_t width,uint8_t height)
+{
+
+  if ( NULL == text )
+  {
+    return OLED_STATUS_ERROR;
+  }
+
+  oled_dynamic_area_t textArea;
+  textArea.width  = width;
+  textArea.height = height;
+  textArea.xCrd = xCrd;
+  textArea.yCrd = yCrd; 
+
+  SetDynamicArea(&textArea);
+  DrawText(text);
+
+  return OLED_STATUS_SUCCESS;
+
+}
+
+
 /* Internal Functions */
 
 /**
@@ -1494,7 +1423,7 @@
   if ( 0 == isFontInitialized )
   {
     // default font
-     SetFont( oledFont_Tahoma_8_Regular, COLOR_WHITE );
+     SetFont( OpenSans_10x15_Regular, COLOR_WHITE );
   }
 
   // allocate space for char image