epaper.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #ifndef _EPAPER_H_
  2. #define _EPAPER_H_
  3. //#define EPAPER_BOOT_CODE
  4. #ifdef EPAPER_BOOT_CODE
  5. #define AUO_EPAPER_6_INCH
  6. //#define AUO_EPAPER_9_INCH
  7. #else //kernel
  8. #ifdef CONFIG_FB_AUOEPAPER_6
  9. #define AUO_EPAPER_6_INCH
  10. #else
  11. #define AUO_EPAPER_9_INCH
  12. #endif
  13. #endif
  14. #if defined(AUO_EPAPER_6_INCH)
  15. #define AUO_EPAPER_PHYSICAL_H_RESOLUTION 800 //physical resolution
  16. #define AUO_EPAPER_PHYSICAL_V_RESOLUTION 600 //physical resolution
  17. #elif defined(AUO_EPAPER_9_INCH)
  18. #define AUO_EPAPER_PHYSICAL_H_RESOLUTION 1024 //physical resolution
  19. #define AUO_EPAPER_PHYSICAL_V_RESOLUTION 768 //physical resolution
  20. #endif
  21. typedef unsigned int DispErrorCode_t;
  22. typedef enum
  23. {
  24. DISP_SUCCESS = 0,
  25. DISP_TIMEOUT
  26. }E_DISP_ERROR_CODE;
  27. // AUO EPEPER COMMAND
  28. #define AUO_EPAPER_CMD_INIT 0x0000
  29. #define AUO_EPAPER_CMD_STANDBY 0x0001
  30. #define AUO_EPAPER_CMD_WAKEUP 0x0002
  31. #define AUO_EPAPER_CMD_FULLDISP 0x1000
  32. #define AUO_EPAPER_CMD_PARTIALDISP 0x1001
  33. #define AUO_EPAPER_CMD_STOP 0x1002
  34. #define AUO_EPAPER_CMD_LUT_START 0x1003
  35. #define AUO_EPAPER_CMD_REFRESH 0x1004
  36. #define AUO_EPAPER_CMD_RESET 0x1005
  37. #define AUO_EPAPER_CMD_ROTATION 0x1006
  38. #define AUO_EPAPER_CMD_LUT_STOP 0x1009
  39. #define AUO_EPAPER_CMD_PRE_DISPLAY_START 0x100D
  40. #define AUO_EPAPER_CMD_PRE_DISPLAY_STOP 0x100F
  41. #define AUO_EPAPER_CMD_FLASH_W 0x2000
  42. #define AUO_EPAPER_CMD_FLASH_E 0x2001
  43. #define AUO_EPAPER_CMD_FLASH_STS 0x2002
  44. #define AUO_EPAPER_CMD_FRAMERATE 0x3000
  45. #define AUO_EPAPER_CMD_TEMPER 0x4000
  46. #define AUO_EPAPER_CMD_DRIVERTIMING 0x5000
  47. #define AUO_EPAPER_CMD_LBALANCE 0x4000
  48. #define AUO_EPAPER_CMD_LUT_READ 0x4003
  49. #define AUO_EPAPER_CMD_AGINGMODE 0x6000
  50. #define AUO_EPAPER_CMD_AGINGEXIT 0x6001
  51. // AUO EPAPER PARA
  52. #define PARTIAL_DSP_MODE_0 (0x0)
  53. #define PARTIAL_DSP_MODE_1 (0x1)
  54. #define PARTIAL_DSP_MODE_2 (0x2)
  55. #define PARTIAL_DSP_MODE_3 (0x3) //Scroll Mode
  56. #define PARTIAL_DSP_MODE_4 (0x4) //Handwriting
  57. #define PARTIAL_DSP_MODE_0_NF (0x8)
  58. #define PARTIAL_DSP_MODE_1_NF (0x9)
  59. #define PARTIAL_DSP_MODE_2_NF (0xA)
  60. #define PARTIAL_DSP_MODE_3_NF (0xB)
  61. #define PARTIAL_DSP_MODE_4_W (0xC)
  62. #define PARTIAL_DSP_MODE (PARTIAL_DSP_MODE_0<<12)
  63. typedef struct T_DISPLAY_REGION_TAG
  64. {
  65. int X;
  66. int Y;
  67. int W;
  68. int H;
  69. } T_DISPLAY_REGION, *T_DISPLAY_REGION_P;
  70. typedef struct T_DISPLAY_FRAME_TAG
  71. {
  72. unsigned short u16EpaperCommand;
  73. T_DISPLAY_REGION tFrameRange;
  74. unsigned short* pFrameData;
  75. } T_DISPLAY_FRAME, *T_DISPLAY_FRAME_P;
  76. //functions
  77. void Epaper_SetLcdPort(void);
  78. int Epaper_Disp(T_DISPLAY_FRAME tFrame);
  79. int is_Epaper_Write_Ready(void);
  80. int is_Epaper_Write_Ready_No_Wait(void);
  81. int is_Epaper_Write_Ready_Wait(unsigned long waitTime); //ms
  82. void Epaper_Set_Partial_Update_Mode(int mode);
  83. int Epaper_Get_Partial_Update_Mode(void);
  84. void Epaper_Set_Resolution(int h_res, int v_res);
  85. void Epaper_Enter_Standby_Mode(int isEnter);
  86. void Epaper_Enter_Sleep_Mode(int isEnter);
  87. void Epaper_Power(int isEnable);
  88. int Epaper_Init(int h_Res, int v_Res, int temp_ave, int data_filter, int rotation, int data_inverse, int inputdata_arrangement, int outputdata_arrangement,int UD, int SHL);
  89. void EPaper_CloseLcdPort(void);
  90. void Epaper_Read_R_TEMP(unsigned short* val0, unsigned short* val1, unsigned short* val2, unsigned short* val3);
  91. void Epaper_Display_Refresh(void);
  92. int Epaper_Update_LUT(unsigned short* u16LUT, unsigned long u32LUTLength);
  93. int Epaper_Read_LUT(unsigned short* u16LUT, unsigned long u32LUTLength);
  94. void Epaper_Reset(void);
  95. void Epaper_Clean_Panel(void);
  96. void Epaper_Show_Progress(int percent);
  97. int Epaper_Pre_DMA_Disp_Start(T_DISPLAY_FRAME tFrame);
  98. int Epaper_Pre_DMA_Disp_Stop(T_DISPLAY_FRAME tFrame);
  99. #ifdef EPAPER_BOOT_CODE
  100. #else //KERNEL
  101. void Epaper_Draw_Point(int x, int y);
  102. void Epaper_Shutdown_Logo(void);
  103. #endif
  104. #endif