]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/jj40/jj40.c
[Keyboard] Refactor jj40 to current standards (#5574)
[qmk_firmware.git] / keyboards / jj40 / jj40.c
1 /*
2 Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com>
3 Modified 2018 Kenneth A. <github.com/krusli>
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19 #include "jj40.h"
20
21 #ifdef RGBLIGHT_ENABLE
22
23 #include <string.h>
24 #include "i2c_master.h"
25 #include "rgblight.h"
26
27 extern rgblight_config_t rgblight_config;
28
29 void matrix_init_kb(void) {
30   i2c_init();
31   // call user level keymaps, if any
32   matrix_init_user();
33 }
34 // custom RGB driver
35 void rgblight_set(void) {
36   if (!rgblight_config.enable) {
37     memset(led, 0, 3 * RGBLED_NUM);
38   }
39
40   i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
41 }
42
43 bool rgb_init = false;
44
45 void matrix_scan_kb(void) {
46   // if LEDs were previously on before poweroff, turn them back on
47   if (rgb_init == false && rgblight_config.enable) {
48     i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100);
49     rgb_init = true;
50   }
51
52   rgblight_task();
53   matrix_scan_user();
54 }
55
56 #endif