![]() |
Display_Lib_RPI 2.3.0
A C++ Library to connect electronic displays to Linux single board computers.
|
Class to control SSD1331 OLED basic functionality. More...
#include <SSD1331_OLED_RDL.hpp>
Classes | |
struct | Constrast_values_t |
Set contrast color values in normal mode. More... | |
struct | Dim_Constrast_values_t |
Set contrast color values in dim mode. More... | |
Public Types | |
enum | scroll_time_interval_e : uint8_t { SCROLL_FRAME_6 , SCROLL_FRAME_10 , SCROLL_FRAME_100 , SCROLL_FRAME_200 } |
Set the Set time interval between each scroll. More... | |
enum | scroll_control_e : uint8_t { SCROLL_ACTIVATE , SCROLL_DEACTIVE } |
Set the Scroll mode on or off according to the setting done by OLEDScrollSetup() More... | |
enum | color_order_e : uint8_t { COLORORDER_RGB = 0x72 , COLORORDER_BGR = 0x76 } |
Set the pixel color order RGB mapping. More... | |
enum | display_mode_e : uint8_t { DISPLAY_INVERSE , DISPLAY_NORMAL , DISPLAY_ALL_ON , DISPLAY_ALL_OFF } |
Set the display mode. More... | |
![]() | |
enum | pixel_color565_e : uint16_t { RDLC_BLACK = 0x0000 , RDLC_BLUE = 0x001F , RDLC_RED = 0xF800 , RDLC_GREEN = 0x07E0 , RDLC_CYAN = 0x07FF , RDLC_MAGENTA = 0xF81F , RDLC_YELLOW = 0xFFE0 , RDLC_WHITE = 0xFFFF , RDLC_TAN = 0xED01 , RDLC_GREY = 0x9CD1 , RDLC_BROWN = 0x6201 , RDLC_DGREEN = 0x01C0 , RDLC_ORANGE = 0xFC00 , RDLC_NAVY = 0x000F , RDLC_DCYAN = 0x03EF , RDLC_MAROON = 0x7800 , RDLC_PURPLE = 0x780F , RDLC_OLIVE = 0x7BE0 , RDLC_LGREY = 0xC618 , RDLC_DGREY = 0x7BEF , RDLC_GYELLOW = 0xAFE5 , RDLC_PINK = 0xFC18 , RDLC_LBLUE = 0x7E5F , RDLC_BEIGE = 0xB5D2 } |
16-bit color definitions (RGB565 format). More... | |
enum | display_rotate_e : uint8_t { Degrees_0 = 0 , Degrees_90 , Degrees_180 , Degrees_270 } |
![]() | |
enum | BaseNum : uint8_t { RDL_DEC = 10 , RDL_HEX = 16 , RDL_OCT = 8 , RDL_BIN = 2 } |
Public Member Functions | |
SSD1331_OLED (color_order_e, const Constrast_values_t &contrast, const Dim_Constrast_values_t &dimContrast) | |
Constructor for class SSD1331_OLED. | |
virtual void | setAddrWindow (uint16_t, uint16_t, uint16_t, uint16_t) override |
SPI displays set an address window rectangle for blitting pixels. | |
void | OLEDSetupGPIO (int8_t, int8_t, int8_t, int8_t, int8_t) |
sets up OLED GPIO for software SPI | |
void | OLEDSetupGPIO (int8_t, int8_t) |
sets up OLED GPIO for Hardware SPi | |
void | OLEDInitScreenSize (uint16_t w, uint16_t h) |
initialise the variables that define the size of the screen | |
rdlib::Return_Codes_e | OLEDInitSPI (uint16_t CommDelay, int gpioDev) |
intialise PCBtype and SPI, Software SPI | |
rdlib::Return_Codes_e | OLEDInitSPI (int device, int channel, int speed, int flags, int gpioDev) |
intialise SPI, Hardware SPI | |
rdlib::Return_Codes_e | OLEDResetPin (void) |
Method for Hardware Reset pin control. | |
uint16_t | HighFreqDelayGet (void) |
Freq delay used in SW SPI getter, uS delay used in SW SPI method. | |
void | HighFreqDelaySet (uint16_t) |
Freq delay used in SW SPI setter, uS delay used in SW SPI method. | |
rdlib::Return_Codes_e | OLEDPowerDown (void) |
Call when powering down OLED. | |
void | OLEDsetRotation (display_rotate_e r) |
: change rotation of display. | |
void | OLEDchangeDisplayMode (display_mode_e) |
change the display mode | |
void | OLEDDimDisplay (void) |
enable dim mode | |
void | OLEDenableDisplay (void) |
enable display mode | |
void | OLEDsleepDisplay (void) |
enable sleep mode | |
void | OLEDClearWindowCmd (uint8_t c1, uint8_t r1, uint8_t c2, uint8_t r2) |
Clears a specific rectangular window on the OLED display. | |
void | OLEDCopyWindowCmd (uint8_t c1, uint8_t r1, uint8_t c2, uint8_t r2, uint8_t c3, uint8_t r3) |
Copies a specific rectangular window to a new position on the OLED display. | |
void | OLEDDimWindowCmd (uint8_t c1, uint8_t r1, uint8_t c2, uint8_t r2) |
Dims a specific rectangular window on the OLED display. | |
void | OLEDDrawLineCmd (uint8_t c1, uint8_t r1, uint8_t c2, uint8_t r2, uint16_t color) |
Draws a line between two points on the OLED display. | |
void | OLEDDrawRectCmd (uint8_t c1, uint8_t r1, uint8_t c2, uint8_t r2, uint16_t color, bool fill) |
Draws a rectangle on the OLED display, with optional filling. This function issues a command to draw a rectangle with the specified coordinates and color. The rectangle can be either outlined or filled. The function also accounts for screen rotation when determining coordinates. | |
void | OLEDScroll (scroll_control_e) |
: This method is used to turn scroll on or off | |
void | OLEDScrollSetup (uint8_t, uint8_t, uint8_t, uint8_t, scroll_time_interval_e) |
This method setups up horizontal and vertical scrolling register _CMD_CONT_SCROLL_SET. | |
![]() | |
color16_graphics () | |
Construct a new graphics class object. | |
void | fillScreen (uint16_t color) |
Fills the whole screen with a given color. | |
void | setCursor (int16_t x, int16_t y) |
Set the Cursor Position on screen. | |
void | drawPixel (uint16_t, uint16_t, uint16_t) |
Draw a pixel to screen. | |
rdlib::Return_Codes_e | drawDotGrid (int16_t x, int16_t y, int16_t w, int16_t h, uint8_t DotGridGap, uint16_t color) |
Draws a grid of dots on the screen starting from the given coordinates. This function draws a grid of pixels with a specified gap between them. It checks that the provided coordinates and dimensions are within the screen bounds and adjusts them if necessary. It also validates The grid of dots gap value and defaults it to 2 if invalid. | |
void | drawLine (int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color) |
draws a line from (x0,y0) to (x1,y1). | |
rdlib::Return_Codes_e | drawFastVLine (uint16_t x, uint16_t y, uint16_t h, uint16_t color) |
Draws a vertical line starting at (x,y) with height h. | |
rdlib::Return_Codes_e | drawFastHLine (uint16_t x, uint16_t y, uint16_t w, uint16_t color) |
Draws a horizontal line starting at (x,y) with width w. | |
void | drawLineAngle (int16_t x, int16_t y, int angle, uint8_t start, uint8_t length, int offset, uint16_t color) |
Draws a line using an angle and length as parameters. This function draws a line starting from (x, y) , extending in the direction specified by angle , with a given length . The function also allows applying an offset to the angle before computing the line’s end coordinates. | |
void | drawRectWH (uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color) |
draws rectangle at (x,y) where h is height and w is width of the rectangle. | |
rdlib::Return_Codes_e | fillRectangle (uint16_t, uint16_t, uint16_t, uint16_t, uint16_t) |
fills a rectangle starting from coordinates (x,y) with width of w and height of h. | |
void | fillRect (uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color) |
fills a rectangle at (x,y) where h is height and w is width of the rectangle. | |
void | drawRoundRect (uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t r, uint16_t color) |
draws a rectangle with rounded edges | |
void | fillRoundRect (uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t r, uint16_t color) |
Fills a rectangle with rounded edges. | |
void | drawCircle (int16_t x0, int16_t y0, int16_t r, uint16_t color) |
draws a circle where (x0,y0) are center coordinates an r is circle radius. | |
void | fillCircle (int16_t x0, int16_t y0, int16_t r, uint16_t color) |
fills a circle where (x0,y0) are center coordinates an r is circle radius. | |
void | drawEllipse (int16_t cx, int16_t cy, int16_t semiMajorAxis, int16_t semiMinorAxis, bool fill, uint16_t color) |
Draw an ellipse on the display. This function uses the midpoint ellipse algorithm to efficiently draw an ellipse centered at (cx, cy) with the given semi-major (horizontal) and semi-minor (vertical) axes. | |
void | drawTriangle (int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color) |
draws a triangle of coordinates (x0,y0), (x1,y1) and (x2,y2). | |
void | fillTriangle (int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color) |
Fills a triangle of coordinates (x0,y0), (x1,y1) and (x2,y2). | |
void | drawQuadrilateral (int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, int16_t x3, int16_t y3, uint16_t color) |
Draws a quadrilateral (four-sided polygon) by connecting four points with lines. This function draws a quadrilateral by drawing four lines between the given vertices. The lines are drawn in the order: (x0, y0) to (x1, y1), (x1, y1) to (x2, y2), (x2, y2) to (x3, y3), and finally (x3, y3) back to (x0, y0). | |
void | fillQuadrilateral (int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, int16_t x3, int16_t y3, uint16_t color, bool useTriangleSplit=true) |
Fills a quadrilateral with the specified color using triangles. This function fills a quadrilateral by dividing it into triangles and filling them individually. The quadrilateral is filled by calling the fillTriangle function three times with appropriate vertex coordinates. The useTriangleSplit parameter determines whether the quadrilateral is divided into two triangles or if only one triangle is used. | |
rdlib::Return_Codes_e | drawPolygon (int16_t x, int16_t y, uint8_t sides, int16_t diameter, float rotation, bool fill, uint16_t color) |
Draws a polygon with a specified number of sides, diameter, rotation, and color. This function draws a regular polygon by connecting points equally spaced around a circle, with each point having a distance defined by the diameter. The polygon is rotated by the given angle (in degrees) before being drawn. The number of sides is enforced to be at least 3. | |
void | drawSimpleArc (int16_t cx, int16_t cy, int16_t radius, float startAngle, float endAngle, uint16_t color) |
Draw a simple arc of one pixel on the display( no offsets , thickness or maximum arc calculations) This function draws an arc between two angles (start and end) on a circle with a given radius. | |
void | drawArc (uint16_t cx, uint16_t cy, uint16_t radius, uint16_t thickness, float startAngle, float endAngle, uint16_t color) |
Draw an arc on the TFT display. This function draws an arc between two angles (start and end) on a circle with a given radius. | |
float | getArcAngleMax () const |
Get the current maximum angle of the arc. | |
void | setArcAngleMax (float arcAngleMax) |
Set a new maximum angle for the arc. | |
int | getArcAngleOffset () const |
Get the current angle offset. | |
void | setArcAngleOffset (int arcAngleOffset) |
Set a new angle offset. | |
virtual size_t | write (uint8_t) override |
write method used in the print class when user calls print | |
rdlib::Return_Codes_e | writeChar (int16_t x, int16_t y, char value) |
Write 1 character on Display. | |
rdlib::Return_Codes_e | writeCharString (int16_t x, int16_t y, char *text) |
Write Text character array on display. | |
void | setTextWrap (bool w) |
turn on or off screen wrap of the text (fonts 1-6) | |
void | setTextColor (uint16_t c, uint16_t bg) |
Set text color foreground and background. | |
void | setTextColor (uint16_t c) |
Set text color foreground. | |
rdlib::Return_Codes_e | drawIcon (uint16_t x, uint16_t y, uint16_t w, uint16_t color, uint16_t bgcolor, const std::span< const uint8_t > data) |
Draws an custom Icon of X by 8 size to screen , where X = 0 to 127. | |
rdlib::Return_Codes_e | drawBitmap (uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint16_t color, uint16_t bgcolor, const std::span< const uint8_t > data) |
: Draws an bi-color bitmap to screen | |
rdlib::Return_Codes_e | drawBitmap24 (uint16_t x, uint16_t y, const std::span< const uint8_t > data, uint16_t w, uint16_t h) |
Draws an 24 bit color bitmap to screen from a data array. | |
rdlib::Return_Codes_e | drawBitmap16 (uint16_t x, uint16_t y, const std::span< const uint8_t > data, uint16_t w, uint16_t h) |
: Draws an 16 bit color bitmap to screen from a data array | |
rdlib::Return_Codes_e | drawSprite (uint16_t x, uint16_t y, const std::span< const uint8_t > data, uint16_t w, uint16_t h, uint16_t backgroundColor) |
: Draws an 16 bit color sprite bitmap to screen with transparent background | |
int16_t | Color565 (int16_t, int16_t, int16_t) |
: Convert: 24-bit color to 565 16-bit color | |
int | getDisplaySPIBlockSize () const |
Gets the maximum SPI transaction block size. | |
void | setDisplaySPIBlockSize (int size) |
Sets the maximum SPI transaction block size. | |
![]() | |
display_Fonts () | |
init the OLED font class object constructor | |
rdlib::Return_Codes_e | setFont (display_Font_name_e) |
SetFont. | |
void | setInvertFont (bool invertStatus) |
setInvertFont | |
bool | getInvertFont (void) |
getInvertFont | |
![]() | |
int | getWriteError () |
gets the error flag status, zero no error | |
void | clearWriteError () |
clears the error flag by setting it to zero | |
virtual size_t | write (const uint8_t *buffer, size_t size) |
define in the sub class | |
size_t | write (const char *str) |
Writes a string to the output. | |
size_t | write (const char *buffer, size_t size) |
Writes a buffer of a specified size to the output. | |
virtual int | availableForWrite () |
define in the sub class | |
size_t | print (const char[]) |
print an array | |
size_t | print (char) |
print an character | |
size_t | print (int, int=RDL_DEC) |
print an integer of base number system | |
size_t | print (unsigned int, int=RDL_DEC) |
print an unsigned integer of base number system | |
size_t | print (long, int=RDL_DEC) |
print an long integer of base number system | |
size_t | print (unsigned long, int=RDL_DEC) |
print an unsigned long integer of base number system | |
size_t | print (double, int=2) |
print an double | |
size_t | print (const std::string &) |
print an C++ string object | |
size_t | println (const char[]) |
Prints a character array followed by a newline. | |
size_t | println (char) |
print an character followed by new line | |
size_t | println (int, int=RDL_DEC) |
print an integer of base number system followed by new line | |
size_t | println (unsigned int, int=RDL_DEC) |
print an unsigned integer of base number system followed by new line | |
size_t | println (long, int=RDL_DEC) |
print an long integer of base number system followed by new line | |
size_t | println (unsigned long, int=RDL_DEC) |
print an unsigned long integer of base number system followed by new line | |
size_t | println (double, int=2) |
print an double | |
size_t | println (void) |
Goto to new line. | |
size_t | println (const std::string &s) |
print an C++ string object followed by new line | |
template<typename T > | |
size_t | print (const std::vector< T > &v, int format=defaultFormat< T >()) |
Print a vector of any type. | |
template<typename T > | |
size_t | println (const std::vector< T > &vec, int format=defaultFormat< T >()) |
Print a vector of elements followed by a newline. | |
template<typename T , size_t N> | |
size_t | print (const std::array< T, N > &arr, int format=defaultFormat< T >()) |
Print a std::array of any type. | |
template<typename T , size_t N> | |
size_t | println (const std::array< T, N > &arr, int format=defaultFormat< T >()) |
Print a std::array of elements followed by a newline. | |
Private Member Functions | |
void | OLEDConfigueDimMode (void) |
Command sequence for configure Dim mode contrast. | |
void | OLEDConfigueContrast (void) |
Command sequence for configure contrast. | |
rdlib::Return_Codes_e | OLEDDataCommandPin (void) |
: Method for Data or Command pin setup | |
rdlib::Return_Codes_e | OLEDClock_Data_ChipSelect_Pins (void) |
: Method for Clock, data and chip select pin setup routine for software SPI. | |
rdlib::Return_Codes_e | OLEDSSD1331Initialize (void) |
init routine for SSD1331 controller | |
void | cmdBegin (void) |
Command Initialization sequence for SSD1331 display. | |
void | WriteColor16 (uint16_t colorWrite) |
Writes a 16-bit RGB565 color to the SSD1331 OLED display. This function extracts the red, green, and blue components from the 16-bit RGB565 color value and sends them as 6-bit values to the display. RRRRR GGGGGG BBBBB. | |
Private Attributes | |
uint16_t | _widthStartOLED = 96 |
uint16_t | _heightStartOLED = 64 |
color_order_e | _colorOrder = COLORORDER_RGB |
display_rotate_e | _displayRotate = Degrees_0 |
Constrast_values_t | ContrastValues = { 0x7D, 0x7D, 0x7D } |
Dim_Constrast_values_t | DimContrastValues { 0x1E, 0x1E, 0x1E } |
int | _spiDev = 0 |
int | _spiChan = 0 |
int | _spiBaud = 50000 |
int | _spiFlags = 0 |
Class to control SSD1331 OLED basic functionality.
Set the pixel color order RGB mapping.
This command bit a[2](0x04) is made for flexible layout of segment signals in OLED module to match filter design. If user color is inverted: try the other setting.
Enumerator | |
---|---|
COLORORDER_RGB | A[2]=0, normal order SA,SB,SC (e.g. RGB) |
COLORORDER_BGR | A[2]=1, reverse order SC,SB,SA (e.g. BGR) |
Set the display mode.
Set the Scroll mode on or off according to the setting done by OLEDScrollSetup()
Enumerator | |
---|---|
SCROLL_ACTIVATE | This command activates the scrolling function |
SCROLL_DEACTIVE | This command deactivates the scrolling action |
SSD1331_OLED::SSD1331_OLED | ( | color_order_e | colororder, |
const Constrast_values_t & | contrast, | ||
const Dim_Constrast_values_t & | dimContrast | ||
) |
Constructor for class SSD1331_OLED.
colororder | The enum value from color_order_e RGB or BGR color mode |
contrast | Struct containing 3 color values for normal mode contrast |
dimContrast | Struct containing 3 color values for dim mode contrast |
Freq delay used in SW SPI getter, uS delay used in SW SPI method.
Freq delay used in SW SPI setter, uS delay used in SW SPI method.
CommDelay | The GPIO communications delay in uS |
void SSD1331_OLED::OLEDchangeDisplayMode | ( | display_mode_e | mode | ) |
change the display mode
mode | enum containing the display modes available |
void SSD1331_OLED::OLEDClearWindowCmd | ( | uint8_t | column1, |
uint8_t | row1, | ||
uint8_t | column2, | ||
uint8_t | row2 | ||
) |
Clears a specific rectangular window on the OLED display.
column1 | Starting column (X coordinate) of the window |
row1 | Starting row (Y coordinate) of the window |
column2 | Ending column (X coordinate) of the window |
row2 | Ending row (Y coordinate) of the window |
_CMD_CLEAR_WINDOW
command. delayMicroSecRDL(500)
) to allow processing time.
|
private |
: Method for Clock, data and chip select pin setup routine for software SPI.
void SSD1331_OLED::OLEDCopyWindowCmd | ( | uint8_t | column1, |
uint8_t | row1, | ||
uint8_t | column2, | ||
uint8_t | row2, | ||
uint8_t | column3, | ||
uint8_t | row3 | ||
) |
Copies a specific rectangular window to a new position on the OLED display.
column1 | Starting column (X coordinate) of the source window (Range: 0-95). |
row1 | Starting row (Y coordinate) of the source window (Range: 0-63). |
column2 | Ending column (X coordinate) of the source window (Range: 0-95). |
row2 | Ending row (Y coordinate) of the source window (Range: 0-63). |
column3 | Destination column (X coordinate) where the copied window will be placed (Range: 0-95). |
row3 | Destination row (Y coordinate) where the copied window will be placed (Range: 0-63). |
_CMD_COPY_WINDOW
command. delayMicroSecRDL(500)
) to allow processing time.
|
private |
: Method for Data or Command pin setup
void SSD1331_OLED::OLEDDimWindowCmd | ( | uint8_t | column1, |
uint8_t | row1, | ||
uint8_t | column2, | ||
uint8_t | row2 | ||
) |
Dims a specific rectangular window on the OLED display.
column1 | Starting column (X coordinate) of the window to be dimmed |
row1 | Starting row (Y coordinate) of the window to be dimmed |
column2 | Ending column (X coordinate) of the window to be dimmed |
row2 | Ending row (Y coordinate) of the window to be dimmed |
_CMD_DIM_WINDOW
command. delayMicroSecRDL(500)
) to allow processing time. void SSD1331_OLED::OLEDDrawLineCmd | ( | uint8_t | c1, |
uint8_t | r1, | ||
uint8_t | c2, | ||
uint8_t | r2, | ||
uint16_t | color | ||
) |
Draws a line between two points on the OLED display.
c1 | Starting column (X coordinate) of the line (Range: 0-95). |
r1 | Starting row (Y coordinate) of the line (Range: 0-63). |
c2 | Ending column (X coordinate) of the line (Range: 0-95). |
r2 | Ending row (Y coordinate) of the line (Range: 0-63). |
color | 16-bit RGB565 color value for the line. |
void SSD1331_OLED::OLEDDrawRectCmd | ( | uint8_t | c1, |
uint8_t | r1, | ||
uint8_t | c2, | ||
uint8_t | r2, | ||
uint16_t | color, | ||
bool | fill | ||
) |
Draws a rectangle on the OLED display, with optional filling. This function issues a command to draw a rectangle with the specified coordinates and color. The rectangle can be either outlined or filled. The function also accounts for screen rotation when determining coordinates.
c1 | Starting column (X coordinate) of the rectangle. |
r1 | Starting row (Y coordinate) of the rectangle. |
c2 | Ending column (X coordinate) of the rectangle. |
r2 | Ending row (Y coordinate) of the rectangle. |
color | The 16-bit RGB565 color value for the rectangle. |
fill | If true, the rectangle will be filled with the specified color. If false, only the border will be drawn. |
initialise the variables that define the size of the screen
width_OLED | width in pixels |
height_OLED | height in pixels |
rdlib::Return_Codes_e SSD1331_OLED::OLEDInitSPI | ( | int | device, |
int | channel, | ||
int | speed, | ||
int | flags, | ||
int | gpioDev | ||
) |
intialise SPI, Hardware SPI
device | A SPI device, >= 0. |
channel | A SPI channel, >= 0. |
speed | The speed of serial communication in bits per second. |
flags | The flags may be used to modify the default behaviour. Set to 0(mode 0) for this device. |
gpioDev | The device number of a gpiochip. |
rdlib::Return_Codes_e SSD1331_OLED::OLEDInitSPI | ( | uint16_t | CommDelay, |
int | gpioDev | ||
) |
intialise PCBtype and SPI, Software SPI
CommDelay | uS GPIO delay used in software SPI |
gpioDev | The device number of a gpiochip. |
rdlib::Return_Codes_e SSD1331_OLED::OLEDPowerDown | ( | void | ) |
Call when powering down OLED.
rdlib::SPIOpenClose
Turns off Display, sets GPIO low and frees them,closes GPIO device, closes SPI handle.
rdlib::Return_Codes_e SSD1331_OLED::OLEDResetPin | ( | void | ) |
void SSD1331_OLED::OLEDScroll | ( | scroll_control_e | scrollActivate | ) |
: This method is used to turn scroll on or off
scrollActivate | Deactive or active scroll called after OLEDScrollSetup() |
void SSD1331_OLED::OLEDScrollSetup | ( | uint8_t | horOffset, |
uint8_t | startRowAddr, | ||
uint8_t | numOfRows, | ||
uint8_t | verOffset, | ||
scroll_time_interval_e | scrollTimeInterval | ||
) |
This method setups up horizontal and vertical scrolling register _CMD_CONT_SCROLL_SET.
horOffset | Set num of col as h scroll Range: 0-95 ( no h scroll = 0) |
startRowAddr | Define start row address 0-63 |
numOfRows | Set number of rows to be horizontal scrolled (startRowAddr + numOfRows) <= 64 |
verOffset | Set num of col as v scroll Range: 0-63 ( no v scroll = 0) |
scrollTimeInterval | Set time interval between each scroll, enum |
void SSD1331_OLED::OLEDsetRotation | ( | display_rotate_e | mode | ) |
: change rotation of display.
mode | OLED_rotate_e enum 0 = Normal 1= 90 rotate 2 = 180 rotate 3 = 270 rotate |
sets up OLED GPIO for Hardware SPi
rst | reset GPIO |
dc | data or command GPIO. |
sets up OLED GPIO for software SPI
rst | reset GPIO |
dc | data or command GPIO. |
cs | chip select GPIO |
sclk | Data clock GPIO |
din | Data to OLED GPIO |
|
private |
init routine for SSD1331 controller
SPI displays set an address window rectangle for blitting pixels.
x | Top left corner x coordinate |
y | Top left corner y coordinate |
w | Width of window |
h | Height of window |
Implements color16_graphics.
Writes a 16-bit RGB565 color to the SSD1331 OLED display. This function extracts the red, green, and blue components from the 16-bit RGB565 color value and sends them as 6-bit values to the display. RRRRR GGGGGG BBBBB.
colorWrite | 16-bit RGB565 color value to be written to the display. |
Set clk divide ratio/oscillator freq
Continuous Horizontal & Vertical Scrolling Setup
Set contrast for colour A
Set contrast for colour B
Set contrast for colour C
Deactivate scrolling
Configure settings for dim mode
used with _CMD_FILL to not fill rect
Set entire display OFF
Set entire display ON
Display OFF (sleep mode)
Normal Brightness Display ON
used with _CMD_FILL to fill rect
Reloads preset linear gray scale table
Fill enable/disable used with Draw rect
Master current control
Set display to normal mode
Phase 1 and 2 period adjustment
Set pre-charge voltage
Set second pre-charge speed for colour A
Set second pre-charge speed for colour B
Set second pre-charge speed for colour C
Sets the gray scale table
Set master configuration
Set re-map & data format
|
private |
Enum to hold color order
|
private |
Enum to hold rotation
|
private |
never change after first init
|
private |
The speed of serial communication in bits per second.
|
private |
A SPI channel, >= 0.
|
private |
A SPI device, >= 0.
|
private |
The flags 2 LSB defines SPI mode, mode 0 for this device.
|
private |
never change after first init
|
private |
struct to hold normal mode contrast colors ABC
|
private |
struct to hold dim mode contrast colors ABC