123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #ifndef __SSD1306_H__
- #define __SSD1306_H__
- #include <driver/spi_master.h>
- #include "fonts.h"
- esp_err_t oled_ssd1306_init();
- #define READ_BIT I2C_MASTER_READ /*!< I2C master read */
- #define ACK_CHECK_DIS 0x0 /*!< I2C master will not check ack from slave */
- #define ACK_VAL 0x0 /*!< I2C ack value */
- #define NACK_VAL 0x1 /*!< I2C nack value */
- // Fundamental Command (page 28)
- #define DISPLAY_LINE_START 0x40
- #define CONTRAST_CONTROL 0x81
- #define DISABLE_ENTIRE_DISPLAY 0xA4
- #define DISPLAY_ON_REG02 0xA5
- #define NORMAL_DISPLAY 0xA6
- #define DISPLAY_INVERSE 0xA7
- #define DISPLAY_RESET 0xAE
- #define DISPLAY_ON 0xAF
- // Addressing Setting (page 30)
- #define MEM_ADDR_MODE 0x20
- #define LOWER_COL_START_ADDR 0x00
- #define HIGHER_COL_START_ADDR 0x10
- #define PAGE_START_ADDR 0xB0
- // Hardware Config (page 31)
- #define DISPLAY_START_LINE 0x40
- #define SEGMENT_REMAP 0xA0
- #define MULTIPLEX_RATIO 0xA8
- #define COM_OUTPUT_SCAN_DIR 0xC0
- #define DISPLAY_OFFSET 0xD3
- #define COM_PINS_HARDWARE_CONFIG 0xDA
- // Timing & Driving Scheme (page 32)
- #define DISPLAY_CLK_RATIO 0xD5
- #define PRE_CHARGE_PER 0xD9
- #define VCOMH_DESELECT_LEVEL 0xDB
- #define NOOPERATION 0xE3
- // Charge Pump (page 60)
- #define CHARGE_PUMP_SET 0x8D
- // Scrolling
- #define DEACTIVATE_SCROLL 0x2E
- #define ACTIVATE_SCROLL 0x2F
- #define VERTICAL_AND_RIGHT_HOR_SCROLL 0x29
- #define DUMMY_BYTE 0x00
- #define SIX_FRAMES_PER_SEC 0x00
- #define VERTICAL_OFFSET_ONE 0x01
- typedef enum {
- SSD1306_COLOR_BLACK = 0x00, /*!< Black color, no pixel */
- SSD1306_COLOR_WHITE = 0x01 /*!< Pixel is set. Color depends on LCD */
- } SSD1306_COLOR_t;
- #define SSD1306_WIDTH 128
- #define SSD1306_HEIGHT 64
- /**
- * @brief Calculates string length and height in units of pixels depending on string and font used
- * @param *str: String to be checked for length and height
- * @param *SizeStruct: Pointer to empty @ref FONTS_SIZE_t structure where informations will be saved
- * @param *Font: Pointer to @ref FontDef_t font used for calculations
- * @retval Pointer to string used for length and height
- */
- char* FONTS_GetStringSize(char* str, FONTS_SIZE_t* SizeStruct, FontDef_t* Font);
- #endif
|