mipi_lcd_GC9503.lua 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. --- 模块功能:ILI9806E驱动芯片LCD命令配置
  2. -- @author openLuat
  3. -- @module ui.mipi_lcd_GC9503V
  4. -- @license MIT
  5. -- @copyright openLuat
  6. -- @release 2021.09.01
  7. --[[
  8. 注意:MIPI接口
  9. module(...,package.seeall)
  10. ]]
  11. --[[
  12. 函数名:init
  13. 功能 :初始化LCD参数
  14. 参数 :无
  15. 返回值:无
  16. ]]
  17. local function init()
  18. local para =
  19. {
  20. width = 480, --分辨率宽度,
  21. height = 854, --分辨率高度
  22. bpp = 16, --MIPI LCD直接写16,暂不支持其他配置
  23. bus = disp.BUS_MIPI, --LCD专用SPI引脚接口,不可修改
  24. xoffset = 0, --X轴偏移
  25. yoffset = 0, --Y轴偏移
  26. freq = 200000000, --mipi时钟最高为500000000 最低为125000000
  27. pinrst = pio.P0_20, --reset,复位引脚,MIPI屏幕必须填写
  28. pinrs = 0xffff, --mipi不需要rs脚,直接写0xffff
  29. ---- porch_vs porch_vbp porch_vfp porch_hs porch_hbp porch_hfp 这6个参数可以不配置
  30. ---- 软件有默认的配置。一般mipi屏会兼容多套参数。也可以根据厂商提供的参数进行修改
  31. ---- (480+30+30+10)*(854+15+8+2)* 16
  32. porch_vs = 2,
  33. porch_vbp = 15,
  34. porch_vfp = 8,
  35. porch_hs = 10,
  36. porch_hbp = 30,
  37. porch_hfp = 30,
  38. -- continue_mode 可以不配置底层默认为0. 配置后一直处于高速continue 模式
  39. continue_mode = 1,
  40. --初始化命令
  41. --前两个字节表示类型:0001表示延时,0000或者0002表示命令,0003表示数据
  42. --延时类型:后两个字节表示延时时间(单位毫秒)
  43. --命令类型:后两个字节命令的值
  44. --数据类型:后两个字节数据的值
  45. --现在MIPI LCD 只支持,lane 2线,RGB565格式
  46. initcmd =
  47. {
  48. 0x000200F0, 0x00030055, 0x000300AA, 0x00030052, 0x00030008, 0x00030000,
  49. 0x000200F6, 0x0003005A, 0x00030087,
  50. 0x000200C1, 0x0003003F,
  51. 0x000200C2, 0x0003000E,
  52. 0x000200C6, 0x000300F8,
  53. 0x000200C9, 0x00030010,
  54. 0x000200CD, 0x00030025,
  55. 0x00020087, 0x00030004, 0x00030003, 0x00030066,
  56. 0x00020086, 0x00030099, 0x000300a3, 0x000300a3, 0x00030051,
  57. 0x000200F8, 0x0003008A,
  58. 0x000200AC, 0x00030065,
  59. 0x000200A7, 0x00030047,
  60. 0x000200A0, 0x000300DD,
  61. 0x000200FA, 0x00030008, 0x00030008, 0x00030000, 0x00030004,
  62. 0x000200A3, 0x0003002E,
  63. 0x000200FD, 0x00030028, 0x0003003c, 0x00030000,
  64. 0x00020071, 0x00030048,
  65. 0x00020072, 0x00030048,
  66. 0x00020073, 0x00030000, 0x00030044,
  67. 0x00020097, 0x000300EE,
  68. 0x00020083, 0x00030093,
  69. 0x0002009A, 0x00030084,
  70. 0x0002009B, 0x00030054,
  71. 0x00020082, 0x0003005d, 0x0003005d,
  72. 0x000200B1, 0x00030010,
  73. 0x0002007A, 0x00030013, 0x0003001A,
  74. 0x0002007B, 0x00030013, 0x0003001A,
  75. 0x00020064, 0x00030018, 0x00030009, 0x00030003, 0x00030059, 0x00030003, 0x00030003, 0x00030018, 0x00030008, 0x00030003, 0x0003005A, 0x00030003, 0x00030003, 0x0003007A, 0x0003007A, 0x0003007A, 0x0003007A,
  76. 0x00020067, 0x00030018, 0x00030007, 0x00030003, 0x0003005B, 0x00030003, 0x00030003, 0x00030018, 0x00030006, 0x00030003, 0x0003005C, 0x00030003, 0x00030003, 0x0003007A, 0x0003007A, 0x0003007A, 0x0003007A,
  77. 0x00020068, 0x00030000, 0x00030008, 0x0003000A, 0x00030008, 0x00030009, 0x00030000, 0x00030000, 0x00030008, 0x0003000A, 0x00030008, 0x00030009, 0x00030000, 0x00030000,
  78. 0x00020060, 0x00030018, 0x00030008, 0x0003007A, 0x0003007A, 0x00030018, 0x00030002, 0x0003007A, 0x0003007A,
  79. 0x00020063, 0x00030018, 0x00030002, 0x0003006D, 0x0003006D, 0x00030018, 0x00030007, 0x0003007A, 0x0003007A,
  80. 0x00020069, 0x00030014, 0x00030022, 0x00030014, 0x00030022, 0x00030044, 0x00030022, 0x00030008,
  81. 0x000200D1, 0x00030000, 0x00030000, 0x00030000, 0x00030008, 0x00030000, 0x0003001D, 0x00030000, 0x0003005F, 0x00030000, 0x00030091, 0x00030000, 0x000300CE, 0x00030000, 0x000300F5, 0x00030001, 0x0003002B, 0x00030001, 0x0003007f, 0x00030001, 0x000300ed, 0x00030002, 0x00030023, 0x00030002, 0x00030078, 0x00030002, 0x000300b2, 0x00030002, 0x000300b4, 0x00030002, 0x000300f1, 0x00030003, 0x00030029, 0x00030003, 0x00030049, 0x00030003, 0x0003006d, 0x00030003, 0x00030082, 0x00030003, 0x0003009b, 0x00030003, 0x000300A5, 0x00030003, 0x000300B0, 0x00030003, 0x000300B5, 0x00030003, 0x000300BF, 0x00030003, 0x000300DE, 0x00030003, 0x000300FF,
  82. 0x000200D2, 0x00030000, 0x00030000, 0x00030000, 0x00030008, 0x00030000, 0x0003001D, 0x00030000, 0x0003005F, 0x00030000, 0x00030091, 0x00030000, 0x000300CE, 0x00030000, 0x000300F5, 0x00030001, 0x0003002B, 0x00030001, 0x0003007f, 0x00030001, 0x000300ed, 0x00030002, 0x00030023, 0x00030002, 0x00030078, 0x00030002, 0x000300b2, 0x00030002, 0x000300b4, 0x00030002, 0x000300f1, 0x00030003, 0x00030029, 0x00030003, 0x00030049, 0x00030003, 0x0003006d, 0x00030003, 0x00030082, 0x00030003, 0x0003009b, 0x00030003, 0x000300A5, 0x00030003, 0x000300B0, 0x00030003, 0x000300B5, 0x00030003, 0x000300BF, 0x00030003, 0x000300DE, 0x00030003, 0x000300FF,
  83. 0x000200D3, 0x00030000, 0x00030000, 0x00030000, 0x00030008, 0x00030000, 0x0003001D, 0x00030000, 0x0003005F, 0x00030000, 0x00030091, 0x00030000, 0x000300CE, 0x00030000, 0x000300F5, 0x00030001, 0x0003002B, 0x00030001, 0x0003007f, 0x00030001, 0x000300ed, 0x00030002, 0x00030023, 0x00030002, 0x00030078, 0x00030002, 0x000300b2, 0x00030002, 0x000300b4, 0x00030002, 0x000300f1, 0x00030003, 0x00030029, 0x00030003, 0x00030049, 0x00030003, 0x0003006d, 0x00030003, 0x00030082, 0x00030003, 0x0003009b, 0x00030003, 0x000300A5, 0x00030003, 0x000300B0, 0x00030003, 0x000300B5, 0x00030003, 0x000300BF, 0x00030003, 0x000300DE, 0x00030003, 0x000300FF,
  84. 0x000200D4, 0x00030000, 0x00030000, 0x00030000, 0x00030008, 0x00030000, 0x0003001D, 0x00030000, 0x0003005F, 0x00030000, 0x00030091, 0x00030000, 0x000300CE, 0x00030000, 0x000300F5, 0x00030001, 0x0003002B, 0x00030001, 0x0003007f, 0x00030001, 0x000300ed, 0x00030002, 0x00030023, 0x00030002, 0x00030078, 0x00030002, 0x000300b2, 0x00030002, 0x000300b4, 0x00030002, 0x000300f1, 0x00030003, 0x00030029, 0x00030003, 0x00030049, 0x00030003, 0x0003006d, 0x00030003, 0x00030082, 0x00030003, 0x0003009b, 0x00030003, 0x000300A5, 0x00030003, 0x000300B0, 0x00030003, 0x000300B5, 0x00030003, 0x000300BF, 0x00030003, 0x000300DE, 0x00030003, 0x000300FF,
  85. 0x000200D5, 0x00030000, 0x00030000, 0x00030000, 0x00030008, 0x00030000, 0x0003001D, 0x00030000, 0x0003005F, 0x00030000, 0x00030091, 0x00030000, 0x000300CE, 0x00030000, 0x000300F5, 0x00030001, 0x0003002B, 0x00030001, 0x0003007f, 0x00030001, 0x000300ed, 0x00030002, 0x00030023, 0x00030002, 0x00030078, 0x00030002, 0x000300b2, 0x00030002, 0x000300b4, 0x00030002, 0x000300f1, 0x00030003, 0x00030029, 0x00030003, 0x00030049, 0x00030003, 0x0003006d, 0x00030003, 0x00030082, 0x00030003, 0x0003009b, 0x00030003, 0x000300A5, 0x00030003, 0x000300B0, 0x00030003, 0x000300B5, 0x00030003, 0x000300BF, 0x00030003, 0x000300DE, 0x00030003, 0x000300FF,
  86. 0x000200D6, 0x00030000, 0x00030000, 0x00030000, 0x00030008, 0x00030000, 0x0003001D, 0x00030000, 0x0003005F, 0x00030000, 0x00030091, 0x00030000, 0x000300CE, 0x00030000, 0x000300F5, 0x00030001, 0x0003002B, 0x00030001, 0x0003007f, 0x00030001, 0x000300ed, 0x00030002, 0x00030023, 0x00030002, 0x00030078, 0x00030002, 0x000300b2, 0x00030002, 0x000300b4, 0x00030002, 0x000300f1, 0x00030003, 0x00030029, 0x00030003, 0x00030049, 0x00030003, 0x0003006d, 0x00030003, 0x00030082, 0x00030003, 0x0003009b, 0x00030003, 0x000300A5, 0x00030003, 0x000300B0, 0x00030003, 0x000300B5, 0x00030003, 0x000300BF, 0x00030003, 0x000300DE, 0x00030003, 0x000300FF,
  87. 0x00020011, 0x00030000,
  88. 0x00020029, 0x00030000,
  89. },
  90. --休眠命令
  91. sleepcmd = {
  92. 0x00020028,
  93. 0x00020010,
  94. },
  95. --唤醒命令
  96. wakecmd = {
  97. 0x00020011,
  98. 0x00020029,
  99. }
  100. }
  101. disp.init(para)
  102. disp.clear()
  103. disp.update()
  104. end
  105. -- VLCD电压域配置
  106. pmd.ldoset(15,pmd.LDO_VIBR)
  107. -- 背光配置
  108. function backlightopen(on)
  109. if on then
  110. pins.setup(pio.P0_8,1)
  111. log.info("mipi_lcd_GC9503V 你打开了背光")
  112. else
  113. pins.setup(pio.P0_8,0)
  114. log.info("mipi_lcd_GC9503V 你关闭了背光")
  115. end
  116. end
  117. backlightopen(true)
  118. -- 初始化
  119. init()