lv_drv_conf.h 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. /**
  2. * @file lv_drv_conf.h
  3. *
  4. */
  5. /*
  6. * COPY THIS FILE AS lv_drv_conf.h
  7. */
  8. #if 1 /*Set it to "1" to enable the content*/
  9. #ifndef LV_DRV_CONF_H
  10. #define LV_DRV_CONF_H
  11. #include "lv_conf.h"
  12. /*********************
  13. * DELAY INTERFACE
  14. *********************/
  15. #define LV_DRV_DELAY_INCLUDE <stdint.h> /*Dummy include by default*/
  16. #define LV_DRV_DELAY_US(us) /*delay_us(us)*/ /*Delay the given number of microseconds*/
  17. #define LV_DRV_DELAY_MS(ms) /*delay_ms(ms)*/ /*Delay the given number of milliseconds*/
  18. /*********************
  19. * DISPLAY INTERFACE
  20. *********************/
  21. /*------------
  22. * Common
  23. *------------*/
  24. #define LV_DRV_DISP_INCLUDE <stdint.h> /*Dummy include by default*/
  25. #define LV_DRV_DISP_CMD_DATA(val) /*pin_x_set(val)*/ /*Set the command/data pin to 'val'*/
  26. #define LV_DRV_DISP_RST(val) /*pin_x_set(val)*/ /*Set the reset pin to 'val'*/
  27. /*---------
  28. * SPI
  29. *---------*/
  30. #define LV_DRV_DISP_SPI_CS(val) /*spi_cs_set(val)*/ /*Set the SPI's Chip select to 'val'*/
  31. #define LV_DRV_DISP_SPI_WR_BYTE(data) /*spi_wr(data)*/ /*Write a byte the SPI bus*/
  32. #define LV_DRV_DISP_SPI_WR_ARRAY(adr, n) /*spi_wr_mem(adr, n)*/ /*Write 'n' bytes to SPI bus from 'adr'*/
  33. /*------------------
  34. * Parallel port
  35. *-----------------*/
  36. #define LV_DRV_DISP_PAR_CS(val) /*par_cs_set(val)*/ /*Set the Parallel port's Chip select to 'val'*/
  37. #define LV_DRV_DISP_PAR_SLOW /*par_slow()*/ /*Set low speed on the parallel port*/
  38. #define LV_DRV_DISP_PAR_FAST /*par_fast()*/ /*Set high speed on the parallel port*/
  39. #define LV_DRV_DISP_PAR_WR_WORD(data) /*par_wr(data)*/ /*Write a word to the parallel port*/
  40. #define LV_DRV_DISP_PAR_WR_ARRAY(adr, n) /*par_wr_mem(adr,n)*/ /*Write 'n' bytes to Parallel ports from 'adr'*/
  41. /***************************
  42. * INPUT DEVICE INTERFACE
  43. ***************************/
  44. /*----------
  45. * Common
  46. *----------*/
  47. #define LV_DRV_INDEV_INCLUDE <stdint.h> /*Dummy include by default*/
  48. #define LV_DRV_INDEV_RST(val) /*pin_x_set(val)*/ /*Set the reset pin to 'val'*/
  49. #define LV_DRV_INDEV_IRQ_READ 0 /*pn_x_read()*/ /*Read the IRQ pin*/
  50. /*---------
  51. * SPI
  52. *---------*/
  53. #define LV_DRV_INDEV_SPI_CS(val) /*spi_cs_set(val)*/ /*Set the SPI's Chip select to 'val'*/
  54. #define LV_DRV_INDEV_SPI_XCHG_BYTE(data) 0 /*spi_xchg(val)*/ /*Write 'val' to SPI and give the read value*/
  55. /*---------
  56. * I2C
  57. *---------*/
  58. #define LV_DRV_INDEV_I2C_START /*i2c_start()*/ /*Make an I2C start*/
  59. #define LV_DRV_INDEV_I2C_STOP /*i2c_stop()*/ /*Make an I2C stop*/
  60. #define LV_DRV_INDEV_I2C_RESTART /*i2c_restart()*/ /*Make an I2C restart*/
  61. #define LV_DRV_INDEV_I2C_WR(data) /*i2c_wr(data)*/ /*Write a byte to the I1C bus*/
  62. #define LV_DRV_INDEV_I2C_READ(last_read) 0 /*i2c_rd()*/ /*Read a byte from the I2C bud*/
  63. /*********************
  64. * DISPLAY DRIVERS
  65. *********************/
  66. #define USE_ARKLCD 1
  67. #if USE_ARKLCD
  68. /* Used to test true double buffering with only address changing.
  69. * Set LV_VDB_SIZE = (LV_HOR_RES * LV_VER_RES) and LV_VDB_DOUBLE = 1 and LV_COLOR_DEPTH = 32" */
  70. # define ARKLCD_DOUBLE_BUFFERED 1
  71. #endif
  72. /*-----------------------------------
  73. * Native Windows (including mouse)
  74. *----------------------------------*/
  75. #ifndef USE_WINDOWS
  76. # define USE_WINDOWS 1
  77. #endif
  78. #if USE_WINDOWS
  79. # define WINDOW_HOR_RES 1024
  80. # define WINDOW_VER_RES 600
  81. #endif
  82. /*----------------
  83. * SSD1963
  84. *--------------*/
  85. #ifndef USE_SSD1963
  86. # define USE_SSD1963 0
  87. #endif
  88. #if USE_SSD1963
  89. # define SSD1963_HOR_RES LV_HOR_RES
  90. # define SSD1963_VER_RES LV_VER_RES
  91. # define SSD1963_HT 531
  92. # define SSD1963_HPS 43
  93. # define SSD1963_LPS 8
  94. # define SSD1963_HPW 10
  95. # define SSD1963_VT 288
  96. # define SSD1963_VPS 12
  97. # define SSD1963_FPS 4
  98. # define SSD1963_VPW 10
  99. # define SSD1963_HS_NEG 0 /*Negative hsync*/
  100. # define SSD1963_VS_NEG 0 /*Negative vsync*/
  101. # define SSD1963_ORI 0 /*0, 90, 180, 270*/
  102. # define SSD1963_COLOR_DEPTH 16
  103. #endif
  104. /*----------------
  105. * R61581
  106. *--------------*/
  107. #ifndef USE_R61581
  108. # define USE_R61581 0
  109. #endif
  110. #if USE_R61581
  111. # define R61581_HOR_RES LV_HOR_RES
  112. # define R61581_VER_RES LV_VER_RES
  113. # define R61581_HSPL 0 /*HSYNC signal polarity*/
  114. # define R61581_HSL 10 /*HSYNC length (Not Implemented)*/
  115. # define R61581_HFP 10 /*Horitontal Front poarch (Not Implemented)*/
  116. # define R61581_HBP 10 /*Horitontal Back poarch (Not Implemented */
  117. # define R61581_VSPL 0 /*VSYNC signal polarity*/
  118. # define R61581_VSL 10 /*VSYNC length (Not Implemented)*/
  119. # define R61581_VFP 8 /*Vertical Front poarch*/
  120. # define R61581_VBP 8 /*Vertical Back poarch */
  121. # define R61581_DPL 0 /*DCLK signal polarity*/
  122. # define R61581_EPL 1 /*ENABLE signal polarity*/
  123. # define R61581_ORI 0 /*0, 180*/
  124. # define R61581_LV_COLOR_DEPTH 16 /*Fix 16 bit*/
  125. #endif
  126. /*------------------------------
  127. * ST7565 (Monochrome, low res.)
  128. *-----------------------------*/
  129. #ifndef USE_ST7565
  130. # define USE_ST7565 0
  131. #endif
  132. #if USE_ST7565
  133. /*No settings*/
  134. #endif /*USE_ST7565*/
  135. /*-----------------------------------------
  136. * Linux frame buffer device (/dev/fbx)
  137. *-----------------------------------------*/
  138. #ifndef USE_FBDEV
  139. # define USE_FBDEV 0
  140. #endif
  141. #if USE_FBDEV
  142. # define FBDEV_PATH "/dev/fb0"
  143. #endif
  144. /*********************
  145. * INPUT DEVICES
  146. *********************/
  147. /*--------------
  148. * XPT2046
  149. *--------------*/
  150. #ifndef USE_XPT2046
  151. # define USE_XPT2046 0
  152. #endif
  153. #if USE_XPT2046
  154. # define XPT2046_HOR_RES 480
  155. # define XPT2046_VER_RES 320
  156. # define XPT2046_X_MIN 200
  157. # define XPT2046_Y_MIN 200
  158. # define XPT2046_X_MAX 3800
  159. # define XPT2046_Y_MAX 3800
  160. # define XPT2046_AVG 4
  161. # define XPT2046_INV 0
  162. #endif
  163. /*-----------------
  164. * FT5406EE8
  165. *-----------------*/
  166. #ifndef USE_FT5406EE8
  167. # define USE_FT5406EE8 0
  168. #endif
  169. #if USE_FT5406EE8
  170. # define FT5406EE8_I2C_ADR 0x38 /*7 bit address*/
  171. #endif
  172. /*---------------
  173. * AD TOUCH
  174. *--------------*/
  175. #ifndef USE_AD_TOUCH
  176. # define USE_AD_TOUCH 0
  177. #endif
  178. #if USE_AD_TOUCH
  179. /*No settings*/
  180. #endif
  181. /*---------------------------------------
  182. * Mouse or touchpad on PC (using SDL)
  183. *-------------------------------------*/
  184. #ifndef USE_MOUSE
  185. # define USE_MOUSE 0
  186. #endif
  187. #if USE_MOUSE
  188. /*No settings*/
  189. #endif
  190. /*-------------------------------------------
  191. * Mousewheel as encoder on PC (using SDL)
  192. *------------------------------------------*/
  193. #ifndef USE_MOUSEWHEEL
  194. # define USE_MOUSEWHEEL 0
  195. #endif
  196. #if USE_MOUSEWHEEL
  197. /*No settings*/
  198. #endif
  199. /*-------------------------------------------------
  200. * Mouse or touchpad as evdev interface (for Linux based systems)
  201. *------------------------------------------------*/
  202. #ifndef USE_EVDEV
  203. # define USE_EVDEV 0
  204. #endif
  205. #if USE_EVDEV
  206. # define EVDEV_NAME "/dev/input/event0" /*You can use the "evtest" Linux tool to get the list of devices and test them*/
  207. # define EVDEV_SWAP_AXES 0 /*Swap the x and y axes of the touchscreen*/
  208. # define EVDEV_SCALE 0 /* Scale input, e.g. if touchscreen resolution does not match display resolution */
  209. # if EVDEV_SCALE
  210. # define EVDEV_SCALE_HOR_RES (4096) /* Horizontal resolution of touchscreen */
  211. # define EVDEV_SCALE_VER_RES (4096) /* Vertical resolution of touchscreen */
  212. # endif /*EVDEV_SCALE*/
  213. # define EVDEV_CALIBRATE 0 /*Scale and offset the touchscreen coordinates by using maximum and minimum values for each axis*/
  214. # if EVDEV_CALIBRATE
  215. # define EVDEV_HOR_MIN 3800 /*If EVDEV_XXX_MIN > EVDEV_XXX_MAX the XXX axis is automatically inverted*/
  216. # define EVDEV_HOR_MAX 200
  217. # define EVDEV_VER_MIN 200
  218. # define EVDEV_VER_MAX 3800
  219. # endif /*EVDEV_SCALE*/
  220. #endif /*USE_EVDEV*/
  221. /*-------------------------------
  222. * Keyboard of a PC (using SDL)
  223. *------------------------------*/
  224. #ifndef USE_KEYBOARD
  225. # define USE_KEYBOARD 0
  226. #endif
  227. #if USE_KEYBOARD
  228. /*No settings*/
  229. #endif
  230. #endif /*LV_DRV_CONF_H*/
  231. #endif /*End of "Content enable"*/