#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