diff options
author | jfescobar18 <81986725+jfescobar18@users.noreply.github.com> | 2021-08-19 12:39:30 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-19 10:39:30 -0700 |
commit | 425e1e665dc3c114fc42878f2b6a9d3225e5e6b5 (patch) | |
tree | 3cc7e9a58c86d3729c7d619a8e0a63d19f4bf462 /keyboards/dumbpad/dumbpad.c | |
parent | 3b4c35da6b476c8777c3b492179d30260ffbf895 (diff) | |
download | qmk_firmware-425e1e665dc3c114fc42878f2b6a9d3225e5e6b5.tar.gz qmk_firmware-425e1e665dc3c114fc42878f2b6a9d3225e5e6b5.zip |
[Keyboard] Dumbpad VIA support added (#13512)
Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'keyboards/dumbpad/dumbpad.c')
-rw-r--r-- | keyboards/dumbpad/dumbpad.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/keyboards/dumbpad/dumbpad.c b/keyboards/dumbpad/dumbpad.c new file mode 100644 index 0000000000..b575662a87 --- /dev/null +++ b/keyboards/dumbpad/dumbpad.c @@ -0,0 +1,59 @@ +/* Copyright 2019 Chip + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#include "dumbpad.h" + +void keyboard_pre_init_kb(void) { + // Set LED IO as outputs + setPinOutput(LED_00); + setPinOutput(LED_01); + keyboard_pre_init_user(); +} + +void shutdown_user() { + // Shutdown LEDs + writePinLow(LED_00); + writePinLow(LED_01); +} + +layer_state_t layer_state_set_kb(layer_state_t state) { + // Layer LEDs act as binary indication of current layer + uint8_t layer = get_highest_layer(state); + writePin(LED_00, layer & 0b1); + writePin(LED_01, (layer >> 1) & 0b1); + return layer_state_set_user(state); +} + +// Optional override functions below. +// You can leave any or all of these undefined. +// These are only required if you want to perform custom actions. + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + uint8_t led_delay_ms = 80; + for (int i = 0; i < 2; i++) { + writePinHigh(LED_00); + writePinHigh(LED_01); + wait_ms(led_delay_ms); + writePinLow(LED_00); + writePinLow(LED_01); + if (i < 1) { + wait_ms(led_delay_ms); + } + } + + matrix_init_user(); +} |