qmk_firmware

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

edda.c (1557B)


      1 /*
      2 Copyright 2021 Martin Arnstad
      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 This program is distributed in the hope that it will be useful,
      8 but WITHOUT ANY WARRANTY; without even the implied warranty of
      9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     10 GNU General Public License for more details.
     11 You should have received a copy of the GNU General Public License
     12 along with this program.  If not, see <http://www.gnu.org/licenses/>.
     13 */
     14 #include "quantum.h"
     15 
     16 void keyboard_pre_init_kb(void) {
     17   // Call the keyboard pre init code.
     18   keyboard_pre_init_user();
     19 
     20   // Set our LED pins as output
     21   gpio_set_pin_output(B2);
     22   gpio_set_pin_output(B1);
     23   gpio_set_pin_output(B0);
     24 }
     25 
     26 __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
     27     switch (get_highest_layer(state)) {
     28     case 1:
     29         gpio_write_pin(B2, 1);
     30         gpio_write_pin(B1, 0);
     31         gpio_write_pin(B0, 0);
     32         break;
     33     case 2:
     34         gpio_write_pin(B2, 1);
     35         gpio_write_pin(B1, 1);
     36         gpio_write_pin(B0, 0);
     37         break;
     38     case 3:
     39         gpio_write_pin(B2, 1);
     40         gpio_write_pin(B1, 1);
     41         gpio_write_pin(B0, 1);
     42         break;
     43     default: //  for any other layers, or the default layer
     44         gpio_write_pin(B2, 0);
     45         gpio_write_pin(B1, 0);
     46         gpio_write_pin(B0, 0);
     47         break;
     48     }
     49   return state;
     50 }