diff options
author | Richard Titmuss <richard.titmuss@gmail.com> | 2020-09-20 02:48:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-19 17:48:43 -0700 |
commit | e1437c1859b088c4da7ffb517f8034723172cd82 (patch) | |
tree | 9150a41bc34fea8937b2684138e826ead3f04fd2 /keyboards/torn/torn.c | |
parent | 741856dd57735dcd143987eb954ecc4a5ca2fc96 (diff) |
[Keyboard] Add Torn keyboard (#10207)
* Add Torn keyboard
* Apply suggestions from code review
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Remove via json file
* Add mcp23081_pin_t
* Apply suggestions from code review
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Apply suggestions from code review
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Richard Titmuss <richardt@spotify.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'keyboards/torn/torn.c')
-rw-r--r-- | keyboards/torn/torn.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/keyboards/torn/torn.c b/keyboards/torn/torn.c new file mode 100644 index 0000000000..ef5060e602 --- /dev/null +++ b/keyboards/torn/torn.c @@ -0,0 +1,50 @@ +/* + * Copyright 2020 Richard Titmuss <richard.titmuss@gmail.com> + * + * 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 "torn.h" +#include "i2c_master.h" +#include "mcp23018.h" + +static uint8_t led_state[3] = {1, 1, 1}; + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + i2c_init(); + + matrix_init_user(); +} + +void matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + if (mcp23018_reset_required()) { + msp23018_init(); + secondary_encoder_init(); + // torn_set_led(2, 1); + } + + matrix_scan_user(); + secondary_encoder_read(); +} + +void torn_set_led(uint8_t led, bool state) { + led_state[led] = !state; + + // toggle leds by setting the pin direction + uint8_t iodir = 0b11111000 | led_state[0] << 2 | led_state[1] << 1 | led_state[2]; + mcp23018_writeReg(IODIRB, &iodir, 1); +} |