qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

gingham.c (1311B)


      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 "quantum.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_write_register((PORT_EXPANDER_ADDRESS << 1), 0x09, &send_data, 1, 20);
     26 
     27     matrix_init_user();
     28 }
     29 
     30 bool led_update_kb(led_t led_state) {
     31     bool res = led_update_user(led_state);
     32     if(res) {
     33         send_data = led_state.caps_lock ? 0x18 : 0x10;
     34         i2c_write_register((PORT_EXPANDER_ADDRESS << 1), 0x09, &send_data, 1, 20);
     35     }
     36     return res;
     37 }