You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

141 lines
4.9 KiB

  1. // Copyright 2024 QMK
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. /*******************************************************************************
  4. 88888888888 888 d8b .d888 d8b 888 d8b
  5. 888 888 Y8P d88P" Y8P 888 Y8P
  6. 888 888 888 888
  7. 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
  8. 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
  9. 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
  10. 888 888 888 888 X88 888 888 888 Y8b. 888 X88
  11. 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
  12. 888 888
  13. 888 888
  14. 888 888
  15. .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
  16. d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
  17. 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
  18. Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
  19. "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
  20. 888
  21. Y8b d88P
  22. "Y88P"
  23. *******************************************************************************/
  24. #pragma once
  25. // clang-format off
  26. #define RGBLIGHT_EFFECT_BREATHE_TABLE
  27. // Breathing center: 1.85
  28. // Breathing max: 255
  29. const uint8_t PROGMEM rgblight_effect_breathe_table[] = {
  30. #if RGBLIGHT_BREATHE_TABLE_SIZE == 256
  31. 0x22, 0x23, 0x25, 0x26, 0x28, 0x29, 0x2A, 0x2C,
  32. 0x2D, 0x2F, 0x30, 0x32, 0x33, 0x35, 0x36, 0x38,
  33. 0x3A, 0x3B, 0x3D, 0x3E, 0x40, 0x42, 0x43, 0x45,
  34. 0x47, 0x49, 0x4A, 0x4C, 0x4E, 0x50, 0x51, 0x53,
  35. 0x55, 0x57, 0x59, 0x5A, 0x5C, 0x5E, 0x60, 0x62,
  36. 0x64, 0x66, 0x68, 0x69, 0x6B, 0x6D, 0x6F, 0x71,
  37. 0x73, 0x75, 0x77, 0x79, 0x7B, 0x7D, 0x7F, 0x81,
  38. 0x83, 0x85, 0x87, 0x89, 0x8A, 0x8C, 0x8E, 0x90,
  39. 0x92, 0x94, 0x96, 0x98, 0x9A, 0x9C, 0x9E, 0x9F,
  40. 0xA1, 0xA3, 0xA5, 0xA7, 0xA8, 0xAA, 0xAC, 0xAE,
  41. 0xAF, 0xB1, 0xB3, 0xB4, 0xB6, 0xB8, 0xB9, 0xBB,
  42. 0xBC, 0xBE, 0xBF, 0xC1, 0xC2, 0xC3, 0xC5, 0xC6,
  43. 0xC7, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xD0,
  44. 0xD1, 0xD2, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
  45. 0xD7, 0xD8, 0xD9, 0xD9, 0xDA, 0xDA, 0xDB, 0xDB,
  46. 0xDB, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDD, 0xDD,
  47. 0xDD, 0xDD, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDB,
  48. 0xDB, 0xDB, 0xDA, 0xDA, 0xD9, 0xD9, 0xD8, 0xD7,
  49. 0xD7, 0xD6, 0xD5, 0xD4, 0xD3, 0xD2, 0xD2, 0xD1,
  50. 0xD0, 0xCE, 0xCD, 0xCC, 0xCB, 0xCA, 0xC9, 0xC7,
  51. 0xC6, 0xC5, 0xC3, 0xC2, 0xC1, 0xBF, 0xBE, 0xBC,
  52. 0xBB, 0xB9, 0xB8, 0xB6, 0xB4, 0xB3, 0xB1, 0xAF,
  53. 0xAE, 0xAC, 0xAA, 0xA8, 0xA7, 0xA5, 0xA3, 0xA1,
  54. 0x9F, 0x9E, 0x9C, 0x9A, 0x98, 0x96, 0x94, 0x92,
  55. 0x90, 0x8E, 0x8C, 0x8A, 0x89, 0x87, 0x85, 0x83,
  56. 0x81, 0x7F, 0x7D, 0x7B, 0x79, 0x77, 0x75, 0x73,
  57. 0x71, 0x6F, 0x6D, 0x6B, 0x69, 0x68, 0x66, 0x64,
  58. 0x62, 0x60, 0x5E, 0x5C, 0x5A, 0x59, 0x57, 0x55,
  59. 0x53, 0x51, 0x50, 0x4E, 0x4C, 0x4A, 0x49, 0x47,
  60. 0x45, 0x43, 0x42, 0x40, 0x3E, 0x3D, 0x3B, 0x3A,
  61. 0x38, 0x36, 0x35, 0x33, 0x32, 0x30, 0x2F, 0x2D,
  62. 0x2C, 0x2A, 0x29, 0x28, 0x26, 0x25, 0x23, 0x22
  63. #endif
  64. #if RGBLIGHT_BREATHE_TABLE_SIZE == 128
  65. 0x22, 0x25, 0x28, 0x2A,
  66. 0x2D, 0x30, 0x33, 0x36,
  67. 0x3A, 0x3D, 0x40, 0x43,
  68. 0x47, 0x4A, 0x4E, 0x51,
  69. 0x55, 0x59, 0x5C, 0x60,
  70. 0x64, 0x68, 0x6B, 0x6F,
  71. 0x73, 0x77, 0x7B, 0x7F,
  72. 0x83, 0x87, 0x8A, 0x8E,
  73. 0x92, 0x96, 0x9A, 0x9E,
  74. 0xA1, 0xA5, 0xA8, 0xAC,
  75. 0xAF, 0xB3, 0xB6, 0xB9,
  76. 0xBC, 0xBF, 0xC2, 0xC5,
  77. 0xC7, 0xCA, 0xCC, 0xCE,
  78. 0xD1, 0xD2, 0xD4, 0xD6,
  79. 0xD7, 0xD9, 0xDA, 0xDB,
  80. 0xDB, 0xDC, 0xDC, 0xDD,
  81. 0xDD, 0xDC, 0xDC, 0xDC,
  82. 0xDB, 0xDA, 0xD9, 0xD8,
  83. 0xD7, 0xD5, 0xD3, 0xD2,
  84. 0xD0, 0xCD, 0xCB, 0xC9,
  85. 0xC6, 0xC3, 0xC1, 0xBE,
  86. 0xBB, 0xB8, 0xB4, 0xB1,
  87. 0xAE, 0xAA, 0xA7, 0xA3,
  88. 0x9F, 0x9C, 0x98, 0x94,
  89. 0x90, 0x8C, 0x89, 0x85,
  90. 0x81, 0x7D, 0x79, 0x75,
  91. 0x71, 0x6D, 0x69, 0x66,
  92. 0x62, 0x5E, 0x5A, 0x57,
  93. 0x53, 0x50, 0x4C, 0x49,
  94. 0x45, 0x42, 0x3E, 0x3B,
  95. 0x38, 0x35, 0x32, 0x2F,
  96. 0x2C, 0x29, 0x26, 0x23
  97. #endif
  98. #if RGBLIGHT_BREATHE_TABLE_SIZE == 64
  99. 0x22, 0x28,
  100. 0x2D, 0x33,
  101. 0x3A, 0x40,
  102. 0x47, 0x4E,
  103. 0x55, 0x5C,
  104. 0x64, 0x6B,
  105. 0x73, 0x7B,
  106. 0x83, 0x8A,
  107. 0x92, 0x9A,
  108. 0xA1, 0xA8,
  109. 0xAF, 0xB6,
  110. 0xBC, 0xC2,
  111. 0xC7, 0xCC,
  112. 0xD1, 0xD4,
  113. 0xD7, 0xDA,
  114. 0xDB, 0xDC,
  115. 0xDD, 0xDC,
  116. 0xDB, 0xD9,
  117. 0xD7, 0xD3,
  118. 0xD0, 0xCB,
  119. 0xC6, 0xC1,
  120. 0xBB, 0xB4,
  121. 0xAE, 0xA7,
  122. 0x9F, 0x98,
  123. 0x90, 0x89,
  124. 0x81, 0x79,
  125. 0x71, 0x69,
  126. 0x62, 0x5A,
  127. 0x53, 0x4C,
  128. 0x45, 0x3E,
  129. 0x38, 0x32,
  130. 0x2C, 0x26
  131. #endif
  132. };
  133. static const int table_scale = 256 / sizeof(rgblight_effect_breathe_table);