rgblight_breathe_table.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
  2. *
  3. * This program is free software: you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License as published by
  5. * the Free Software Foundation, either version 2 of the License, or
  6. * (at your option) any later version.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #ifndef RGBLIGHT_EFFECT_BREATHE_TABLE
  17. #define RGBLIGHT_EFFECT_BREATHE_TABLE
  18. // clang-format off
  19. const uint8_t rgblight_effect_breathe_table[] PROGMEM = {
  20. /* #define RGBLIGHT_EFFECT_BREATHE_CENTER 0.00 */
  21. /* #define RGBLIGHT_EFFECT_BREATHE_MAX 255 */
  22. #if RGBLIGHT_BREATHE_TABLE_SIZE == 256
  23. 0x44, 0x45, 0x47, 0x48, 0x4a, 0x4b, 0x4c, 0x4e,
  24. 0x4f, 0x51, 0x52, 0x54, 0x55, 0x57, 0x58, 0x5a,
  25. 0x5c, 0x5d, 0x5f, 0x60, 0x62, 0x64, 0x65, 0x67,
  26. 0x69, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x73, 0x75,
  27. 0x77, 0x79, 0x7b, 0x7c, 0x7e, 0x80, 0x82, 0x84,
  28. 0x86, 0x88, 0x8a, 0x8b, 0x8d, 0x8f, 0x91, 0x93,
  29. 0x95, 0x97, 0x99, 0x9b, 0x9d, 0x9f, 0xa1, 0xa3,
  30. 0xa5, 0xa7, 0xa9, 0xaa, 0xac, 0xae, 0xb0, 0xb2,
  31. 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, 0xbf, 0xc1,
  32. 0xc3, 0xc5, 0xc7, 0xc9, 0xca, 0xcc, 0xce, 0xd0,
  33. 0xd1, 0xd3, 0xd5, 0xd6, 0xd8, 0xda, 0xdb, 0xdd,
  34. 0xde, 0xe0, 0xe1, 0xe3, 0xe4, 0xe5, 0xe7, 0xe8,
  35. 0xe9, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1,
  36. 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf8,
  37. 0xf9, 0xfa, 0xfa, 0xfb, 0xfc, 0xfc, 0xfc, 0xfd,
  38. 0xfd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
  39. 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfd,
  40. 0xfd, 0xfc, 0xfc, 0xfc, 0xfb, 0xfa, 0xfa, 0xf9,
  41. 0xf8, 0xf8, 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2,
  42. 0xf1, 0xf0, 0xef, 0xee, 0xed, 0xec, 0xeb, 0xe9,
  43. 0xe8, 0xe7, 0xe5, 0xe4, 0xe3, 0xe1, 0xe0, 0xde,
  44. 0xdd, 0xdb, 0xda, 0xd8, 0xd6, 0xd5, 0xd3, 0xd1,
  45. 0xd0, 0xce, 0xcc, 0xca, 0xc9, 0xc7, 0xc5, 0xc3,
  46. 0xc1, 0xbf, 0xbe, 0xbc, 0xba, 0xb8, 0xb6, 0xb4,
  47. 0xb2, 0xb0, 0xae, 0xac, 0xaa, 0xa9, 0xa7, 0xa5,
  48. 0xa3, 0xa1, 0x9f, 0x9d, 0x9b, 0x99, 0x97, 0x95,
  49. 0x93, 0x91, 0x8f, 0x8d, 0x8b, 0x8a, 0x88, 0x86,
  50. 0x84, 0x82, 0x80, 0x7e, 0x7c, 0x7b, 0x79, 0x77,
  51. 0x75, 0x73, 0x72, 0x70, 0x6e, 0x6c, 0x6a, 0x69,
  52. 0x67, 0x65, 0x64, 0x62, 0x60, 0x5f, 0x5d, 0x5c,
  53. 0x5a, 0x58, 0x57, 0x55, 0x54, 0x52, 0x51, 0x4f,
  54. 0x4e, 0x4c, 0x4b, 0x4a, 0x48, 0x47, 0x45, 0x44
  55. #endif /* 256 bytes table */
  56. #if RGBLIGHT_BREATHE_TABLE_SIZE == 128
  57. 0x44, 0x47, 0x4a, 0x4c,
  58. 0x4f, 0x52, 0x55, 0x58,
  59. 0x5c, 0x5f, 0x62, 0x65,
  60. 0x69, 0x6c, 0x70, 0x73,
  61. 0x77, 0x7b, 0x7e, 0x82,
  62. 0x86, 0x8a, 0x8d, 0x91,
  63. 0x95, 0x99, 0x9d, 0xa1,
  64. 0xa5, 0xa9, 0xac, 0xb0,
  65. 0xb4, 0xb8, 0xbc, 0xbf,
  66. 0xc3, 0xc7, 0xca, 0xce,
  67. 0xd1, 0xd5, 0xd8, 0xdb,
  68. 0xde, 0xe1, 0xe4, 0xe7,
  69. 0xe9, 0xec, 0xee, 0xf0,
  70. 0xf2, 0xf4, 0xf6, 0xf8,
  71. 0xf9, 0xfa, 0xfc, 0xfc,
  72. 0xfd, 0xfe, 0xfe, 0xfe,
  73. 0xfe, 0xfe, 0xfe, 0xfe,
  74. 0xfd, 0xfc, 0xfb, 0xfa,
  75. 0xf8, 0xf7, 0xf5, 0xf3,
  76. 0xf1, 0xef, 0xed, 0xeb,
  77. 0xe8, 0xe5, 0xe3, 0xe0,
  78. 0xdd, 0xda, 0xd6, 0xd3,
  79. 0xd0, 0xcc, 0xc9, 0xc5,
  80. 0xc1, 0xbe, 0xba, 0xb6,
  81. 0xb2, 0xae, 0xaa, 0xa7,
  82. 0xa3, 0x9f, 0x9b, 0x97,
  83. 0x93, 0x8f, 0x8b, 0x88,
  84. 0x84, 0x80, 0x7c, 0x79,
  85. 0x75, 0x72, 0x6e, 0x6a,
  86. 0x67, 0x64, 0x60, 0x5d,
  87. 0x5a, 0x57, 0x54, 0x51,
  88. 0x4e, 0x4b, 0x48, 0x45
  89. #endif /* 128 bytes table */
  90. #if RGBLIGHT_BREATHE_TABLE_SIZE == 64
  91. 0x44, 0x4a,
  92. 0x4f, 0x55,
  93. 0x5c, 0x62,
  94. 0x69, 0x70,
  95. 0x77, 0x7e,
  96. 0x86, 0x8d,
  97. 0x95, 0x9d,
  98. 0xa5, 0xac,
  99. 0xb4, 0xbc,
  100. 0xc3, 0xca,
  101. 0xd1, 0xd8,
  102. 0xde, 0xe4,
  103. 0xe9, 0xee,
  104. 0xf2, 0xf6,
  105. 0xf9, 0xfc,
  106. 0xfd, 0xfe,
  107. 0xfe, 0xfe,
  108. 0xfd, 0xfb,
  109. 0xf8, 0xf5,
  110. 0xf1, 0xed,
  111. 0xe8, 0xe3,
  112. 0xdd, 0xd6,
  113. 0xd0, 0xc9,
  114. 0xc1, 0xba,
  115. 0xb2, 0xaa,
  116. 0xa3, 0x9b,
  117. 0x93, 0x8b,
  118. 0x84, 0x7c,
  119. 0x75, 0x6e,
  120. 0x67, 0x60,
  121. 0x5a, 0x54,
  122. 0x4e, 0x48
  123. #endif /* 64 bytes table */
  124. };
  125. // clang-format on
  126. static const int table_scale = 256 / sizeof(rgblight_effect_breathe_table);
  127. #endif /* RGBLIGHT_EFFECT_BREATHE_TABLE */