Hexiwear OLED Display Driver
Dependents: Hexi_OLED_TextImage_Example Hexi_OLED_Text_Example Hexi_OLED_Image_Example security-console-app ... more
Diff: Hexi_OLED_SSD1351.cpp
- 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