121 lines
3.4 KiB
C
121 lines
3.4 KiB
C
#ifndef _EPAPER_H_
|
|
#define _EPAPER_H_
|
|
|
|
//#define EPAPER_BOOT_CODE
|
|
|
|
#ifdef EPAPER_BOOT_CODE
|
|
#define AUO_EPAPER_6_INCH
|
|
//#define AUO_EPAPER_9_INCH
|
|
#else //kernel
|
|
#ifdef CONFIG_FB_AUOEPAPER_6
|
|
#define AUO_EPAPER_6_INCH
|
|
#else
|
|
#define AUO_EPAPER_9_INCH
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if defined(AUO_EPAPER_6_INCH)
|
|
#define AUO_EPAPER_PHYSICAL_H_RESOLUTION 800 //physical resolution
|
|
#define AUO_EPAPER_PHYSICAL_V_RESOLUTION 600 //physical resolution
|
|
#elif defined(AUO_EPAPER_9_INCH)
|
|
#define AUO_EPAPER_PHYSICAL_H_RESOLUTION 1024 //physical resolution
|
|
#define AUO_EPAPER_PHYSICAL_V_RESOLUTION 768 //physical resolution
|
|
#endif
|
|
|
|
typedef unsigned int DispErrorCode_t;
|
|
|
|
typedef enum
|
|
{
|
|
DISP_SUCCESS = 0,
|
|
DISP_TIMEOUT
|
|
}E_DISP_ERROR_CODE;
|
|
|
|
// AUO EPEPER COMMAND
|
|
#define AUO_EPAPER_CMD_INIT 0x0000
|
|
#define AUO_EPAPER_CMD_STANDBY 0x0001
|
|
#define AUO_EPAPER_CMD_WAKEUP 0x0002
|
|
|
|
#define AUO_EPAPER_CMD_FULLDISP 0x1000
|
|
#define AUO_EPAPER_CMD_PARTIALDISP 0x1001
|
|
#define AUO_EPAPER_CMD_STOP 0x1002
|
|
#define AUO_EPAPER_CMD_LUT_START 0x1003
|
|
#define AUO_EPAPER_CMD_REFRESH 0x1004
|
|
#define AUO_EPAPER_CMD_RESET 0x1005
|
|
#define AUO_EPAPER_CMD_ROTATION 0x1006
|
|
#define AUO_EPAPER_CMD_LUT_STOP 0x1009
|
|
|
|
#define AUO_EPAPER_CMD_FLASH_W 0x2000
|
|
#define AUO_EPAPER_CMD_FLASH_E 0x2001
|
|
#define AUO_EPAPER_CMD_FLASH_STS 0x2002
|
|
|
|
#define AUO_EPAPER_CMD_FRAMERATE 0x3000
|
|
#define AUO_EPAPER_CMD_TEMPER 0x4000
|
|
#define AUO_EPAPER_CMD_DRIVERTIMING 0x5000
|
|
#define AUO_EPAPER_CMD_LBALANCE 0x4000
|
|
#define AUO_EPAPER_CMD_LUT_READ 0x4003
|
|
#define AUO_EPAPER_CMD_AGINGMODE 0x6000
|
|
#define AUO_EPAPER_CMD_AGINGEXIT 0x6001
|
|
|
|
|
|
// AUO EPAPER PARA
|
|
#define PARTIAL_DSP_MODE_0 (0x0)
|
|
#define PARTIAL_DSP_MODE_1 (0x1)
|
|
#define PARTIAL_DSP_MODE_2 (0x2)
|
|
#define PARTIAL_DSP_MODE_3 (0x3) //Scroll Mode
|
|
#define PARTIAL_DSP_MODE_4 (0x4) //Handwriting
|
|
#define PARTIAL_DSP_MODE_0_NF (0x8)
|
|
#define PARTIAL_DSP_MODE_1_NF (0x9)
|
|
#define PARTIAL_DSP_MODE_2_NF (0xA)
|
|
#define PARTIAL_DSP_MODE_3_NF (0xB)
|
|
#define PARTIAL_DSP_MODE_4_W (0xC)
|
|
|
|
#define PARTIAL_DSP_MODE (PARTIAL_DSP_MODE_0<<12)
|
|
|
|
|
|
typedef struct T_DISPLAY_REGION_TAG
|
|
{
|
|
int X;
|
|
int Y;
|
|
int W;
|
|
int H;
|
|
} T_DISPLAY_REGION, *T_DISPLAY_REGION_P;
|
|
|
|
|
|
typedef struct T_DISPLAY_FRAME_TAG
|
|
{
|
|
unsigned short u16EpaperCommand;
|
|
T_DISPLAY_REGION tFrameRange;
|
|
unsigned short* pFrameData;
|
|
} T_DISPLAY_FRAME, *T_DISPLAY_FRAME_P;
|
|
|
|
//functions
|
|
void Epaper_SetLcdPort(void);
|
|
DispErrorCode_t Epaper_Disp(T_DISPLAY_FRAME tFrame);
|
|
int is_Epaper_Write_Ready(void);
|
|
int is_Epaper_Write_Ready_No_Wait(void);
|
|
int is_Epaper_Write_Ready_Wait(unsigned long waitTime); //ms
|
|
void Epaper_Set_Partial_Update_Mode(int mode);
|
|
int Epaper_Get_Partial_Update_Mode(void);
|
|
void Epaper_Set_Resolution(int h_res, int v_res);
|
|
void Epaper_Enter_Standby_Mode(int isEnter);
|
|
void Epaper_Enter_Sleep_Mode(int isEnter);
|
|
void Epaper_Power(int isEnable);
|
|
int Epaper_Init(int h_Res, int v_Res, int rotation, int data_inverse, int inputdata_arrangement, int outputdata_arrangement,int UD, int SHL);
|
|
void EPaper_CloseLcdPort(void);
|
|
void Epaper_Read_R_TEMP(unsigned short* val0, unsigned short* val1, unsigned short* val2, unsigned short* val3);
|
|
void Epaper_Display_Refresh(void);
|
|
int Epaper_Update_LUT(unsigned short* u16LUT, unsigned long u32LUTLength);
|
|
int Epaper_Read_LUT(unsigned short* u16LUT, unsigned long u32LUTLength);
|
|
void Epaper_Reset(void);
|
|
void Epaper_Clean_Panel(void);
|
|
void Epaper_Show_Progress(int percent);
|
|
#ifdef EPAPER_BOOT_CODE
|
|
|
|
#else //KERNEL
|
|
void Epaper_Draw_Point(int x, int y);
|
|
void Epaper_Shutdown_Logo(void);
|
|
#endif
|
|
|
|
#endif
|