diff options
author | MechMerlin <[email protected]> | 2019-07-26 21:49:29 -0700 |
---|---|---|
committer | Drashna Jaelre <[email protected]> | 2019-07-26 21:49:29 -0700 |
commit | 2367e3e1fd6e5b93fe998399befa26d4de6a93ab (patch) | |
tree | ce87bf4818bd697c55d6dad09458327111c249e3 /keyboards/tgr/jane/jane.c | |
parent | 0bd03150e5952978e0a7044dcfea1bb617c2390d (diff) | |
download | qmk_firmware-2367e3e1fd6e5b93fe998399befa26d4de6a93ab.tar.gz qmk_firmware-2367e3e1fd6e5b93fe998399befa26d4de6a93ab.zip |
[Keyboard] TGR Jane v2 (#6361)
* initial commit TGR Jane
* lighting support
* use the default keymap lifted from community layouts for LAYOUT_tkl_ansi
* add information regarding reset key, hardware supported, and hardware availability
* document that it supports v1.1 as well thanks to nickheller's confirmation
* update some verbage in the readme
* add QMK Configurator support
* establish switch matrix for three main layouts
* add community layout support
* readme fixes
* Update keyboards/tgr/jane/info.json
Co-Authored-By: noroadsleft <[email protected]>
* Update keyboards/tgr/jane/rules.mk
Co-Authored-By: Drashna Jaelre <[email protected]>
* Update keyboards/tgr/jane/config.h
Co-Authored-By: fauxpark <[email protected]>
Diffstat (limited to 'keyboards/tgr/jane/jane.c')
-rw-r--r-- | keyboards/tgr/jane/jane.c | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/keyboards/tgr/jane/jane.c b/keyboards/tgr/jane/jane.c new file mode 100644 index 0000000000..c17cb00848 --- /dev/null +++ b/keyboards/tgr/jane/jane.c @@ -0,0 +1,88 @@ +/* Copyright 2019 MechMerlin + * + * 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 "i2c_master.h" +#include "quantum.h" + +#ifdef RGBLIGHT_ENABLE +#include "rgblight.h" +extern rgblight_config_t rgblight_config; + +void rgblight_set(void) { + if (!rgblight_config.enable) { + for (uint8_t i = 0; i < RGBLED_NUM; i++) { + led[i].r = 0; + led[i].g = 0; + led[i].b = 0; + } + } + + i2c_init(); + i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100); +} +#endif + +void matrix_init_kb(void) { +#ifdef RGBLIGHT_ENABLE + if (rgblight_config.enable) { + i2c_init(); + i2c_transmit(0xb0, (uint8_t*)led, 3 * RGBLED_NUM, 100); + } +#endif + // call user level keymaps, if any + matrix_init_user(); +} + +void matrix_scan_kb(void) { +#ifdef RGBLIGHT_ENABLE + rgblight_task(); +#endif + matrix_scan_user(); + /* Nothing else for now. */ +} + +__attribute__ ((weak)) +void matrix_scan_user(void) { +} + +void backlight_init_ports(void) { + // initialize pins D0, D1, D4 and D6 as output + setPinOutput(D0); + setPinOutput(D1); + setPinOutput(D4); + setPinOutput(D6); + + // turn backlight LEDs on + writePinHigh(D0); + writePinHigh(D1); + writePinHigh(D4); + writePinHigh(D6); +} + +void backlight_set(uint8_t level) { + if (level == 0) { + // turn backlight LEDs off + writePinLow(D0); + writePinLow(D1); + writePinLow(D4); + writePinLow(D6); + } else { + // turn backlight LEDs on + writePinHigh(D0); + writePinHigh(D1); + writePinHigh(D4); + writePinHigh(D6); + } +}
\ No newline at end of file |