37 lines
781 B
C
37 lines
781 B
C
#pragma once
|
|
|
|
#include "main.h"
|
|
|
|
#define I2C_COMMAND 0x00
|
|
#define I2C_DATA 0x40
|
|
#define I2C_TIMEOUT 100
|
|
|
|
typedef enum
|
|
{
|
|
UNKNOWN,
|
|
SSD1306,
|
|
SH1106
|
|
} OLED_DisplayType_t;
|
|
|
|
typedef enum{
|
|
ERROR,
|
|
SENDPAGE,
|
|
SENDALL
|
|
} OLED_SendStatus_t;
|
|
|
|
typedef struct
|
|
{
|
|
I2C_HandleTypeDef *hi2c;
|
|
OLED_DisplayType_t OledType;
|
|
uint8_t DevAddress;
|
|
uint8_t Width;
|
|
uint8_t Height;
|
|
uint8_t *Buffer;
|
|
uint16_t BufSize;
|
|
|
|
} OLED_HandleTypeDef;
|
|
|
|
HAL_StatusTypeDef oled_Config(OLED_HandleTypeDef *hOled, uint8_t DevAddress, uint8_t Width, uint8_t Height, OLED_DisplayType_t OledType);
|
|
void oled_init(OLED_HandleTypeDef *hOled, I2C_HandleTypeDef *hi2c);
|
|
void oled_display_all(OLED_HandleTypeDef *hOled);
|
|
OLED_SendStatus_t oled_display_page(OLED_HandleTypeDef *hOled); |