aboutsummaryrefslogtreecommitdiff
path: root/keyboards/ymd75/ymd75.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ymd75/ymd75.c')
-rw-r--r--keyboards/ymd75/ymd75.c67
1 files changed, 9 insertions, 58 deletions
diff --git a/keyboards/ymd75/ymd75.c b/keyboards/ymd75/ymd75.c
index 2259dfa5f..74f7c6a49 100644
--- a/keyboards/ymd75/ymd75.c
+++ b/keyboards/ymd75/ymd75.c
@@ -16,23 +16,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#include "ymd75.h" 18#include "ymd75.h"
19//#include "rgblight.h"
20
21#include <avr/pgmspace.h>
22
23#include "action_layer.h"
24#include "i2c.h"
25#include "quantum.h"
26 19
27#include "backlight.h" 20#include "backlight.h"
28#include "backlight_custom.h" 21#include "backlight_custom.h"
29 22
30// for keyboard subdirectory level init functions 23void matrix_init_kb(void) { matrix_init_user(); }
31// @Override 24
32void matrix_init_kb(void) { 25__attribute__ ((weak))
33 // call user level keymaps, if any 26void matrix_init_user(void) {}
34 matrix_init_user(); 27
35} 28void matrix_scan_kb(void) { matrix_scan_user(); }
29
30__attribute__ ((weak))
31void matrix_scan_user(void) {}
36 32
37#ifdef BACKLIGHT_ENABLE 33#ifdef BACKLIGHT_ENABLE
38/// Overrides functions in `quantum.c` 34/// Overrides functions in `quantum.c`
@@ -48,48 +44,3 @@ void backlight_set(uint8_t level) {
48 b_led_set(level); 44 b_led_set(level);
49} 45}
50#endif 46#endif
51
52#ifdef RGBLIGHT_ENABLE
53extern rgblight_config_t rgblight_config;
54
55// custom RGB driver
56void rgblight_set(void) {
57 if (!rgblight_config.enable) {
58 for (uint8_t i=0; i<RGBLED_NUM; i++) {
59 led[i].r = 0;
60 led[i].g = 0;
61 led[i].b = 0;
62 }
63 }
64
65 i2c_init();
66 i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
67}
68
69bool rgb_init = false;
70
71void matrix_scan_kb(void) {
72 // if LEDs were previously on before poweroff, turn them back on
73 if (rgb_init == false && rgblight_config.enable) {
74 i2c_init();
75 i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
76 rgb_init = true;
77 }
78
79 rgblight_task();
80#else
81 void matrix_scan_kb(void) {
82#endif
83 matrix_scan_user();
84 /* Nothing else for now. */
85 }
86
87 __attribute__((weak)) // overridable
88 void matrix_init_user(void) {
89
90 }
91
92 __attribute__((weak)) // overridable
93 void matrix_scan_user(void) {
94
95 }