SSD1306 Library  1.0.0
Library for SSD1306 OLed Driver based on libohiboard
ssd1306.c File Reference
#include "ssd1306.h"

Macros

#define SSD1306_SEND_COMMAND   0x00
 
#define SSD1306_SEND_DATA   0x40
 
#define SSD1306_CMD_SETADDRESSINGMODE   0x20
 
#define SSD1306_CMD_SETCOLUMNADDRESS   0x21
 
#define SSD1306_CMD_SETPAGEADDRESS   0x22
 
#define SSD1306_CMD_DEACTIVATESCROLL   0x2E
 
#define SSD1306_CMD_ACTIVATESCROLL   0x2F
 
#define SSD1306_CMD_SETDISPLAYSTARTLINE   0x40
 
#define SSD1306_CMD_SETCONTRAST   0x81
 
#define SSD1306_CMD_CHARGEPUMP   0x8D
 
#define SSD1306_CMD_SEGMENTREMAP   0xA0
 
#define SSD1306_CMD_DISPLAYONRAM   0xA4
 
#define SSD1306_CMD_DISPLAYALLON   0xA5
 
#define SSD1306_CMD_DISPLAYNORMAL   0xA6
 
#define SSD1306_CMD_DISPLAYINVERSE   0xA7
 
#define SSD1306_CMD_SETMUXRATIO   0xA8
 
#define SSD1306_CMD_SETIREF   0xAD
 
#define SSD1306_CMD_DISPLAYOFF   0xAE
 
#define SSD1306_CMD_DISPLAYON   0xAF
 
#define SSD1306_CMD_COMSCANDIRECTIONUP   0xC0
 
#define SSD1306_CMD_COMSCANDIRECTIONDOWN   0xC8
 
#define SSD1306_CMD_SETDISPLAYOFFSET   0xD3
 
#define SSD1306_CMD_SETDISPLAYCLK   0xD5
 
#define SSD1306_CMD_COMPINS   0xDA
 
#define SSD1306_CMD_SETDESELECTLEVEL   0xDB
 
#define SSD1306_CMDVALUE_CHARGEPUMP_DISABLE   0x10
 
#define SSD1306_CMDVALUE_CHARGEPUMP_ENABLE   0x14
 
#define SSD1306_CMD_COMPINS_COMMON_BASE   0x02
 
#define SSD1306_CMD_COMPINS_COMMON_SEQUENTIAL   0x00
 
#define SSD1306_CMD_COMPINS_COMMON_ALTERNATIVE   0x10
 
#define SSD1306_CMD_COMPINS_COMMON_LEFTRIGHT_NORMAL   0x00
 
#define SSD1306_CMD_COMPINS_COMMON_LEFTRIGHT_FLIP   0x20
 
#define SSD1306_ADDRESSING_HORIZONTAL_MODE   0x00
 
#define SSD1306_ADDRESSING_VERTICAL_MODE   0x01
 
#define SSD1306_ADDRESSING_PAGE_MODE   0x02
 
#define SSD1306_CMD_SETIREF_INTERNAL   0x10
 
#define SSD1306_CMD_SETIREF_EXTERNAL   0x00
 

Functions

void SSD1306_init (SSD1306_DeviceHandle_t dev, SSD1306_Config_t *config)
 
GDL_Errors_t SSD1306_drawPixel (SSD1306_DeviceHandle_t dev, uint8_t xPos, uint8_t yPos, SSD1306_Color_t color)
 
void SSD1306_drawLine (SSD1306_DeviceHandle_t dev, uint8_t xStart, uint8_t yStart, uint8_t xStop, uint8_t yStop, SSD1306_Color_t color)
 
void SSD1306_drawHLine (SSD1306_DeviceHandle_t dev, uint8_t xStart, uint8_t yStart, uint8_t width, SSD1306_Color_t color)
 
void SSD1306_drawVLine (SSD1306_DeviceHandle_t dev, uint8_t xStart, uint8_t yStart, uint8_t height, SSD1306_Color_t color)
 
void SSD1306_drawRectangle (SSD1306_DeviceHandle_t dev, uint16_t xStart, uint16_t yStart, uint16_t width, uint16_t height, uint8_t color, bool isFill)
 
GDL_Errors_t SSD1306_drawChar (SSD1306_DeviceHandle_t dev, uint16_t xPos, uint16_t yPos, uint8_t c, uint8_t color, uint8_t size)
 
GDL_Errors_t SSD1306_drawString (SSD1306_DeviceHandle_t dev, uint16_t xPos, uint16_t yPos, const char *text, uint8_t color, uint8_t size)
 
GDL_Errors_t SSD1306_drawPicture (SSD1306_DeviceHandle_t dev, uint16_t xPos, uint16_t yPos, uint16_t width, uint16_t height, const uint8_t *picture)
 
void SSD1306_inverseDisplay (SSD1306_DeviceHandle_t dev)
 
void SSD1306_normalDisplay (SSD1306_DeviceHandle_t dev)
 
void SSD1306_scroll (SSD1306_DeviceHandle_t dev, bool scroll)
 
void SSD1306_flush (SSD1306_DeviceHandle_t dev)
 
void SSD1306_clear (SSD1306_DeviceHandle_t dev)
 
void SSD1306_on (SSD1306_DeviceHandle_t dev)
 
void SSD1306_off (SSD1306_DeviceHandle_t dev)
 
void SSD1306_setContrast (SSD1306_DeviceHandle_t dev, uint8_t value)
 

Macro Definition Documentation

◆ SSD1306_ADDRESSING_HORIZONTAL_MODE

#define SSD1306_ADDRESSING_HORIZONTAL_MODE   0x00

◆ SSD1306_ADDRESSING_PAGE_MODE

#define SSD1306_ADDRESSING_PAGE_MODE   0x02

◆ SSD1306_ADDRESSING_VERTICAL_MODE

#define SSD1306_ADDRESSING_VERTICAL_MODE   0x01

◆ SSD1306_CMD_ACTIVATESCROLL

#define SSD1306_CMD_ACTIVATESCROLL   0x2F

◆ SSD1306_CMD_CHARGEPUMP

#define SSD1306_CMD_CHARGEPUMP   0x8D

◆ SSD1306_CMD_COMPINS

#define SSD1306_CMD_COMPINS   0xDA

◆ SSD1306_CMD_COMPINS_COMMON_ALTERNATIVE

#define SSD1306_CMD_COMPINS_COMMON_ALTERNATIVE   0x10

◆ SSD1306_CMD_COMPINS_COMMON_BASE

#define SSD1306_CMD_COMPINS_COMMON_BASE   0x02

◆ SSD1306_CMD_COMPINS_COMMON_LEFTRIGHT_FLIP

#define SSD1306_CMD_COMPINS_COMMON_LEFTRIGHT_FLIP   0x20

◆ SSD1306_CMD_COMPINS_COMMON_LEFTRIGHT_NORMAL

#define SSD1306_CMD_COMPINS_COMMON_LEFTRIGHT_NORMAL   0x00

◆ SSD1306_CMD_COMPINS_COMMON_SEQUENTIAL

#define SSD1306_CMD_COMPINS_COMMON_SEQUENTIAL   0x00

◆ SSD1306_CMD_COMSCANDIRECTIONDOWN

#define SSD1306_CMD_COMSCANDIRECTIONDOWN   0xC8

◆ SSD1306_CMD_COMSCANDIRECTIONUP

#define SSD1306_CMD_COMSCANDIRECTIONUP   0xC0

◆ SSD1306_CMD_DEACTIVATESCROLL

#define SSD1306_CMD_DEACTIVATESCROLL   0x2E

◆ SSD1306_CMD_DISPLAYALLON

#define SSD1306_CMD_DISPLAYALLON   0xA5

◆ SSD1306_CMD_DISPLAYINVERSE

#define SSD1306_CMD_DISPLAYINVERSE   0xA7

◆ SSD1306_CMD_DISPLAYNORMAL

#define SSD1306_CMD_DISPLAYNORMAL   0xA6

◆ SSD1306_CMD_DISPLAYOFF

#define SSD1306_CMD_DISPLAYOFF   0xAE

◆ SSD1306_CMD_DISPLAYON

#define SSD1306_CMD_DISPLAYON   0xAF

◆ SSD1306_CMD_DISPLAYONRAM

#define SSD1306_CMD_DISPLAYONRAM   0xA4

◆ SSD1306_CMD_SEGMENTREMAP

#define SSD1306_CMD_SEGMENTREMAP   0xA0

◆ SSD1306_CMD_SETADDRESSINGMODE

#define SSD1306_CMD_SETADDRESSINGMODE   0x20

◆ SSD1306_CMD_SETCOLUMNADDRESS

#define SSD1306_CMD_SETCOLUMNADDRESS   0x21

◆ SSD1306_CMD_SETCONTRAST

#define SSD1306_CMD_SETCONTRAST   0x81

◆ SSD1306_CMD_SETDESELECTLEVEL

#define SSD1306_CMD_SETDESELECTLEVEL   0xDB

◆ SSD1306_CMD_SETDISPLAYCLK

#define SSD1306_CMD_SETDISPLAYCLK   0xD5

◆ SSD1306_CMD_SETDISPLAYOFFSET

#define SSD1306_CMD_SETDISPLAYOFFSET   0xD3

◆ SSD1306_CMD_SETDISPLAYSTARTLINE

#define SSD1306_CMD_SETDISPLAYSTARTLINE   0x40

◆ SSD1306_CMD_SETIREF

#define SSD1306_CMD_SETIREF   0xAD

◆ SSD1306_CMD_SETIREF_EXTERNAL

#define SSD1306_CMD_SETIREF_EXTERNAL   0x00

◆ SSD1306_CMD_SETIREF_INTERNAL

#define SSD1306_CMD_SETIREF_INTERNAL   0x10

◆ SSD1306_CMD_SETMUXRATIO

#define SSD1306_CMD_SETMUXRATIO   0xA8

◆ SSD1306_CMD_SETPAGEADDRESS

#define SSD1306_CMD_SETPAGEADDRESS   0x22

◆ SSD1306_CMDVALUE_CHARGEPUMP_DISABLE

#define SSD1306_CMDVALUE_CHARGEPUMP_DISABLE   0x10

◆ SSD1306_CMDVALUE_CHARGEPUMP_ENABLE

#define SSD1306_CMDVALUE_CHARGEPUMP_ENABLE   0x14

◆ SSD1306_SEND_COMMAND

#define SSD1306_SEND_COMMAND   0x00

◆ SSD1306_SEND_DATA

#define SSD1306_SEND_DATA   0x40