Added the extra data pin. Will add docs when it's actually doing something

This commit is contained in:
Kyle Brown 2018-12-11 00:27:24 -08:00
parent 5ef6a7a96a
commit 952f6b7022
3 changed files with 47 additions and 37 deletions

View File

@ -61,6 +61,7 @@ class Firmware:
hid_helper = USB_HID hid_helper = USB_HID
extra_data_pin = None
split_offsets = () split_offsets = ()
split_flip = False split_flip = False
split_side = None split_side = None

View File

@ -4,11 +4,9 @@ import busio
from kmk.consts import DiodeOrientation, LeaderMode, UnicodeMode from kmk.consts import DiodeOrientation, LeaderMode, UnicodeMode
from kmk.keycodes import KC from kmk.keycodes import KC
from kmk.keycodes import generate_leader_dictionary_seq as glds from kmk.keycodes import generate_leader_dictionary_seq as glds
from kmk.macros.simple import send_string
from kmk.macros.unicode import compile_unicode_string_sequences from kmk.macros.unicode import compile_unicode_string_sequences
from kmk.mcus.circuitpython_samd51 import Firmware from kmk.mcus.circuitpython_samd51 import Firmware
from kmk.pins import Pin as P from kmk.pins import Pin as P
from kmk.types import AttrDict
keyboard = Firmware() keyboard = Firmware()
@ -20,6 +18,7 @@ keyboard.split_type = "UART"
keyboard.split_flip = True keyboard.split_flip = True
keyboard.split_offsets = [6, 6, 6, 6] keyboard.split_offsets = [6, 6, 6, 6]
keyboard.uart_pin = board.SCL keyboard.uart_pin = board.SCL
keyboard.extra_data_pin = board.SDA
# ------------------User level config variables --------------------------------------- # ------------------User level config variables ---------------------------------------
keyboard.leader_mode = LeaderMode.TIMEOUT keyboard.leader_mode = LeaderMode.TIMEOUT

View File

@ -1,33 +1,32 @@
import board import board
import busio import busio
from kmk.consts import DiodeOrientation, LeaderMode, UnicodeMode from kmk.consts import DiodeOrientation, LeaderMode, UnicodeModes
from kmk.keycodes import KC from kmk.keycodes import KC
from kmk.keycodes import generate_leader_dictionary_seq as glds from kmk.keycodes import generate_leader_dictionary_seq as glds
from kmk.macros.simple import send_string from kmk.macros.simple import simple_key_sequence
from kmk.macros.unicode import compile_unicode_string_sequences from kmk.macros.unicode import compile_unicode_string_sequences
from kmk.mcus.circuitpython_samd51 import Firmware from kmk.mcus.circuitpython_samd51 import Firmware
from kmk.pins import Pin as P from kmk.pins import Pin as P
from kmk.types import AttrDict
keyboard = Firmware() keyboard = Firmware()
keyboard.col_pins = (P.RX, P.A1, P.A2, P.A3, P.A4, P.A5) keyboard.col_pins = (P.RX, P.A1, P.A2, P.A3, P.A4, P.A5)
keyboard.row_pins = (P.D13, P.D11, P.D10, P.D9, P.D5) keyboard.row_pins = (P.D13, P.D11, P.D10, P.D9, P.D7)
keyboard.diode_orientation = DiodeOrientation.COLUMNS keyboard.diode_orientation = DiodeOrientation.COLUMNS
keyboard.split_type = "UART" keyboard.split_type = "UART"
keyboard.split_flip = True keyboard.split_flip = True
keyboard.split_offsets = [6, 6, 6, 6, 6] keyboard.split_offsets = [6, 6, 6, 6, 6]
keyboard.uart_flip = True keyboard.uart_pin = board.SCL
keyboard.uart = keyboard.init_uart(tx=board.SDA, rx=board.SCL) keyboard.extra_data_pin = board.SDA
# ------------------User level config variables --------------------------------------- # ------------------User level config variables ---------------------------------------
keyboard.leader_mode = LeaderMode.TIMEOUT keyboard.leader_mode = LeaderMode.TIMEOUT
keyboard.unicode_mode = UnicodeMode.LINUX keyboard.unicode_mode = UnicodeModes.LINUX
keyboard.tap_time = 150 keyboard.tap_time = 150
keyboard.leader_timeout = 2000 keyboard.leader_timeout = 2000
keyboard.debug_enabled = True keyboard.debug_enabled = False
emoticons = compile_unicode_string_sequences({ emoticons = compile_unicode_string_sequences({
# Emoticons, but fancier # Emoticons, but fancier
@ -51,50 +50,61 @@ keyboard.leader_dictionary = {
glds('f'): emoticons.F, glds('f'): emoticons.F,
glds('meh'): emoticons.MEH, glds('meh'): emoticons.MEH,
glds('yay'): emoticons.YAY, glds('yay'): emoticons.YAY,
glds('gw'): simple_key_sequence([KC.DF(1)]),
} }
_______ = KC.TRNS
XXXXXXX = KC.NO
LT3_SP = KC.LT(3, KC.SPC) LT3_SP = KC.LT(3, KC.SPC)
SHFT_INS = KC.LSHIFT(KC.INS)
df = 0
gw = 1
r1 = 2
r2 = 3
r3 = 4
# ---------------------- Keymap --------------------------------------------------------- # ---------------------- Keymap ---------------------------------------------------------
keyboard.keymap = [ keyboard.keymap = [
[ [
# Default # df
[KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL],
[KC.GRV, KC.QUOTE, KC.COMMA, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP], [KC.GRV, KC.QUOTE, KC.COMMA, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP],
[KC.TAB, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT], [KC.TAB, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT],
[KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH], [KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH],
[KC.LCTRL, KC.LGUI, KC.LALT, KC.LEAD, KC.MO(2), LT3_SP, LT3_SP, KC.MO(4), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT], [KC.LCTRL, KC.LGUI, KC.LALT, KC.LEAD, KC.MO(r1), LT3_SP, LT3_SP, KC.MO(r1), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT],
], ],
[ [
# Gaming # gw
[KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL],
[KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP], [KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP],
[KC.ESC, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT], [KC.ESC, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT],
[KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH], [KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH],
[KC.LCTRL, KC.LGUI, KC.LALT, KC.F1, KC.F2, KC.SPC, KC.SPC, KC.MO(4), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT], [KC.LCTRL, KC.LGUI, KC.LALT, KC.F1, KC.F2, KC.SPC, KC.SPC, KC.MO(r3), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT],
], ],
[ [
# Raise1 # r1
[KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL],
[KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, KC.DEL], [KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, KC.DEL],
[KC.TRNS, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.LBRC, KC.RBRC, KC.BSLS], [_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.LBRC, KC.RBRC, KC.BSLS],
[KC.TRNS, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.INS, KC.PGDN, KC.PGUP, KC.MINS], [_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.INS, _______, _______, KC.MINS],
[KC.RESET, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.NO, KC.NO, KC.EQL, KC.HOME, KC.VOLD, KC.VOLU, KC.END], [KC.RESET, _______, _______, _______, _______, XXXXXXX, XXXXXXX, KC.EQL, KC.HOME, KC.PGDN, KC.PGUP, KC.END],
], ],
[ [
# Raise2 # r2
[KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL],
[KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.N7, KC.N8, KC.N9, KC.BKSP], [_______, _______, _______, _______, _______, _______, _______, _______, KC.N7, KC.N8, KC.N9, KC.BKSP],
[KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.N4, KC.N5, KC.N6, KC.VOLU], [_______, _______, _______, _______, _______, _______, _______, _______, KC.N4, KC.N5, KC.N6, XXXXXXX],
[KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.N1, KC.N2, KC.N3, KC.VOLD], [_______, _______, _______, _______, _______, _______, _______, _______, KC.N1, KC.N2, KC.N3, XXXXXXX],
[KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.N0, KC.N0, KC.PDOT, KC.ENT], [_______, _______, _______, _______, _______, _______, _______, _______, KC.N0, KC.N0, KC.PDOT, KC.ENT],
], ],
[ [
# Raise3 # r3
[KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.DEL], [KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.F10, KC.F11, KC.F12, KC.DEL],
[KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.F10, KC.F11, KC.F12, KC.LSHIFT(KC.INS)], [_______, _______, _______, _______, _______, _______, _______, _______, KC.F7, KC.F8, KC.F9, SHFT_INS]
[KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.F7, KC.F8, KC.F9, KC.NO], [_______, _______, _______, _______, _______, _______, _______, _______, KC.F4, KC.F5, KC.F6, KC.VOLU],
[KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.F4, KC.F5, KC.F6, KC.NO], [_______, _______, _______, _______, _______, _______, _______, _______, KC.F1, KC.F2, KC.F4, KC.VOLD],
[KC.DF(0), KC.DF(1), KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.F1, KC.F2, KC.F3, KC.NO], [KC.DF(df), KC.DF(gw), _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX],
], ],
] ]