moonlander.h (1774B)
1 /* Copyright 2020 ZSA Technology Labs, Inc <@zsa> 2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com> 3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 20 21 #pragma once 22 23 #include "quantum.h" 24 25 extern bool mcp23018_leds[]; 26 27 #define MCP23018_DEFAULT_ADDRESS 0b0100000 28 29 #define ML_LED_1(status) gpio_write_pin(B5, (bool)status) 30 #define ML_LED_2(status) gpio_write_pin(B4, (bool)status) 31 #define ML_LED_3(status) gpio_write_pin(B3, (bool)status) 32 33 #define ML_LED_4(status) mcp23018_leds[0] = (bool)status 34 #define ML_LED_5(status) mcp23018_leds[1] = (bool)status 35 #define ML_LED_6(status) mcp23018_leds[2] = (bool)status 36 37 enum planck_ez_keycodes { 38 TOGGLE_LAYER_COLOR = QK_KB_0, 39 LED_LEVEL, 40 }; 41 42 #ifndef WEBUSB_ENABLE 43 # define WEBUSB_PAIR KC_NO 44 #endif 45 46 typedef union { 47 uint32_t raw; 48 struct { 49 bool disable_layer_led :1; 50 bool rgb_matrix_enable :1; 51 bool led_level :1; 52 uint8_t led_level_res :2; // DO NOT REMOVE 53 }; 54 } keyboard_config_t; 55 56 extern keyboard_config_t keyboard_config; 57 58 bool is_transport_connected(void);