SSD1306Ascii
Public Member Functions | List of all members
SSD1306AsciiAvrI2c Class Reference

Class for I2C displays on AVR. More...

#include <SSD1306AsciiAvrI2c.h>

Inheritance diagram for SSD1306AsciiAvrI2c:
Inheritance graph
[legend]
Collaboration diagram for SSD1306AsciiAvrI2c:
Collaboration graph
[legend]

Public Member Functions

void begin (const DevType *dev, uint8_t i2cAddr)
 Initialize the display controller. More...
 
void begin (const DevType *dev, uint8_t i2cAddr, uint8_t rst)
 Initialize the display controller. More...
 
uint8_t charWidth (uint8_t c)
 Determine the width of a character. More...
 
void clear ()
 Clear the display and set the cursor to (0, 0).
 
void clear (uint8_t c0, uint8_t c1, uint8_t r0, uint8_t r1)
 Clear a region of the display. More...
 
void clearField (uint8_t col, uint8_t row, uint8_t n)
 Clear a field of n fieldWidth() characters. More...
 
void clearToEOL ()
 Clear the display to the end of the current line. More...
 
uint8_t col ()
 
uint8_t displayHeight ()
 
void displayRemap (bool mode)
 Set display to normal or 180 degree remap mode. More...
 
uint8_t displayRows ()
 
uint8_t displayWidth ()
 
size_t fieldWidth (uint8_t n)
 Width of a field in pixels. More...
 
const uint8_t * font ()
 
uint8_t fontCharCount ()
 
char fontFirstChar ()
 
uint8_t fontHeight ()
 
uint8_t fontRows ()
 
uint8_t fontWidth ()
 
void home ()
 Set the cursor position to (0, 0).
 
void init (const DevType *dev)
 Initialize the display controller. More...
 
uint8_t letterSpacing ()
 
uint8_t magFactor ()
 
uint8_t row ()
 
void set1X ()
 Set the character magnification factor to one.
 
void set2X ()
 Set the character magnification factor to two.
 
void setCol (uint8_t col)
 Set the current column number. More...
 
void setContrast (uint8_t value)
 Set the display contrast. More...
 
void setCursor (uint8_t col, uint8_t row)
 Set the cursor position. More...
 
void setFont (const uint8_t *font)
 Set the current font. More...
 
void setLetterSpacing (uint8_t pixels)
 Set letter-spacing. setFont() will restore default letter-spacing. More...
 
void setRow (uint8_t row)
 Set the current row number. More...
 
void setScroll (bool enable)
 Enable or disable scroll mode. More...
 
void ssd1306WriteCmd (uint8_t c)
 Write a command byte to the display controller. More...
 
void ssd1306WriteRam (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
void ssd1306WriteRamBuf (uint8_t c)
 Write a byte to RAM in the display controller. More...
 
size_t strWidth (const char *str)
 
size_t write (uint8_t c)
 Display a character. More...
 
size_t write (const char *s)
 Display a string. More...
 

Detailed Description

Class for I2C displays on AVR.

Uses the AvrI2c class that is smaller and faster than the Wire library.

Member Function Documentation

◆ begin() [1/2]

void SSD1306AsciiAvrI2c::begin ( const DevType dev,
uint8_t  i2cAddr 
)
inline

Initialize the display controller.

Parameters
[in]devA device initialization structure.
[in]i2cAddrThe I2C address of the display controller.

◆ begin() [2/2]

void SSD1306AsciiAvrI2c::begin ( const DevType dev,
uint8_t  i2cAddr,
uint8_t  rst 
)
inline

Initialize the display controller.

Parameters
[in]devA device initialization structure.
[in]i2cAddrThe I2C address of the display controller.
[in]rstThe display controller reset pin.

◆ charWidth()

uint8_t SSD1306Ascii::charWidth ( uint8_t  c)
inherited

Determine the width of a character.

Parameters
[in]cCharacter code.
Returns
Width of the character in pixels.

◆ clear()

void SSD1306Ascii::clear ( uint8_t  c0,
uint8_t  c1,
uint8_t  r0,
uint8_t  r1 
)
inherited

Clear a region of the display.

Parameters
[in]c0Starting column.
[in]c1Ending column.
[in]r0Starting row;
[in]r1Ending row;
Note
The final cursor position will be (c0, r0).

◆ clearField()

void SSD1306Ascii::clearField ( uint8_t  col,
uint8_t  row,
uint8_t  n 
)
inherited

Clear a field of n fieldWidth() characters.

Parameters
[in]colField start column.
[in]rowField start row.
[in]nNumber of characters in the field.

◆ clearToEOL()

void SSD1306Ascii::clearToEOL ( )
inherited

Clear the display to the end of the current line.

Note
The number of rows cleared will be determined by the height of the current font.
The cursor will be returned to the original position.

◆ col()

uint8_t SSD1306Ascii::col ( )
inlineinherited
Returns
The current column in pixels.

◆ displayHeight()

uint8_t SSD1306Ascii::displayHeight ( )
inlineinherited
Returns
The display hight in pixels.

◆ displayRemap()

void SSD1306Ascii::displayRemap ( bool  mode)
inherited

Set display to normal or 180 degree remap mode.

Parameters
[in]modetrue for normal mode, false for remap mode.
Note
Adafruit and many ebay displays use remap mode. Use normal mode to rotate these displays 180 degrees.

◆ displayRows()

uint8_t SSD1306Ascii::displayRows ( )
inlineinherited
Returns
The display height in rows with eight pixels to a row.

◆ displayWidth()

uint8_t SSD1306Ascii::displayWidth ( )
inlineinherited
Returns
The display width in pixels.

◆ fieldWidth()

size_t SSD1306Ascii::fieldWidth ( uint8_t  n)
inherited

Width of a field in pixels.

Parameters
[in]nNumber of characters in the field.
Returns
Width of the field.

◆ font()

const uint8_t* SSD1306Ascii::font ( )
inlineinherited
Returns
The current font pointer.

◆ fontCharCount()

uint8_t SSD1306Ascii::fontCharCount ( )
inherited
Returns
The count of characters in a font.

◆ fontFirstChar()

char SSD1306Ascii::fontFirstChar ( )
inherited
Returns
The first character in a font.

◆ fontHeight()

uint8_t SSD1306Ascii::fontHeight ( )
inherited
Returns
The current font height in pixels.

◆ fontRows()

uint8_t SSD1306Ascii::fontRows ( )
inlineinherited
Returns
The number of eight pixel rows required to display a character in the current font.

◆ fontWidth()

uint8_t SSD1306Ascii::fontWidth ( )
inherited
Returns
The maximum width of characters in the current font.

◆ init()

void SSD1306Ascii::init ( const DevType dev)
inherited

Initialize the display controller.

Parameters
[in]devA display initialization structure.

◆ letterSpacing()

uint8_t SSD1306Ascii::letterSpacing ( )
inlineinherited
Returns
letter-spacing in pixels with magnification factor.

◆ magFactor()

uint8_t SSD1306Ascii::magFactor ( )
inlineinherited
Returns
The character magnification factor.

◆ row()

uint8_t SSD1306Ascii::row ( )
inlineinherited
Returns
the current row number with eight pixels to a row.

◆ setCol()

void SSD1306Ascii::setCol ( uint8_t  col)
inherited

Set the current column number.

Parameters
[in]colThe desired column number in pixels.

◆ setContrast()

void SSD1306Ascii::setContrast ( uint8_t  value)
inherited

Set the display contrast.

Parameters
[in]valueThe contrast level in th range 0 to 255.

◆ setCursor()

void SSD1306Ascii::setCursor ( uint8_t  col,
uint8_t  row 
)
inherited

Set the cursor position.

Parameters
[in]colThe column number in pixels.
[in]rowthe row number in eight pixel rows.

◆ setFont()

void SSD1306Ascii::setFont ( const uint8_t *  font)
inherited

Set the current font.

Parameters
[in]fontPointer to a font table.

◆ setLetterSpacing()

void SSD1306Ascii::setLetterSpacing ( uint8_t  pixels)
inlineinherited

Set letter-spacing. setFont() will restore default letter-spacing.

Parameters
[in]pixelsletter-spacing in pixels before magnification.

◆ setRow()

void SSD1306Ascii::setRow ( uint8_t  row)
inherited

Set the current row number.

Parameters
[in]rowthe row number in eight pixel rows.

◆ setScroll()

void SSD1306Ascii::setScroll ( bool  enable)
inherited

Enable or disable scroll mode.

Parameters
[in]enabletrue enable scroll on new line false disable scroll.
Note
Scroll mode is only supported on 64 pixel high displays. Using setRow() or setCursor() will be unpredictable in scroll mode. You must use a font with an integral number of line on the display.

◆ ssd1306WriteCmd()

void SSD1306Ascii::ssd1306WriteCmd ( uint8_t  c)
inlineinherited

Write a command byte to the display controller.

Parameters
[in]cThe command byte.
Note
The byte will immediately be sent to the controller.

◆ ssd1306WriteRam()

void SSD1306Ascii::ssd1306WriteRam ( uint8_t  c)
inherited

Write a byte to RAM in the display controller.

Parameters
[in]cThe data byte.
Note
The byte will immediately be sent to the controller.

◆ ssd1306WriteRamBuf()

void SSD1306Ascii::ssd1306WriteRamBuf ( uint8_t  c)
inherited

Write a byte to RAM in the display controller.

Parameters
[in]cThe data byte.
Note
The byte may be buffered until a call to ssd1306WriteCmd or ssd1306WriteRam.

◆ strWidth()

size_t SSD1306Ascii::strWidth ( const char *  str)
inherited
Parameters
[in]strThe pointer to string.
Returns
the width of the string in pixels.

◆ write() [1/2]

size_t SSD1306Ascii::write ( uint8_t  c)
inherited

Display a character.

Parameters
[in]cThe character to display.
Returns
the value one.

◆ write() [2/2]

size_t SSD1306Ascii::write ( const char *  s)
inherited

Display a string.

Parameters
[in]sThe string to display.
Returns
The length of the string.

The documentation for this class was generated from the following file: