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 }