#ifndef __OLED_H
#define __OLED_H

#include <rtthread.h>
#include "board.h"

//              GND  电源地
//              VCC  3.3v电源
//              D0   PB13（SCL）
//              D1   PB15（SDA）
//              RES  PB11
//              DC   PB10
//              CS   PB12

#define OLED_SCLK_Clr() rt_pin_write((rt_pin_get("PF.1")), PIN_LOW)//SCL
#define OLED_SCLK_Set() rt_pin_write((rt_pin_get("PF.1")), PIN_HIGH)

#define OLED_SDIN_Clr() rt_pin_write((rt_pin_get("PB.0")), PIN_LOW)//DIN
#define OLED_SDIN_Set() rt_pin_write((rt_pin_get("PB.0")), PIN_HIGH)

#define OLED_RST_Clr() rt_pin_write((rt_pin_get("PA.5")), PIN_LOW)//RES
#define OLED_RST_Set() rt_pin_write((rt_pin_get("PA.5")), PIN_HIGH)

#define OLED_DC_Clr() rt_pin_write((rt_pin_get("PE.1")), PIN_LOW)//DC
#define OLED_DC_Set() rt_pin_write((rt_pin_get("PE.1")), PIN_HIGH)

#define OLED_CS_Clr()  rt_pin_write((rt_pin_get("PE.0")), PIN_LOW)//CS
#define OLED_CS_Set()  rt_pin_write((rt_pin_get("PE.0")), PIN_HIGH)

#define OLED_CMD  0 //写命令
#define OLED_DATA 1 //写数据
#define u8 unsigned char
#define u32 unsigned int

void OLED_ClearPoint(u8 x,u8 y);
void OLED_ColorTurn(u8 i);
void OLED_DisplayTurn(u8 i);
void OLED_WR_Byte(u8 dat,u8 cmd);
void OLED_DisPlay_On(void);
void OLED_DisPlay_Off(void);
void OLED_Refresh(void);
void OLED_Clear(void);
void OLED_DrawPoint(u8 x,u8 y);
void OLED_DrawLine(u8 x1,u8 y1,u8 x2,u8 y2);
void OLED_DrawCircle(u8 x,u8 y,u8 r);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size1);
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size1);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size1);
void OLED_ShowChinese(u8 x,u8 y,u8 num,u8 size1);
void OLED_ScrollDisplay(u8 num,u8 space);
void OLED_WR_BP(u8 x,u8 y);
void OLED_ShowPicture(u8 x0,u8 y0,u8 x1,u8 y1,u8 BMP[]);
void OLED_Init(void);

#endif
