rev1.c 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. #include "crkbd.h"
  2. #ifdef AUDIO_ENABLE
  3. float tone_startup[][2] = SONG(STARTUP_SOUND);
  4. float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
  5. #endif
  6. #ifdef RGB_MATRIX_ENABLE
  7. // Logical Layout
  8. // Columns
  9. // Left
  10. // 0 1 2 3 4 5
  11. // ROWS
  12. // 25 24 19 18 11 10 0
  13. // 03 02 01
  14. // 26 23 20 17 12 09 1
  15. // 04 05 06
  16. // 27 22 21 16 13 08 2
  17. //
  18. // 15 14 07 3
  19. //
  20. // Right
  21. // 0 1 2 3 4 5
  22. // ROWS
  23. // 25 24 19 18 11 10 4
  24. // 03 02 01
  25. // 26 23 20 17 12 09 5
  26. // 04 05 06
  27. // 27 22 21 16 13 08 6
  28. //
  29. // 15 14 07 7
  30. //
  31. // Physical Layout
  32. // Columns
  33. // 0 1 2 3 4 5 6 7 8 9 10 11 12 13
  34. // ROWS
  35. // 25 24 19 18 11 10 10 11 18 19 24 25 0
  36. // 03 02 01 01 02 03
  37. // 26 23 20 17 12 09 09 12 17 20 23 26 1
  38. // 04 04
  39. // 27 22 21 16 13 08 08 13 16 21 22 27 2
  40. // 05 06 06 05
  41. // 15 14 07 07 14 15 3
  42. #ifdef RGB_MATRIX_SPLIT_RIGHT
  43. led_config_t g_led_config = { {
  44. { 51, 50, 45, 44, 37, 36, NO_LED },
  45. { 52, 49, 46, 43, 38, 35, NO_LED },
  46. { 53, 48, 47, 42, 39, 34, NO_LED },
  47. { NO_LED, NO_LED, NO_LED, 41, 40, 33, NO_LED },
  48. { 24, 23, 18, 17, 10, 9, NO_LED },
  49. { 25, 22, 19, 16, 11, 8, NO_LED },
  50. { 26, 21, 20, 15, 12, 7, NO_LED },
  51. { NO_LED, NO_LED, NO_LED, 14, 13, 6, NO_LED }
  52. }, {
  53. { 139, 16 }, { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 },
  54. { 139, 39 }, { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 },
  55. { 164, 55 }, { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 },
  56. { 208, 42 }, { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }, { 85, 16 },
  57. { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 }, { 85, 39 },
  58. { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 }, { 60, 55 },
  59. { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 }, { 16, 42 },
  60. { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }
  61. }, {
  62. 2, 2, 2, 2, 2, 2, 1,
  63. 4, 4, 4, 4, 4, 4, 1,
  64. 1, 4, 4, 4, 4, 4, 4,
  65. 4, 4, 4, 1, 1, 1, 2,
  66. 2, 2, 2, 2, 2, 1, 4,
  67. 4, 4, 4, 4, 4, 1, 1,
  68. 4, 4, 4, 4, 4, 4, 4,
  69. 4, 4, 1, 1, 1
  70. } };
  71. #else
  72. led_config_t g_led_config = { {
  73. { 24, 23, 18, 17, 10, 9, NO_LED },
  74. { 25, 22, 19, 16, 11, 8, NO_LED },
  75. { 26, 21, 20, 15, 12, 7, NO_LED },
  76. { NO_LED, NO_LED, NO_LED, 14, 13, 6, NO_LED },
  77. { 51, 50, 45, 44, 37, 36, NO_LED },
  78. { 52, 49, 46, 43, 38, 35, NO_LED },
  79. { 53, 48, 47, 42, 39, 34, NO_LED },
  80. { NO_LED, NO_LED, NO_LED, 41, 40, 33, NO_LED }
  81. }, {
  82. { 85, 16 }, { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 },
  83. { 85, 39 }, { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 },
  84. { 60, 55 }, { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 },
  85. { 16, 42 }, { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }, { 139, 16 },
  86. { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 }, { 139, 39 },
  87. { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 }, { 164, 55 },
  88. { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 }, { 208, 42 },
  89. { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }
  90. }, {
  91. 2, 2, 2, 2, 2, 2, 1,
  92. 4, 4, 4, 4, 4, 4, 1,
  93. 1, 4, 4, 4, 4, 4, 4,
  94. 4, 4, 4, 1, 1, 1, 2,
  95. 2, 2, 2, 2, 2, 1, 4,
  96. 4, 4, 4, 4, 4, 1, 1,
  97. 4, 4, 4, 4, 4, 4, 4,
  98. 4, 4, 1, 1, 1
  99. } };
  100. #endif
  101. #endif
  102. void matrix_init_kb(void) {
  103. #ifdef AUDIO_ENABLE
  104. _delay_ms(20); // gets rid of tick
  105. PLAY_SONG(tone_startup);
  106. #endif
  107. matrix_init_user();
  108. };
  109. void shutdown_kb(void) {
  110. #ifdef AUDIO_ENABLE
  111. PLAY_SONG(tone_goodbye);
  112. _delay_ms(150);
  113. stop_all_notes();
  114. #endif
  115. }