GxEPD2_selection_check.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. // Display Library example for SPI e-paper panels from Dalian Good Display and boards from Waveshare.
  2. // Requires HW SPI and Adafruit_GFX. Caution: the e-paper panels require 3.3V supply AND data lines!
  3. //
  4. // Display Library based on Demo Example from Good Display: http://www.e-paper-display.com/download_list/downloadcategoryid=34&isMode=false.html
  5. //
  6. // Author: Jean-Marc Zingg
  7. //
  8. // Version: see library.properties
  9. //
  10. // Library: https://github.com/ZinggJM/GxEPD2
  11. // Supporting Arduino Forum Topics:
  12. // Waveshare e-paper displays with SPI: http://forum.arduino.cc/index.php?topic=487007.0
  13. // Good Display ePaper for Arduino: https://forum.arduino.cc/index.php?topic=436411.0
  14. #define GxEPD2_102_IS_BW true
  15. #define GxEPD2_150_BN_IS_BW true
  16. #define GxEPD2_154_IS_BW true
  17. #define GxEPD2_154_D67_IS_BW true
  18. #define GxEPD2_154_T8_IS_BW true
  19. #define GxEPD2_154_M09_IS_BW true
  20. #define GxEPD2_154_M10_IS_BW true
  21. #define GxEPD2_154_GDEY0154D67_IS_BW true
  22. #define GxEPD2_213_IS_BW true
  23. #define GxEPD2_213_B72_IS_BW true
  24. #define GxEPD2_213_B73_IS_BW true
  25. #define GxEPD2_213_B74_IS_BW true
  26. #define GxEPD2_213_flex_IS_BW true
  27. #define GxEPD2_213_M21_IS_BW true
  28. #define GxEPD2_213_T5D_IS_BW true
  29. #define GxEPD2_213_BN_IS_BW true
  30. #define GxEPD2_213_GDEY0213B74_IS_BW true
  31. #define GxEPD2_260_IS_BW true
  32. #define GxEPD2_260_M01_IS_BW true
  33. #define GxEPD2_266_BN_IS_BW true
  34. #define GxEPD2_266_GDEY0266T90_IS_BW true
  35. #define GxEPD2_270_IS_BW true
  36. #define GxEPD2_270_GDEY027T91_IS_BW true
  37. #define GxEPD2_290_IS_BW true
  38. #define GxEPD2_290_T5_IS_BW true
  39. #define GxEPD2_290_T5D_IS_BW true
  40. #define GxEPD2_290_I6FD_IS_BW true
  41. #define GxEPD2_290_T94_IS_BW true
  42. #define GxEPD2_290_T94_V2_IS_BW true
  43. #define GxEPD2_290_BS_IS_BW true
  44. #define GxEPD2_290_M06_IS_BW true
  45. #define GxEPD2_290_GDEY029T94_IS_BW true
  46. #define GxEPD2_371_IS_BW true
  47. #define GxEPD2_370_TC1_IS_BW true
  48. #define GxEPD2_420_IS_BW true
  49. #define GxEPD2_420_M01_IS_BW true
  50. #define GxEPD2_420_GDEY042T81_IS_BW true
  51. #define GxEPD2_426_GDEQ0426T82_IS_BW true
  52. #define GxEPD2_583_IS_BW true
  53. #define GxEPD2_583_T8_IS_BW true
  54. #define GxEPD2_583_GDEQ0583T31_IS_BW true
  55. #define GxEPD2_750_IS_BW true
  56. #define GxEPD2_750_T7_IS_BW true
  57. #define GxEPD2_750_YT7_IS_BW true
  58. #define GxEPD2_1160_T91_IS_BW true
  59. #define GxEPD2_1248_IS_BW true
  60. #define GxEPD2_it60_IS_BW true
  61. #define GxEPD2_it60_1448x1072_IS_BW true
  62. #define GxEPD2_it78_1872x1404_IS_BW true
  63. #define GxEPD2_it103_1872x1404_IS_BW true
  64. // 3-color e-papers
  65. #define GxEPD2_154c_IS_3C true
  66. #define GxEPD2_154_Z90c_IS_3C true
  67. #define GxEPD2_213c_IS_3C true
  68. #define GxEPD2_213_Z19c_IS_3C true
  69. #define GxEPD2_213_Z98c_IS_3C true
  70. #define GxEPD2_266c_IS_3C true
  71. #define GxEPD2_270c_IS_3C true
  72. #define GxEPD2_290c_IS_3C true
  73. #define GxEPD2_290_Z13c_IS_3C true
  74. #define GxEPD2_290_C90c_IS_3C true
  75. #define GxEPD2_420c_IS_3C true
  76. #define GxEPD2_420c_Z21_IS_3C true
  77. #define GxEPD2_583c_IS_3C true
  78. #define GxEPD2_583c_Z83_IS_3C true
  79. #define GxEPD2_750c_IS_3C true
  80. #define GxEPD2_750c_Z08_IS_3C true
  81. #define GxEPD2_750c_Z90_IS_3C true
  82. #define GxEPD2_1248c_IS_3C true
  83. // 4-color e-paper
  84. #define GxEPD2_266c_GDEY0266F51H_IS_4C true
  85. #define GxEPD2_290c_GDEY029F51H_IS_4C true
  86. #define GxEPD2_300c_IS_4C true
  87. #define GxEPD2_420c_GDEY0420F51_IS_4C true
  88. #define GxEPD2_437c_IS_4C true
  89. // 7-color e-paper
  90. #define GxEPD2_565c_IS_7C true
  91. #define GxEPD2_730c_GDEY073D46_IS_7C true
  92. #if defined(GxEPD2_DISPLAY_CLASS) && defined(GxEPD2_DRIVER_CLASS)
  93. #define IS_GxEPD2_DRIVER(c, x) (c##x)
  94. #define IS_GxEPD2_DRIVER_BW(x) IS_GxEPD2_DRIVER(x, _IS_BW)
  95. #define IS_GxEPD2_DRIVER_3C(x) IS_GxEPD2_DRIVER(x, _IS_3C)
  96. #define IS_GxEPD2_DRIVER_4C(x) IS_GxEPD2_DRIVER(x, _IS_4C)
  97. #define IS_GxEPD2_DRIVER_7C(x) IS_GxEPD2_DRIVER(x, _IS_7C)
  98. #if IS_GxEPD2_BW(GxEPD2_DISPLAY_CLASS) && IS_GxEPD2_DRIVER_3C(GxEPD2_DRIVER_CLASS)
  99. #error "GxEPD2_BW used with 3-color driver class"
  100. #endif
  101. #if IS_GxEPD2_3C(GxEPD2_DISPLAY_CLASS) && IS_GxEPD2_DRIVER_BW(GxEPD2_DRIVER_CLASS)
  102. #error "GxEPD2_3C used with b/w driver class"
  103. #endif
  104. #if !IS_GxEPD2_DRIVER_BW(GxEPD2_DRIVER_CLASS) && !IS_GxEPD2_DRIVER_3C(GxEPD2_DRIVER_CLASS) && !IS_GxEPD2_DRIVER_4C(GxEPD2_DRIVER_CLASS) && !IS_GxEPD2_DRIVER_7C(GxEPD2_DRIVER_CLASS)
  105. #error "neither BW nor 3C nor 4C nor 7C kind defined for driver class (error in GxEPD2_selection_check.h)"
  106. #endif
  107. #endif