]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/gingham/gingham.c
[Keyboard] Gingham (#6212)
[qmk_firmware.git] / keyboards / gingham / gingham.c
1 /* Copyright 2019 Yiancar
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 #include "gingham.h"
17 #include "i2c_master.h"
18
19 uint8_t send_data;
20
21 void matrix_init_kb(void) {
22     // Due to the way the port expander is setup both LEDs are already outputs. This is set n matrix.copy
23     //Turn the red LED on as power indicator.
24     send_data = 0x10;
25     i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x09, &send_data, 1, 20);
26
27     matrix_init_user();
28 }
29
30 void led_set_kb(uint8_t usb_led) {
31     // Bit 3 is Green LED, bit 4 is Red LED.
32     if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
33         send_data = 0x18;
34     } else {
35         send_data = 0x10;
36     }
37     i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x09, &send_data, 1, 20);
38
39     led_set_user(usb_led);
40 }